DIY: Kettle Etching

While it is possible to brew without the simplest of measurements, a key to repeatable recipes is measuring your ingredients. Your grain and hops may come pre-measured, but you still need to know how much water you’re using and how much wort is in your pot. I’ve gotten by for several years using a notched yardstick, and one of my kettles has a sight glass, but when I read an article about etching volume markers on a stainless steel kettle, I got excited—it sounded cheap and easy, I’d have one less piece of equipment to hassle with, and, it just looked cool.

In practice, it turned out to be more time consuming than I expected, and my results didn’t turn out as pretty as some of the examples I saw, but it was still a great learning experience, and I ended up with a functional solution.

Basic Idea

Electrolytic acid etching sounds fairly technical, but it’s just a matter of combining a DC power source, an acid medium to support the chemical process, and an applicator. In this case, the medium is a blend of vinegar and table salt, and the applicator is a cotton swab. The swab is attached to the negative lead of your power source and dipped into the vinegar solution. The positive lead is attached to the kettle, so touching the applicator to the metal completes a circuit and the electric current pulls metal ions from the steel. The resulting surface is roughened and reflects light differently from the smooth, unetched metal.

This process should work for both stainless steel and aluminum, but from what I’ve read, a significant number of people have had problems getting a lasting visible mark on aluminum. It’s a good idea to try it out on the bottom of your kettle first to make sure that it will work as expected.

For simplicity’s sake, the instructions below refer to gallons. However, if you use another unit of measure, you will want to tailor the units of measurement to your preference.

Equipment

  • DC power source (Some people have used a 9-volt battery, and others have tried similar sized DC adapters. I used a 12-volt car battery charger, which already had clips attached.)
  • ¼ cup (59 ml) white vinegar, with 1 Tbs salt dissolved in it
  • A supply of cotton swabs
  • Stencil materials (I used a combination of electrical tape and reusable vinyl stencils for the numbers.)
  • Levels
  • Large measuring cup or gallon jug
  • Latex gloves
  • Alcohol wipes
  • X-Acto knife
  • Bar Keepers Friend cleaner

Steps

There are three steps: stenciling out the volume marks and associated numbers, the etching process itself, and clean up.

Create the Stencil

You’ll need to locate where the volume marks belong and mark them out. One approach would be to use a grease pencil to make the marks, and then create the stencil once you’re done. I chose to use electrical tape that I could cut at the appropriate points. Here are the steps I followed:

Start with a clean, dry kettle. Clean the area you will be etching with alcohol wipes.

Apply two parallel strips of electrical tape about 1/4″ (6 mm) apart to the inside of the kettle—they will be placed vertically, as shown in the photo below.

kettle etch2

Place a few levels on the top of the kettle to make sure your water measurements will be precise (below).

kettle etch1

Add a measured gallon (or your unit of preference) of water and wait for the surface to settle.

Cut the right-sided strip of electrical tape at the level of the water.

Repeat the preceding two steps until you’ve made the full range of marks.

Empty and dry the kettle.

For each cut on the right-sided strip of electrical tape, make a second cut a little higher, and continue to work up the side of the pot.

Peel off the resulting thin bit of tape between the cuts. At this point, the stencil will reveal a design that looks something like one-half of a ladder.

Apply reusable number stencils immediately to the side of each ladder rung, as shown below.

kettle etch4

Etching Process

Before you continue, I think it’s important to keep in mind that you should take your time doing the etching. The longer you work each area of the stencil, the clearer the image will be.

Attach the negative lead to a cotton swab. If your lead is a loose wire, wrap it into the cotton puff, but leave the end of the swab clear. If you have an alligator clip, attach it to the cotton, below the top of the puff. You can see how I rigged mine in the photo below.

kettle etch3

Attach the positive lead to the kettle, relatively close the specific area that’s being etched (you can see how I worked in the photo below). A loose wire can be taped in place. If you have a clip, it can be attached to the edge of the pot. You can also just hold it in contact with the metal if you prefer.

kettle etch5

Dip the applicator into the vinegar solution.

Put the applicator in contact with the metal inside the bounds of the stencil. You should see some bubbling, and the liquid around the swab will turn yellow/brown.

kettle etch6

Touch the applicator to each section of the stencil, making sure it is in contact with the kettle for at least 30−60 seconds in each spot. Redip the swab often to keep it damp.

Replace the cotton swabs when they become worn down and badly discolored and reattach the negative lead each time.

Wipe away excess liquid as necessary.

Cleanup

Once the etching is done, remove the stencil completely, clean the inside of the kettle using Bar Keepers Friend, and rinse the inside of the kettle.

Takeaways

In the process of doing this, I learned a couple of things. The first is that reusable number stencils can be tricky. Interior elements of the stencil sometimes slipped, making the number less distinct. Also, I needed to be more patient during the etching process. I ended up with some areas that were lighter than I wanted. Still, my first attempt was successful, and I’m looking forward to my next brewing session to try out my kettle.

kettle etch7

source: beerandbrewing

also: “Etch Your Kettle – mark metal”

Posted in beer, Info | Tagged , , , | Leave a comment

ELAN Smart-Pad Edge Scroll in Windows 10

It seems to be missing settings and have no option for one-finger scroll after driver update for ELAN Smart-Pad version 11.15.0.14.

I found a working solution, and it even uses an updated driver!

  1. Open Internet Explorer (Sorry, doesn’t work on Edge or any other browser)
  2. Go to Microsoft’s update catalog
  3. If the screen you get is solid blue or missing the search bar, you might be missing a plugin. Refresh the page and there should be an option to install it.
  4. The page should now look like this. Search “Elan Input Device”.
  5. Press the “Last Update” column header. It should now be sorted by the most recent release.
  6. Click the titles on both of these (you may need to enable popups). Check inside the popup if the architecture is for AMD64 (64-bit) or x86 (32-bit). The reason I ignored the top two results is because they are exclusively for Toshiba pcs.
  7. Click “Add” ONLY if the driver is both compatible with your OS version (Windows 10) AND the correct architecture for your system (AMD64 = 64-bit Windows ; x86 = 32-bit Windows). If not, close the popup and keep selecting titles until you find a match.
  8. Near the top right of your screen, you should see “view basket (1)”. If you have a number, sucess, your driver has been added. Click on it.
  9. Press “Download” and curse Microsoft for their convoluted driver update system.
  10. Choose where you want the driver to download (I just chose the default Downloads folder).
  11. Locate the downloaded driver file (.cab). Extract it to another folder by using WinRAR, 7zip, or open a command prompt and use expand[2] .

WHAT? WAIT. HOW DO I INSTALL IT?

Manually.

  1. Open “Device Manager” (Right Click on Start Menu).
  2. Locate “Mice and other pointing devices” and expand it.
  3. Right click on “ELAN Input Device” and select “Update Driver”.
  4. Choose “Browse my computer for driver software.”
  5. Choose “Browse” and select the folder where you extracted the driver files.
  6. Choose next and cross your fingers. Restart your pc after installation for the changes to apply.
  7. Head back to device manager, right click “ELAN Input Device,” and select “properties.” It should now be version “15.6.2.1.”
  8. Navigate to: Settings > Devices > Mouse & Touchpad > Additional Mouse Options. See if there is an ELAN tab.
  9. Enable it if necessary. Then choose options.
  10. This window should appear. Choose “Edge Scroll”, enable Vertical and Horizontal scroll, and apply your changes.
  11. You should be all set, this solution worked for me and I hope it works for you too! (P.S.: I basically expanded upon this post and changed the instructions from the sound driver to the Elan driver, as well as going into more detail on some instructions.)

Source: ELAN Smart-Pad settings gone after Windows 10 update – Microsoft Community

Posted in Computer | Tagged , , , , , | Leave a comment

Deep dive CSS: font metrics, line-height and vertical-align – Vincent De Oliveira

An introduction to the inline formatting context. Explores line-height and vertical-align properties, as well as the font metrics. Understand how text is rendered on screen, and how to control it with CSS.

Source: Deep dive CSS: font metrics, line-height and vertical-align – Vincent De Oliveira

Posted in Dev | Tagged , | Leave a comment

15 useful utilities for windows 10

  1. Synergy (Share a mouse and keyboard across computers)
    Share a mouse and keyboard across computers
    If you have more than one machine on your desk, you know it’s a pain to have multiple keyboards and mice. Synergy is a virtual KVM that works across PCs, Macs, and Linux boxes. It’s $19, but worth it.
  2. Spacedesk (Turn your tablet into an external monitor)
    Turn your tablet into an external monitor
    It’s well known that more screen real estate increases productivity. Given we all have tablets lying around, why not use them as an extra screen for your laptop? That’s what Spacedesk is does for you, for free.
  3. Reaconverter (Automatically modify images in bulk)
    Automatically modify images in bulk
    If have any kind of bulk image converting tasks, Reaconverter is the tool to use. You can create simple scripts and droplets that will transform entire folders nearly instantly. There’s a free version.
  4. KeyTweak (Customize keyboard behavior at the nano-level)
    Customize keyboard behavior at the nano-level
    KeyTweak looks old because it’s been around for a long time. But it still works and it’s free. If you need to surgically alter your keyboard, this is the tool for you. Not for newbies.
  5. PC Decrapifier (Eliminate excess software)
    Eliminate excess software
    It’s hard to believe, but PCs still come loaded with crap. PC Decrapifier has been with us for years and is still a go-to tool to clean the crap from your machine. It’s a free download.
  6. MysticThumbs (Display image thumbnails instead of generic icons)
    Display image thumbnails instead of generic icons
    The Windows desktop and File Explorer show thumbnails for some file formats, but not all. If you want to see (and customize) thumbnails for many more formats, MysticThumbs is your friend. $30. Just one snag: it has a problem displaying thumbnails from shares.
  7. Revo Uninstaller Pro (Uninstall stubborn apps)
    Uninstall stubborn apps
    At almost $40, this isn’t cheap. But if you want to cleanly remove applications from your Windows install, Revo Uninstaller Pro can save you a lot of time, and even save you from having to do a fresh install… for a while.
  8. Mobile Net Switch is a tool (Switch to the right network)
    Switch to the right network
    For those who remember NetProfileSwitch, Mobile Net Switch is a tool that’s been updated for Windows 10. As you move from network to network, it adjusts your PC’s network configuration automatically. About $30.
  9. Speccy (Find out what’s in your computer)
    Find out what's in your computer
    If you’ve ever needed to know your machine’s configuration (say, to find the right drivers), Speccy is the go-to product. There’s a free version that should do for most needs.
  10. Recover Keys (Find keys for installed products)
    Find keys for installed products
    If you want to reinstall your system, it’s often necessary to re-register with the appropriate product key. If you can’t find your original order, the $30 Recover Keys can help.
  11. WinDirStat (Find what’s clogging your storage)
    Find what's clogging your storage
    Why is my drive suddenly full? Ever have that happen to you? With WinDirStat, you can see all your files at a glance and easily see the clusters of files that are taking up way too much space. Oh, yeah. It’s totally free.
  12. Quick Assist (Avoid driving 3 hours to fix Mom’s computer)
    Avoid driving 3 hours to fix Mom's computer
    Back in the day, there was Windows Remote Assistant. Today, Windows 10 supports Quick Assist, which will help you fix machines remotely. If both of you don’t run Windows 10, consider TeamViewer — there’s a free version.
  13. 7-zip (Uncompress pretty much everything)
    Uncompress pretty much everything
    So someone just sent you a file compressed with some odd format. Consider 7-Zip your go-to tool. It can uncompress 7z, XZ, BZIP2, GZIP, TAR, ZIP, WIM, AR, ARJ, CAB, CHM, CPIO, CramFS, DMG, EXT, FAT, GPT, HFS, IHEX, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, QCOW2, RAR, RPM, SquashFS, UDF, UEFI, VDI, VHD, VMDK, WIM, XAR and Z files.
  14. VLC (Play nearly every media format)
    Play nearly every media format
    Affectionately known as “the cone,” VLC will play nearly any media format you can think of (and many you can’t). Plus, it’s free. You can’t beat that!
Posted in Computer | Leave a comment

Beer — how it is made by corporations

Secrets Of Beer Exposed

Алекс Джонс: Из чего делают пиво?

foodbabe.com/beer

Posted in beer | Tagged , | Leave a comment

Transparent JPG (With SVG)

Let’s say you have a photographic image that really should be a JPG or WebP, for the best file size and quality. But what if I need transparency too? Don’t I need PNG for that? Won’t that make for either huge file sizes (PNG-24) or weird quality (PNG-8)? Let’s look at another way that ends up best-of-both-worlds.

The original photographic image.

The goal is to clip myself out of the image, removing the background. My technique for that is usually to use Photoshop and cut a clipping path manually with the Pen tool.

Now I can select the inverse of that clipping path to easily remove the background.

Attempting to save this as a 1200px wide image as PNG-24 out of Photoshop ends up as about a 1MB image!

1MB is huge 🙁

We could cut that by 75% using PNG-8, but then we 1) get that weird Giffy look (less photographic) and 2) have to pick a matte color for the edges because we aren’t getting nice alpha transparency here, just binary transparency.

Much better file size, but quality is weird.

Gosh what if we could just use JPG? The quality and file size is way better.

No transparency though.

But wait! Can’t we just clip this thing out? We have clip-path now. Well… yeah. We do have clip-path. It can’t take a path(), though, and what we’ve created for vector points in Photoshop is path data. It could take a polygon() though, if we made all the lines straight. That’s probably not ideal (I’m curvy!). Or we could make a <clipPath> element in some inline SVG and use clip-path: url(#id_of_clipPath);, which does support a <path> inside.

There is masking as well, which is another possibility.

Let’s look at a third possibility though: put everything into <svg>. That made some logical sense to me, so all this stays together and scales together.

The trick is to make two things:

  1. The JPG
  2. The clipping <path>

The JPG is easy enough. Output that right from Photoshop. Optimize.

Now we can set up the SVG. SVG is happy to take a raster graphic. SVG is known for vector graphics, but it’s a very flexible image format.

<svg>
  <image xlink:href="/images/chris.jpg" x="0" y="0">
<svg>

To get the path, we export the path we created with the Pen tool over to Illustrator.

Now we have the path over there, and it’s easy to export as SVG:

Now we have the path data we need:

Even with all those points, this was 1.5K unoptimzed and ungzipped. Not much overhead.

Let’s use that <path> within a <clipPath> in the SVG we’ve started. Then also apply that clip path to the <image>:

<svg viewBox="0 0 921.17 1409.71">
  <defs>
    <clipPath id="chris-clip">
      <path d=" ... " />
    </clipPath>
  </defs>
  <image xlink:href="/images/chris.jpg" clip-path="url(#chris-clip)" x="0" y="0">
<svg>

Tada!

A transparent JPG, essentially.

source: css-tricks

Posted in Dev, Technology | Tagged , , , , | Leave a comment

20 Awesome PHP Libraries For Early 2017

This week we have for you a collection of high-quality PHP libraries that have caught our eye in the last couple of months. We’ve tried our best to include projects that are active, well documented, and will have a realistic shot at finding a place in your developer’s workbelt.

If we’ve haven’t included your favorite new library, feel free to share it in the comments 🙂


Requests for PHP

A no-dependencies library that lets you send HTTP requests. It provides the needed methods for adding headers, accessing response data, handling forms, and everything else you may need, neatly packaged in a clean and easy to use API.

$headers = array('Accept' => 'application/json');
$options = array('auth' => array('user', 'pass'));
$request = Requests::get('https://api.github.com/gists', $headers, $options);

var_dump($request->status_code);
// int(200)

var_dump($request->headers['content-type']);
// string(31) "application/json; charset=utf-8"

var_dump($request->body);
// string(26891) "[...]"

Rinvex Country

Rinvex Country is a PHP package that lets developers retrieve detailed information about the countries of the world. Using the over 50 methods you can get the area of Angola, the currency of Cyprus, the native name of Namibia or even the FIFA name of Finland. There is a ton of info available and the data sources are pretty reliable.

$egypt = country('eg');

$egypt->getCapital();   // Cairo
$egypt->getDemonym();   // Egyptian
$egypt->getTld();       // .eg
$egypt->getContinent(); // Africa
$egypt->getSubregion(); // Northern Africa
$egypt->getBorders();   // ["ISR","LBY","SDN"]

Botman

A PHP library for developing messenger bots. Works with most of the popular messaging platforms including Facebook Messenger, Slack, Telegram, WeChat, and others. There is also a helpful boilerplate Laravel project available here.

// create an instance
$botman = BotManFactory::create($config);

// give the bot something to listen for.
$botman->hears('hello', function (BotMan $bot) {
    $bot->reply('Hello yourself.');
});

// start listening
$botman->listen();

If you are not familiar with the concept of messenger bots we suggest you check out our article Developer’s Introduction To Chatbots.


Charts

Laravel package for generating highly customizable charts out of datasets. The package works as a PHP wrapper for multiple built-in JavaScript chart libraries, allowing devs to create a wide variety of graphs, gauges and progressbars using only one tool.

$chart = Charts::create('line', 'highcharts')
    ->view('custom.line.chart.view') 
    ->title('My nice chart')
    ->labels(['First', 'Second', 'Third'])
    ->values([5,10,20])
    ->dimensions(1000,500)
    ->responsive(false);

Swap

Swap allows you to retrieve currency exchange rates from a number of services such as Fixer, Google, and Yahoo. Request responses can be easily cached and accessed later. The library is available in the form of a Laravel Package as well.

// Build Swap with Fixer.io
$swap = (new Builder())
    ->add('fixer')
    ->build();
    
// Get the latest EUR/USD rate
$rate = $swap->latest('EUR/USD');

// 1.129
$rate->getValue();

// Get the EUR/USD rate 15 days ago
$rate = $swap->historical('EUR/USD', (new \DateTime())->modify('-15 days'));

Math PHP

A collection of mathematical functions and algorithms ranging from simple algebra to finances, statistics, numerical analysis and others fields. The library is modular, has a straightforward API, and doesn’t require any external dependencies.

// Factors of an integer
$factors = Algebra::factors($n);

// Fibonacci sequence
$fib = Advanced::fibonacci($n);

// Combinations
$nCk  = Combinatorics::combinations($n, $k);

// Likelihood ratios
$LL = Experiment::likelihoodRatio($a, $b, $c, $d);

PHPUnit

PHPUnit is an advanced testing framework that enables teams to thoroughly test their code. Unit tests are written in standalone object-oriented classes with the help of many methods for handling assertions, dependencies, etc. A simple CLI is provided for running test and generating reports.

class StackTest extends TestCase
{
    public function testPushAndPop()
    {
        $stack = [];
        $this->assertEquals(0, count($stack));

        array_push($stack, 'foo');
        $this->assertEquals('foo', $stack[count($stack)-1]);
        $this->assertEquals(1, count($stack));

        $this->assertEquals('foo', array_pop($stack));
        $this->assertEquals(0, count($stack));
    }
}

Atoum

A less popular testing framework we also wanted to share. Atoum offers a one-step installation precess and a relatively simple workflow, while still maintaining a ton of great features. It has a mock engine, expressive assertions, and a CLI that can execute multiple tests in parallel.

$this->given($testedInstance = new testedClass())
    ->and($testedClass[] = $firstValue = uniqid())
    ->then
        ->sizeof($testedInstance)->isEqualTo(1)
        ->string($testedClass[0])->isEqualTo($firstValue);

Simple Regex Language

A PHP implementation of the Simple Regex Language – a verbose way of writing regular expressions. The library provides multiple methods that can be chained together, forming readable and easy to understand RegEx rules. The library has ports for JavaScript and Python as well.

$query = SRL::startsWith()
    ->anyOf(function (Builder $query) {
        $query->digit()
            ->letter()
            ->oneOf('._%+-');
    })->onceOrMore()
    ->literally('@')
    ->anyOf(function (Builder $query) {
        $query->digit()
            ->letter()
            ->oneOf('.-');
    })->onceOrMore()
    ->literally('.')
    ->letter()->atLeast(2)
    ->mustEnd()->caseInsensitive();

Stash

Stash makes it easy to speed up your code by caching the results of expensive functions or code. Certain actions, like database queries or calls to external APIs, take a lot of time to run but tend to have the same results over short periods of time. This makes it much more efficient to store the results and call them back up later.

$pool = $this->cachePool;

// Get a Stash object from the cache pool.
$item = $pool->getItem("/user/{$userId}/info");

// Get the data from it, if any happens to be there.
$userInfo = $item->get();

// Check to see if the cache missed, which could mean that it either
// didn't exist or was stale.
if($item->isMiss())
{
    // Run the relatively expensive code.
    $userInfo = loadUserInfoFromDatabase($userId);

    // Set the new value in $item.
    $item->set($userInfo);

    // Store the expensive code so the next time it doesn't miss.
    $pool->save($item)
}

PHP VCR

A port of the popular Ruby library for testing HTTP interactions. PHP VCR records HTTP requests and stores them in “cassettes” which can be replayed later on. A set of testing utilities are also provided, making it possible to inspect and compare recordings in detail.

// After turning on, the VCR will intercept all requests
\VCR\VCR::turnOn();

// Record requests and responses in cassette file 'example'
\VCR\VCR::insertCassette('example');

// Following request will be recorded once and replayed in future test runs
$result = file_get_contents('http://example.com');
$this->assertNotEmpty($result);

// To stop recording requests, eject the cassette
\VCR\VCR::eject();

// Turn off VCR to stop intercepting requests
\VCR\VCR::turnOff();

OAuth 2.0 Server

This library allows you to easily configure an OAuth 2.0 server and set up all the authentication levels needed to protect your API. It is fully standards compliant and supports all the grants defined by OAuth protocol. The Laravel Passport module is built on top of the OAuth 2.0 Server.

// Setup the authorization server
$server = new \League\OAuth2\Server\AuthorizationServer(
    $clientRepository,
    $accessTokenRepository,
    $scopeRepository,
    $privateKey,
    $publicKey
);

// Enable a grant on the server
$server->enableGrantType(
    new \League\OAuth2\Server\Grant\ClientCredentialsGrant(),
    new \DateInterval('PT1H') // access tokens will expire after 1 hour
);

Imagine

An image manipulation library that tries to bring together all low level PHP image processing libraries under the same object-oriented API. This allows Imagine to be used for a wide variety of tasks such as drawing, resizing, cropping, filters, effects, metadata editing, and others.

$palette = new Imagine\Image\Palette\RGB();

$image = $imagine->create(new Box(400, 300), $palette->color('#000'));

$image->draw()
    ->ellipse(new Point(200, 150), new Box(300, 225), $image->palette()->color('fff'));

$image->save('/path/to/ellipse.png');

MINI

Extremely simple and easy to understand skeleton PHP application, providing only the most essential features every project needs. It does not strive to be a do-it-all framework like Laravel, but due to it’s simplicity MINI can be used for getting smaller apps up and running in no time.

// Working with the model
$songs = $this->model->getAllSongs();
$amount_of_songs = $this->model->getAmountOfSongs();

// Loading views
require APP . 'views/_templates/header.php';
require APP . 'views/songs/index.php';
require APP . 'views/_templates/footer.php';

AWS SDK

The official PHP library for working with Amazon Web Services. The SDK makes it easy to connect AWS with any PHP project and access all the various available services. There is also a useful Laravel wrapper which can be found here.

// Instantiate an Amazon S3 client.
$s3 = new S3Client([
    'version' => 'latest',
    'region'  => 'us-west-2'
]);

$s3->putObject([
    'Bucket' => 'my-bucket',
    'Key'    => 'my-object',
    'Body'   => fopen('/path/to/file', 'r'),
    'ACL'    => 'public-read',
]);

Purl

Lightweight PHP library for working with URLs. With Purl you can compose complex paths attribute by attribute, extract data from URLs, manipulate queries, recognize URLs in strings, and much more.

$url = \Purl\Url::parse('http://jwage.com')
    ->set('scheme', 'https')
    ->set('port', '443')
    ->set('user', 'jwage')
    ->set('pass', 'password')
    ->set('path', 'about/me')
    ->set('query', 'param1=value1&param2=value2');

echo $url->getUrl(); // https://jwage:[email protected]:443/about/me?param1=value1&param2=value2
echo $url->publicSuffix; // com
echo $url->registerableDomain; // jwage.com

Daux.io

Documentation generator that uses a simple folder structure and Markdown files to create responsive documentation websites. Daux.io has automatic syntax highlighting, 4 theming options, Bootstrap HTML for easy customization, navigation with readable URLs, and many other goodies.

// Example configuration
{
    "title": "DAUX.IO",
    "tagline": "The Easiest Way To Document Your Project",
    "author": "Justin Walsh",
    "image": "app.png",
    "html": {
        "theme": "daux-blue",
        "breadcrumbs": true,
        "repo": "justinwalsh/daux.io",
        "edit_on_github": "justinwalsh/daux.io/blob/master/docs",
        "twitter": ["justin_walsh", "todaymade"],
        "google_analytics": "UA-12653604-10",
        "links": {
            "Download": "https://github.com/justinwalsh/daux.io/archive/master.zip",
            "GitHub Repo": "https://github.com/justinwalsh/daux.io",
            "Made by Todaymade": "http://todaymade.com"
        }
    }
}

Dompdf

Dompdf is a PDF generator that takes regular HTML markup and converts it to .pdf files. It understands most CSS rules, which can be fed in-line or via an external stylesheet.

// reference the Dompdf namespace
use Dompdf\Dompdf;

// instantiate and use the dompdf class
$dompdf = new Dompdf();
$dompdf->loadHtml('hello world');

// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'landscape');

// Render the HTML as PDF
$dompdf->render();

// Output the generated PDF to Browser
$dompdf->stream();

Instaphp

Non-official library for accessing the Instagram API. It provides developers with an easy way to authenticate their app and get access to various Instagram data endpoints including images, users, likes, comments, and tags.

$api = new Instaphp\Instaphp([
    'client_id' => 'your client id',
    'client_secret' => 'your client secret',
    'redirect_uri' => 'http://somehost.foo/callback.php',
    'scope' => 'comments+likes'
]);

$popular = $api->Media->Popular(['count' => 10]);

if (empty($popular->error)) {
    foreach ($popular->data as $item) {
        printf('<img src="%s">', $item['images']['low_resolution']['url']);
    }
}

Latitude

Zero-dependencies library for building SQL queries using chainable methods. It supports most query types and works well with MySQL, Postgres, SQL Server, and other databases. There are also built-in escaping helpers for protecting against SQL injection.

$select = SelectQuery::make(
        'id',
        'username'
    )
    ->from('users');

echo $select->sql();
// SELECT id, username FROM users

source: tutorialzine

Posted in Dev, Technology | Leave a comment

Домашний сыр

Домашний сыр.

Ингредиенты:

  • 1 литр молока
  • 1 ст.л.соли
  • 200-300 г. сметаны
  • 3 яйца

Приготовление:

  • Молоко ставим кипятить, посолив его.
  • В это время взбиваем сметану с яйцами.
  • Как молоко закипит, добавляете сметанную смесь и помешивая кипятите около 5 мин.
  • как только масса отделиться от сыворотки, откидываем эту массу на ситечко. (У меня сита металлического не было,использовала марлю).
  • Даем полностью стечь жидкости.
  • Через несколько часов можно есть!
Posted in Food and drink, Recipes | Tagged , , | Leave a comment

6 Home Coffee Roasting Methods Tested


There was a time in America when if you wanted coffee, you had to roast it yourself.

The now-ubiquitous brown coffee bean used to ship to general stores green, with housewives usually roasting at home with a frying pan or — if she was lucky — a crank-turned home roasting system. With the advent of high-volume roasting companies in the mid-1800s and ever-improving freshness-sealed packaging, consumers no longer have to worry about roasting (or grinding for that matter) their coffee before brewing it.

Recently, the micro-roasting movement has brought roasting back into the home. For many coffee-lovers, home roasting is a way to ensure the freshest coffee in a rural areas, in the vast suburban Starbucks Sahara, or even just as a cheaper alternative to pricey high-end coffee mail-order services.

We tested six different home roasting methods. First, I tried four commercial options: the Nesco Professional, a Fresh Roast SR500, the Behmor 1600, and a Hottop. I also tried two DIY methods: a cast iron pan on a gas stovetop, and Whirley Pop popcorn maker I modified to work as a coffee roaster — a popular hack I found on the web. I did two or three test roasts on each machine with some green beans I grabbed from the show floor at this year’s Specialty Coffee Association of America (SCAA) expo. Then, for the final run, I roasted some high-quality beans given to us by the fine folks at Sweet Maria’s, a Bay-area coffee supplier.

Read the reviews of each individual roaster by clicking through the product photos at the top of this page. We also took a look at Bonaverde’s much-ballyhooed new machine that roasts, grinds and brews your coffee all at once. We didn’t get the chance to test it alongside these other home roasters — the 3-in-1 machine is still an early prototype — but you can read Mat Honan’s impressions of the Bonaverde on Gadget Lab.

The ratings of each tested roaster are based on four factors: ease of use, evenness of roast, cleanliness — roasting produces both smoke and chaff, and each roaster manages them differently — and the taste of the brewed coffee it produces. To keep things consistent, we roasted the same coffee (washed-processed Guatemala Huehuetenango Xinabajul, in case you were wondering) on each of the different machines to about a city roast level, or just after first crack. The next day, we cupped the coffees according to SCAA standards at the tasting lab of San Francisco roasting company Four Barrel Coffee. The resulting tasting notes were given by a round table of coffee professionals, home roasting enthusiasts, and one coffee-loving WIRED editor.

These reviews are written for those with some knowledge of home roasting. So if you’re interested in getting into home roasting but you aren’t familiar with the process, start by reading Sweet Maria’s guide to the basics. That link will also get you up to speed on all the lingo.

Posted in Food and drink | Leave a comment

6 Common Homebrew Myths with Denny Conn

Common Homebrew Myths
It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness…

Although Charles Dickens was talking about the French Revolution when he wrote those words, you’d almost think that he was talking about the flow of homebrewing information today. We have unprecedented access to homebrewing information and ingredients, which is a wonderful thing. But at the same time, we almost have an overload of information, and as anyone who has ever tried to hit every booth at Homebrew Con Club Night can tell you, it’s possible to have too much of a good thing!

One of the problems with all of this information is that much of it isn’t applicable to what we do, is questionable, or is simply wrong. I’ve spent a lot of my brewing time over the last 19 years and 500+ batches trying to figure out what’s true, what isn’t, and most importantly, what matters to homebrewers.

Let’s start by looking at where myths come from. The most common source seems to be homebrewing literature, coupled with word of mouth. Someone will write something they’ve heard in a book. That makes it “fact,” and it gets repeated down the line. The repetition gives it even more credence: “Everybody knows that’s true! It was in a book!” It could be that the misinformation appears true because someone misunderstands an underlying principle and attributes a particular effect to the wrong cause. Or it could be because no one has ever tested the concept to determine its validity or applicability to homebrewers.

Some myths start with commercial brewers whose concerns are quite different than those of most homebrewers. Others simply come down to a difference of opinion. And then there are myths that are directly contradicted by common brewing practices, but for some reason, people don’t connect them.

Here’s my list of the top six myths and misunderstandings that are common in the homebrew world.

Sparge Temperature

Ever since I started brewing, it has been taken as fact that using sparge water over 170° F (77° C) will extract harsh tannins from the grain and cause astringency in your beer. You still hear this frequently on forums and in books. But it seems to overlook one little thing: the decoction mash.

Decoction mashing has been around for centuries and is still used by some homebrewers today, many of whom win awards for beers made using the technique. Decoction mashing is done by removing a portion of the mash and boiling it before returning it to the mash tun. The last time I checked, boiling is hotter than 170° F (77° C)!  So, why does this technique make award-winning beer instead of a harsh, astringent mess? Because of pH.

If the pH is low enough, any tannins you may extract will actually enhance flavor rather than cause harshness and astringency. The magic number seems to be a pH of 6.  If you keep your pH well below that, the temperature of your sparge water really won’t matter. For the last 15 years I’ve been using sparge water in the 185–190° F (85–88° C) range and have no issues with tannins from the grain whatsoever. That’s because with my water supply and batch sparge technique, the pH of my grain stays well below 6, even without treating the sparge water with acid to lower the pH. Whether that exact method works for you will depend on your own water, although batch sparging does limit pH rise in the sparge. In traditional continuous (fly) sparging, you continually dilute the pH buffering ability of the grain, so it’s likely you’ll need to treat your water to maintain proper pH. Even in batch sparging, if you have extreme water, you may need to do some adjustment. But once you do, you have a lot more leeway with sparge temperature.

homebrew sparge

Another common misconception is that sparging with hotter water dilutes the sugar in the grain more, making it less viscous so it flows more easily and increases efficiency. Unfortunately, physics doesn’t seem to work like that. There’s a thing called the “limit of solubility,” which determines how much sugar can be dissolved in a liquid at a given temperature. Sugar solubility is not an issue in the mash or sparge. There is no solid sugar to be dissolved during the sparge, since the sugar is all in solution when it is created. The solubility of maltose in water at mash temperatures is about 66.7 % by weight (Maltose dissolves in water at a 2:1 ratio by weight—1 lb. maltose in 2 lb. water, 2 kg maltose in 4 kg water, and so on; reference), which is equivalent to a specific gravity (SG) in excess of 1.300. So unless the SG of your wort is over 1.300, there is no advantage to using hotter water to dissolve the sugars. Kai Troster has done experiments showing that even using cool (60° F/16° C) water to sparge will not adversely affect efficiency or beer quality, as has Ray Found of Brulosphy.com. I have also tested this repeatedly with the same results.

Some people have noted an increase in extraction by using hot sparge water and attributed it to the sugars being more soluble. In all likelihood, what they’re seeing is the last little bit of starch conversion happening due to the increased temperature. So, while sparging with hotter water may increase your efficiency, it’s not due to increased solubility. It’s due to increased conversion efficiency.

But let’s get real here. Aside from the curiosity of demonstrating that hot sparge water doesn’t matter, or as an emergency technique when for some reason you can’t heat the water, there’s no real advantage to using cool sparge water. You have to heat the wort to a boil anyway, and hotter water will get you there more quickly.

Hot Side Aeration (HSA)

There, I said it. Three of the most controversial words in homebrewing! This seems to be one of those things that originated in the commercial brewing world and got passed on to homebrewers. Twenty years ago, the conventional wisdom was to carefully avoid aerating wort when it was above 85° F (29° C). The rap was that it would accelerate staling, which can cause wet cardboard, metallic and, strangely, caramel flavors in your beer. The only time oxygen was supposedly not harmful was when the wort was chilled and ready for yeast. So homebrewers were careful to the point of paranoia.

But a funny thing happened when almost no one actually noticed the effects of hot side aeration on their homebrew. Commercial brewers were, and still are, usually careful to avoid it, although there a couple of notable exceptions. But at the homebrew level it just didn’t seem to happen. Luminaries like Dr. Charlie Bamforth said that HSA was not a problem. Eventually he and Randy Mosher, among others, reached the conclusion that it could be a problem, but at the homebrew level it was unlikely to rear its head and there were far more important things to worry about. A Brulosophy Exbeeriment found no difference between beers that had minimal hot side oxygen exposure and ones that had been heavily aerated on purpose.

So, what’s the takeaway here? My point of view is that hot side aeration is easy enough to avoid that you should try to not do it. That can be as simple as not pouring hot wort or using a piece of tubing when you collect mash runoff in the kettle. We all know that oxygen is the enemy of beer, so why not try to avoid it anywhere you can? But at the same time, don’t freak out about it.

Olive Oil

A few years ago, a guy named Grady Hull who worked at New Belgium Brewing wrote a paper about the possibility of using olive oil, rather than conventional aeration, to stimulate yeast growth. In a nutshell, the theory is that yeast cells use O2 to synthesize ergosterols, which keep cell walls flexible and ease the budding process for yeast cell growth. The thinking with olive oil is that you “cut out the middleman.” You add the oil, which does the same thing to cell walls. Now, homebrewers being homebrewers, they jumped on this technique as an easy, inexpensive alternative to aerating wort. Unfortunately, they didn’t seem to pay attention to what Grady was really doing: using olive oil for yeast storage, not propagation in the fermenter. They also didn’t account for the infinitesimally small amount of olive oil needed. Most homebrewers who tried it reported things like “well, it didn’t hurt.” Neither does doing the Chicken Dance around your wort!

At Experimental Brewing, we decided to test the effectiveness of using olive oil in place of aeration. Four different brewers each split a batch of beer using olive oil “aeration” on one half and doing no aeration at all on the other half. The idea was to see the most dramatic difference possible. If olive oil “aeration” worked, we should see a marked difference between that and doing absolutely no aeration at all. The four brewers arranged blind triangle tastings with a total of 47 tasters. The results? Most tasters found no difference whatsoever in beer flavor. The brewers reported no differences in fermentation performance. The takeaway was that using olive oil for aeration was equivalent to doing no aeration at all. You can see the results for yourself at ExperimentalBrew.com.

Save your olive oil for salads!

Fly Sparging vs. Batch Sparging Efficiency

Batch Sparging VS Fly Sparging: Which is Best?

You will frequently hear people say that fly sparging yields better extraction efficiency than batch sparging. That’s true… in a perfect world! I don’t know about you, but I don’t live in a perfect world.

What I mean is that if you have a perfectly designed fly sparging system, and if you execute your process perfectly, theoretically you will achieve greater extraction by fly sparging. But those ifs are the problem. In reality, batch sparging will yield at least as high, if not higher, efficiency than fly sparging. When you batch sparge, variables like lauter tun design and sparge technique are removed from the process. In the real world, efficiency in excess of 80 to 85 percent is possible with batch sparging—pretty much the same as fly sparging. The decision of which to use should be based on your preferences and equipment choices, not efficiency concerns.

Fermentation Temperature

When you buy a package of yeast or look at a yeast company’s website, you see a list of recommended temperature ranges for each yeast strain. What a lot of homebrewers don’t realize is that those are only vague guidelines, not hard-and-fast rules! They often recommend temperatures higher than those that most homebrewers prefer. Yeast fermentation temperature can have a large impact on beer flavor, and in general, the warmer you ferment, the more impact it has. But that impact isn’t always desirable. As we all know, esters tend to increase at warmer temperatures. If you get too warm, the dreaded fusel alcohols can become a problem.

In general, most homebrewers prefer to at least begin fermentation at temperatures lower than the recommendations. Most esters and fusels are formed during the first 72 to 96 hours of fermentation. After that, you can safely raise the temperature to make the yeast more active and ensure complete fermentation.

Another myth floating around is to always start fermentation of Belgian styles at higher than normal temperatures. While some Belgian breweries do that, it is far more common for them to follow the fermentation schedule I described above, starting cool and finishing warmer.

My general recommendation would be to start your fermentation at, or a bit below, the lowest temperature recommended for the yeast. The exothermic reaction from fermentation will raise the temperature a bit, and after three or four days, you can safely let the fermentation temperature rise. If you find you’re not getting enough yeast character like that, just start a bit warmer the next time.

Along the same lines, the conventional wisdom is that lagers take a long time, sometimes months, at a low fermentation temperature. But there’s an old lager fermentation method, also used by commercial brewers, that has begun making itself known in the homebrew world. Using this method, you can have a lager in your glass in as little as two weeks after brewing it. Mike “Tasty” McDole was one of the first homebrewers to rediscover this method and begin talking about it. Since then, many of us have started using this method.

You can find more about it online or in the book Homebrew All-Stars (shameless plug), but the basic idea is to start your fermentation at 55° F (13° C). When the gravity drops 50 percent of the way to its expected terminal value, raise the temperature to 58° F (14° C). When it gets 75% of the way there, raise the temperature to 62° F (17° C). And then when it reaches 90%, raise to 66° F (19° C) and hold until the beer reaches your expected final gravity. You can have your delicious lager in two weeks rather than two months!

Liquid vs. Dry Yeast

This is another thing that has changed a lot over the last 20 years, but for some reason the old saw persists that liquid yeast is always better than dry yeast. The “always” in there should be a red flag! Years back, production techniques for dry yeasts were less sophisticated than they are today, and packets might have been lifeless or contaminated by the time homebrewers purchased and used them. These days, I’m happy to say things are much better, and there are some great dry yeasts out there. You can make your selection based on flavor, performance, and your preferred methods rather than simply whether the yeast is dry or liquid. A couple of my favorite lager yeasts are dry (Fermentis Saflager W-34/70 and S-189). Try a few dry strains and see what you think of them. I think you’ll be pleasantly surprised.

* * *

So, there you have it: my partial list of “homebrew myths.” There are certainly more, and you may have run across a few yourself. Post ‘em below in the comments, and let’s get rolling on Homebrew Mythbusters!

Source and Comments: AHBA

Posted in beer | Leave a comment