teleren/devto huggingface dataset:
Setting up Ruby development setup with rbenv
Tags: ruby
Published: 2019-07-26 10:05:21

---
title: Setting up Ruby development setup with rbenv
published: true
tags: ruby
canonical_url: https://prathamesh.tech/2014/07/28/setting-up-ruby-development-setup-with-rbenv/
---

I wanted to setup ruby source code on my machine. The [source](https://github.com/ruby/ruby) on Github has detailed instructions on how to do the setup.

<!--kg-card-begin: code-->
```
git clone github.com/ruby/ruby
cd ruby
autoconf
./configure
make
make install
```
<!--kg-card-end: code-->

worked correctly on Mac OS X and Ruby was installed in `usr/local/bin`.

I use rbenv for managing Ruby versions. After setting up the Ruby from source, i wanted to use it using rbenv. Why? It will make very easy to switch between dev version and normal version. `rbenv shell ruby-dev`, do something, make some changes, compile again, test again. `rbenv shell 2.1.2`, and back to normal.

But as the source Ruby was installed in `usr/local/bin`, rbenv was not able to find it.

I asked question on #ruby on IRC and Postmodern pointed me to [this](https://github.com/postmodern/chruby/wiki/Ruby).

It mentions passing `--prefix` option to the `./configure` command. We can pass the name of directory where we want to install Ruby to this option.

So we can run

<!--kg-card-begin: code-->
```
./configure --prefix=PATH_TO_INSTALL_RUBY
```
<!--kg-card-end: code-->

rbenv by default, installs all rubies in `~/.rbnev/versions`

And when we do `rbenv versions`, it looks for all rubies installed in this directory and lists them.

The content of my `~/.rbnev/versions` directory looked like these:

<!--kg-card-begin: code-->
```
prathamesh ~/.rbenv/versions 2.0.0
$ ls
2.0.0-p247 2.0.0-p353 2.0.0-p481 2.1.0 2.1.1 2.1.2 rbx-2.2.6

prathamesh ~/.rbenv/versions 2.0.0
```
<!--kg-card-end: code-->

Now if we give prefix path to configure command, the dev-ruby will be installed in ~/.rbenv/versions

<!--kg-card-begin: code-->
```
./configure --prefix="$HOME/.rbenv/versions/ruby-dev"
```
<!--kg-card-end: code-->

After `make` and `make install`, dev ruby was installed in`~/.rbnenv/versions` in ruby-dev directory.

Now `rbenv versions` output had ruby-dev also.

<!--kg-card-begin: code-->
```
prathamesh ~/.rbenv/versions 2.0.0
$ rbenv versions
* system (set by /Users/prathamesh/.rbenv/version)
  2.0.0-p247
  2.0.0-p353
  2.0.0-p481
  2.1.0
  2.1.1
  2.1.2
  rbx-2.2.6
  ruby-dev

prathamesh ~/.rbenv/versions 2.0.0
```
<!--kg-card-end: code-->

As `ruby-dev` is listed by `rbenv versions`, i can switch to it easily:

<!--kg-card-begin: code-->
```
rbenv shell ruby-dev
```
<!--kg-card-end: code-->
### Update

On Mac OS X Sierra, I had to also pass the flag for openssl directory while configuring.

<!--kg-card-begin: code-->
```
cd ruby
make clean
./configure --prefix="$HOME/.rbenv/versions/ruby-dev" --with-opt-dir="/usr/local/opt/openssl/"
make
make install
```
<!--kg-card-end: code-->

This sets up Ruby dev version on my machine and also allows me to switch back and forth using rbenv.
Shrinking the (LVM) log-partition on Linux
Tags: linux, lvm, lvresize, lsof
Published: 2019-08-08 12:53:18

---
title: Shrinking the (LVM) log-partition on Linux
published: true
tags: linux,lvm,lvresize,lsof
canonical_url: https://www.zufallsheld.de/2014/07/24/shrinking-the-lvm-log-partition-on-linux/
---

Enlarging an LVM partition on a linux machine is trivial. You only need one command to do it and it can even be done when the partition is mounted.

```
lvresize -r -L +20G /vg1/lvm1
```

This command enlarges the LVM _lvm1_ to 20GB. Assuming you use an ext, ReiserFS or [XFS](https://en.wikipedia.org/wiki/XFS) filesystem on the LVM-layer it gets enlarged, too (with the _-r_-switch.

But if you need to shrink an existing partition it can get ugly. It is possible to shrink the LVM on-line, but you cannot lessen the size of the filesystem while it is mounted.

![shrink_lvm](https://www.zufallsheld.de/images/shrink_lvm.png)

So recently I had to reconfigure the partitions on a linux host as there was no separate partition for _/tmp_ or _/opt_. I had the choice of shrinking the root-filesystem or the one where the logging-directory (_/var/log_) resides. To avoid unnecessary downtime and complicated resizing actions with a live-cd I choose to shrink the latter.

The problem that presents itself is that there are many programs that write into logfiles in this directory. Or so I thought…

Actually, most programs do not write directly into this directory, most use the [syslog](https://en.wikipedia.org/wiki/Syslog)-daemon to handle log-writing.

Now all you have to do is stop the syslog-daemon and other applications that do not use syslog but still write to _/var/log_. To find out which applications do that, you can use _lsof_:

```
lsof /var/log
```

This shows all the applications that currently write into the directory. Now all you have to do is stop these applications and syslog and resize the LVM with the command mentioned above. Then start syslog again and it’s done!
Yoで月曜をお知らせ
Tags: go, heroku, yo
Published: 2014-07-24 18:26:00

---
title: Yoで月曜をお知らせ
published: true
tags: Go, Heroku, yo
date: 20140724T18:26Z
canonical_url: https://qiita.com/shiena/items/4b2240e90a3621ec546e
---
# Yoで何かやってみたい

[Yo APIを試してみた](http://qiita.com/pomu0325/items/9990dc1b0dbafd72f3e6)を見て何か作れないかと考えた結果、月曜日をお知らせするbotを作ってみました。
`GETSUYO`にYoを送ると月曜のお知らせを受け取れます。

# GETSUYOのソース 

Goで作ってherokuにデプロイしたかったので[Getting Started with Go on Heroku](http://mmcgrana.github.io/2012/09/getting-started-with-go-on-heroku.html)の手順通りに進めます。
ただし、botはWebアプリではないのでProcfileのprocess typeを`clock`(`web`以外の任意の単語)にします。

```ruby:getsuyo/Procfile
clock: getsuyo
```

タイムゾーンは[herokuでタイムゾーン設定](http://qiita.com/haman29@github/items/773b522b92bbf806ab32)のようにコンソールから設定できますが、コードで設定してみました。
またSIGTERMでプロセス停止なのできちんと処理しています。

```go:getsuyo/main.go
package main

import (
	"fmt"
	"net/http"
	"net/url"
	"os"
	"os/signal"
	"syscall"
	"time"
)

const (
	api_key            = "ここにAPI_KEYを設定する"
	location           = "Asia/Tokyo"
	offsetLoc          = 9 * 60 * 60
	offsetDayOfWeekday = time.Monday
)

func init() {
	loc, err := time.LoadLocation(location)
	if err != nil {
		loc = time.FixedZone(location, offsetLoc)
	}
	time.Local = loc
}

func main() {
	fmt.Println("starting getsuyo")
	s := make(chan os.Signal)
	signal.Notify(s, syscall.SIGTERM)

end:
	for {
		select {
		case <-time.After(nextTickTime()):
			if time.Now().Weekday() == offsetDayOfWeekday {
				yoall()
			}
		case <-s:
			break end
		}
	}
	fmt.Println("stopping getsuyo")
}

func nextTickTime() time.Duration {
	now := time.Now()
	nextDay := time.Date(now.Year(), now.Month(), now.Day()+1, 0, 0, 0, 0, now.Location())
	return nextDay.Sub(now)
}

func yoall() {
	values := url.Values{}
	values.Add("api_token", api_key)
	_, err := http.PostForm("http://api.justyo.co/yoall/", values)
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Println("Send yoall")
	}
}
```

# まとめ

ここまでやっておいて何ですが、cronとcurlだけでほぼ同じ事ができるんですよね。
とは言え、標準ライブラリだけでこんなに簡単に作れるGoはすごいです。
Kali Linux 1.0.8 Release with EFI Boot Support
Published: 2023-08-21 21:17:32

---
title: Kali Linux 1.0.8 Release with EFI Boot Support
published: true
date: 2014-07-22 00:00:00 UTC
tags: 
canonical_url: https://www.kali.org/blog/kali-linux-1-0-8-release/
---

The long awaited Kali Linux USB EFI boot support feature has been added to our binary ISO builds, which has prompted this early Kali Linux 1.0.8 release. This new feature simplifies getting Kali installed and running on more recent hardware which requires EFI as well as various Apple Macbooks Air and Retina models. Besides the addition of EFI support, there is a whole array of [tool updates and fixes](https://bugs.kali.org/changelog_page.php) that have accumulated over the past couple of months.

As this new release focuses almost entirely on the EFI capable ISO image, OffSec won’t be releasing additional ARM or VMWare images with 1.0.8. As usual, you don’t need to re-download Kali if you’ve got it installed, and apt-get update && apt-get dist-upgrade should do the job.

##### Shameless Plug for Our Free Kali Dojo

[![](https://www.kali.org/blog/kali-linux-1-0-8-release/images/kali-home-large-slider-dojo-orange.png)](https://www.kali.org/blog/kali-linux-1-0-8-release/images/kali-home-large-slider-dojo-orange.png)

Finally, this release comes a couple of weeks before the 2014 Black Hat and Defcon security conferences in Las Vegas. If you’re attending these conferences, don’t forget to join our one day, free [Kali Linux Dojo workshop](](/docs/development/dojo-mastering-live-build/), where we will be teaching and demonstrating the awesome stuff you can do with the Kali Linux Distribution. It’s going to be intensive and hands on, so you’ll need to [bring some stuff with you](https://www.offsec.com/kali-linux/kali-linux-workshop/) if you attend. **We expect this to be one of our most engaging and interesting events ever!**

##### Kali Linux, a Penetration Testing Platform

While keeping an up-to-date toolset is most definitely an important part of any security distribution, much of our resources are also spent on building, testing and fixing [useful features](https://www.kali.org/docs/) for individuals in the Security and Forensics fields. Building on our ever-growing list of such features, we can now happily say that **the Kali image is a EFI Bootable ISO Hybrid image that supports Live USB Encrypted Persistence with LUKS Nuke support** , out of the box. Yippie!
RegEx match all words with a prefix
Tags: javascript, regex
Published: 2014-07-17 15:47:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: RegEx match all words with a prefix
slug: regex-match-all-words-with-a-prefix
date: 2014-07-17 15:47
tags: 
 - javascript
 - regex
---
Here is a snippet to match all words that begin with a specified prefix.

    /\bprefix\S+/g

JavaScript implementation:

    "test tbl_test1 tbl_test2 test".match(/\btbl_\S+/g)

Or

    /\btbl_\S+/g.exec("test tbl_test1 tbl_test2 test")

Which is the same as:

    var regex = /\btbl_\S+/g;
        matches = [],
        match;

    while (match = regex.exec(line)) {
        matches.push(match[0]);
    }

If you want a dynamic prefix, use RegExp:

    var regex = new RegExp('\\b' + prefix + '\\S+', 'g'),
        matches = [],
        match;

    while (match = regex.exec(line)) {
        matches.push(match[0]);
    }
IntelliJでHaskellプログラミング
Tags: haskell, intellij
Published: 2014-05-25 01:16:00

---
title: IntelliJでHaskellプログラミング
published: true
tags: Haskell, IntelliJ
date: 20140525T01:16Z
canonical_url: https://qiita.com/shiena/items/4ae0acea4f905fc74024
---
IntelliJに[Haskellプラグイン](http://plugins.jetbrains.com/plugin?pr=idea&pluginId=6330)はあるのですが残念ながらIDEA11までしかサポートされていないので最新のIntelliJでは動きません。
ですが最近、[開発サイト](http://code.google.com/p/ideah/)のソースにIDEA12とGHC7.4.2対応のコードが入ったので近々リリースされるかもしれません！
それまで待てないので勝手ビルドを作りました。

https://bitbucket.org/shiena/ideah

勝手ビルドはr283をベースに以下を変更しています。

- ビルドファイルの微修正
- Mac版はJava7でまともに動かないためJava6のAPIに修正

また動作確認した環境は次の通りです。

- Mac OS X 10.8.3
- Intellij IDEA 12.1.2
- Haskell Platform 2012.4.0.0

インストール方法と使い方は[開発サイトのWiki](http://code.google.com/p/ideah/wiki/InstallConfig)が参考になりました。

## 2013/12/12 追記

r289をベースにIDEA12用とIDEA13用をバイナリを追加しました。
IDEA13のMac版がJava7をサポートしたのでビルドもJava7です。
[Selecting the JDK version the IDE will run under](https://intellij-support.jetbrains.com/entries/23455956-Selecting-the-JDK-version-the-IDE-will-run-under)を参考にJava7で起動するように設定を変更してください。
また、GHC 7.6.3向けに変更されていますので、バージョンに気を付けてください。
Count occurrences with grep
Tags: grep, bash
Published: 2014-07-04 13:02:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Count occurrences with grep
slug: count-occurrences-with-grep
date: 2014-07-04 13:02
tags: 
 - grep
 - bash
---
Today I learnt that grep has a '-c' switch that counts occurrences. I'll never pipe it to 'wc -l' again!

    $ ps aux | grep -c adam
    93

But if we use wc, we would also need to trim it:

    $ ps aux | grep adam | wc -l
            94

So, use -c.
Fleetctl destroy all services
Tags: bash, fleet, coreos, fleetctl
Published: 2014-07-03 17:03:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Fleetctl destroy all services
slug: fleetctl-destroy-all-services
date: 2014-07-03 17:03
tags: 
 - bash
 - fleet
 - coreos
 - fleetctl
---
Here is a nice little bash trick to destroy all services using fleetctl.

    fleetctl list-units | sed 1d | while read -r line ; \
        do fleetctl destroy $(echo $line | cut -f1 -d ' '); done

It gets a list of units, removes the first line, loops through, grabs the first word, and and destroys it.

    $ fleetctl list-units | sed 1d | while read -r line ; \
        do fleetctl destroy $(echo $line | cut -f1 -d ' '); done
    Destroyed Job august-frosting_v4.web.1-announce.service
    Destroyed Job august-frosting_v4.web.1-log.service
    Destroyed Job august-frosting_v4.web.1.service
    Destroyed Job august-frosting_v4.web.2-announce.service
    Destroyed Job august-frosting_v4.web.2-log.service
    Destroyed Job august-frosting_v4.web.2.service
    Destroyed Job quaint-teamwork_v5.cmd.1-announce.service
    Destroyed Job quaint-teamwork_v5.cmd.1-log.service
    Destroyed Job quaint-teamwork_v5.cmd.1.service
    Destroyed Job quaint-teamwork_v5.cmd.2-announce.service
    Destroyed Job quaint-teamwork_v5.cmd.2-log.service
    Destroyed Job quaint-teamwork_v5.cmd.2.service

Now imagine typing each of those by hand.
Detect if JS is running under Node
Tags: node, snippet, javascript
Published: 2014-07-02 10:26:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Detect if JS is running under Node
slug: detect-if-js-is-running-under-node
date: 2014-07-02 10:26
tags: 
 - node.js
 - snippet
 - javascript
---
Here is a snippet for how to detect if JavaScript is running under Node:

    var isNode = typeof process !== "undefined" && 
        {}.toString.call(process) === "[object process]";

We check here whether the variable `process` is defined, and if it is, we check it's type to make sure it's the proper process object and not just a regular old JavaScript object.
Scale a Dockerfile app in Deis
Tags: deis, procfile, dockerfile
Published: 2014-07-01 17:49:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Scale a Dockerfile app in Deis
slug: scale-a-dockerfile-app-in-deis
date: 2014-07-01 17:49
tags: 
 - deis
 - procfile
 - dockerfile
---
Deis allows you to run apps in two different ways: using a Procfile, and using a Dockerfile. When using a Procfile, you define what type of processes you'll be running, such as:

    web: node index.js

To scale this, say to 2 instances, it's as simple as:

    $ deis ps:scale web=2

This doesn't work when using the Dockerfile approach however. For that, we can see from ps:list that the instance type is actually cmd.

    $ deis ps:list
    --- cmd:
    cmd.1 up (v2)

If we were using a Procfile, this would say web.1 up (v2) etc. So to scale the Dockerfile, we need to use cmd rather than web.

    $ deis ps:scale cmd=2

And then, once it's got coffee, it'll scale your apps.
RDP via OpenSSH
Tags: ssh, rdp
Published: 2014-06-27 11:15:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: RDP via OpenSSH
slug: rdp-via-openssh
date: 2014-06-27 11:15
tags: 
 - ssh
 - rdp
---
I wrote about [connecting to RDP over SSH](http://adamkdean.co.uk/blog/read/105/rdp-via-ssh-putty), but that relied upon PuTTY. As I'm now using OSX, I have access to OpenSSH. This makes things easier.

    ssh -L <localport>:<remotehost>:<remoteport> <sshserver>

For example:

    ssh -L 8001:192.168.0.1:3389 adamkdean.co.uk

Now you can connect to local port 8001 with RDP.
Install Docker on OSX
Tags: vagrant, docker, homebrew, boot2docker
Published: 2014-06-23 15:44:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Install Docker on OSX
slug: install-docker-on-osx
date: 2014-06-23 15:44
tags: 
 - vagrant
 - docker
 - homebrew
 - boot2docker
---
To install Docker on OSX, you're going to need to install a few prerequisites.

1. [Install Homebrew](http://adamkdean.co.uk/blog/read/138/install-homebrew-on-osx).
2. [Install VirtualBox](http://adamkdean.co.uk/blog/read/139/install-virtualbox-on-osx).
3. [Install Vagrant](http://adamkdean.co.uk/blog/read/140/install-vagrant-on-osx).

Now we can finally install Docker. We also need to install boot2docker.

    brew install docker
    brew install boot2docker
    boot2docker init
    boot2docker up
    export DOCKER_HOST=tcp://localhost:2375

And test it:

    docker version

Bear in mind that if boot2docker has a different port than 2375, use the correct one, and don't put a trailing slash either.
Install Vagrant on OSX
Tags: homebrew, osx, vagrant
Published: 2014-06-23 15:39:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Install Vagrant on OSX
slug: install-vagrant-on-osx
date: 2014-06-23 15:39
tags: 
 - homebrew
 - osx
 - vagrant
---
We're going to install `Vagrant` on OSX using [Homebrew](http://brew.sh/).

If you don't already have it, [install Homebrew on OSX](http://adamkdean.co.uk/blog/read/138/install-homebrew-on-osx). 

Once you have it installed, install Vagrant like so:

    brew install caskroom/cash/brew-cask
    brew cask install vagrant

Simples.
パナソニック　プライベート・ビエラ UN-JL10T3 レビュー　第4回 Web機能・無線LAN中継器紹介とまとめ編
Tags: review
Published: 2018-05-16 20:30:34

---
title: パナソニック　プライベート・ビエラ UN-JL10T3 レビュー　第4回 Web機能・無線LAN中継器紹介とまとめ編
published: true
tags: review
canonical_url: http://connect.coron.tech/archives/51852225.html
---

[![IMG_1540](http://livedoor.blogimg.jp/cv_k/imgs/0/4/04535458-s.jpg)](http://livedoor.blogimg.jp/cv_k/imgs/0/4/04535458.jpg "IMG\_1540")  

プライベート・ビエラの良い所、改善してほしい所
  
ついに最終回、Webブラウザ機能とオプションながら付属していた無線LAN中継器の紹介、そして全体的な感想です。プライベート・ビエラは管理人にとってどういった印象の商品であったのかをできるかぎり思った通り詳しく書いておりますので是非お読みください。  
  
続きは以下からどうぞ。  
[続きを読む](http://connect.coron.tech/archives/51852225.html) ![](http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=2732114&name=cv_k&pid=51852225)
Install VirtualBox on OSX
Tags: osx, homebrew, virtualbox
Published: 2014-06-23 15:28:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Install VirtualBox on OSX
slug: install-virtualbox-on-osx
date: 2014-06-23 15:28
tags: 
 - osx
 - homebrew
 - virtualbox
---
We're going to install `VirtualBox` on OSX using [Homebrew](http://brew.sh/).

If you don't already have it, [install Homebrew on OSX](http://adamkdean.co.uk/blog/read/138/install-homebrew-on-osx). 

Once you have it installed, install VirtualBox like so:

    brew install caskroom/cash/brew-cask
    brew cask install virtualbox

Easy peasy.
Install Homebrew on OSX
Tags: homebrew, osx
Published: 2014-06-23 15:22:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Install Homebrew on OSX
slug: install-homebrew-on-osx
date: 2014-06-23 15:22
tags: 
 - homebrew
 - osx
---
To install Homebrew on OSX, simply run this command in your terminal:

    ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

Now test it works: 

    brew --version

Before using it to install anything, be sure to quickly run:
    
    brew doctor

For more information on Homebrew, visit the [Homebrew wiki](https://github.com/Homebrew/homebrew/wiki).
Install awscli on OSX
Tags: osx, awscli, ec2, aws
Published: 2014-06-23 15:20:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Install awscli on OSX
slug: install-awscli-on-osx
date: 2014-06-23 15:20
tags: 
 - osx
 - awscli
 - ec2
 - aws
---
Installing `awscli` on OSX is easy. If you don't already have it, install pip (python's package manager).

Now, to install `awscli`, do this:

    pip install awscli

Then configure it using:

    aws configure

Now test it with:

    aws ec2 describe-regions
Install fleetctl on OSX
Tags: osx, fleetctl
Published: 2014-06-23 15:17:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: Install fleetctl on OSX
slug: install-fleetctl-on-osx
date: 2014-06-23 15:17
tags:
 - osx
 - fleetctl
---
The easiest way to install `fleetctl` on OSX is to use [Homebrew](http://brew.sh/).

If you don't already have it, [install Homebrew on OSX](http://adamkdean.co.uk/blog/read/138/install-homebrew-on-osx).

Once you have it installed, install fleetctl like so:

    brew install fleetctl

That simple.
rsync could not be found on your PATH
Tags: rsync, cygwin, mingw, vagrant
Published: 2014-06-18 16:44:00

---
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y9hxcwi5y92j6zfcxbjx.jpg
title: rsync could not be found on your PATH
slug: rsync-could-not-be-found-on-your-path
date: 2014-06-18 16:44
tags: 
 - rsync
 - cygwin
 - mingw
 - vagrant
---
If you're trying to use Vagrant with Windows, and you've opted to use MinGW rather than Cygwin, you might have come across this error message when spinning up Vagrant instances:

> rsync could not be found on your PATH. 
> Make sure that rsync is properly installed on your system and available on the PATH.

This is easy to fix, when you know how.

First, install Cygwin. If you pick the x64 version, it will install by default to `c:\cygwin64\`. When you're installing it, and you get to select the components you wish to install, search for `rsync`, go to `net`, and click the label that says `auto` until it gives you a version number, such as `3.0.0` etc. Then continue with the installation of Cygwin.

Next, once this is done, in order to use MinGW rather than switching to Cygwin, we need to add the bin directory to our PATH. Navigate to the Cygwin folder, and then to the bin folder. Verify the path. For me it is `c:\cygwin64\bin`.

1. Right-click on your "My Computer" icon and select "Properties".
2. Click on the "Advanced" tab, then on the "Environment Variables" button.
3. You should be presented with a dialog box with two text boxes. The top box shows your user settings. The bottom box shows your system settings. While you may be told not to touch your system settings, I'm going to recommend you do. I tried user settings and it didn't work. If you do this and you break it, I'm not to blame. There is my disclaimer. Don't be an idiot.
4. Click on the PATH entry in the BOTTOM box, then click on the "Edit" button
5. Scroll to the end of the string and at the end add the path to the bin folder you previously found. Be sure to add a semi-colon first. It could look like this:

`c:\windows;c:\windows\system32` and you change that to `c:\windows;c:\windows\system32;c:\cygwin64\bin` etc.

Now, if you go to your MinGW terminal, and `echo $PATH`, you should have the new path in there. If not, try restarting the MinGW terminal. You can properly test it works by typing `rsync --version`:

    $ rsync --version
    rsync  version 3.1.0  protocol version 31
    Copyright (C) 1996-2013 by Andrew Tridgell, Wayne Davison, and others.
    Web site: http://rsync.samba.org/
    Capabilities:
        64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
        no socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
        append, ACLs, no xattrs, iconv, symtimes, prealloc
    
    rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
    are welcome to redistribute it under certain conditions.  See the GNU
    General Public Licence for details.

Now try `vagrant up` again. Job done?