tag:blogger.com,1999:blog-121855232024-03-13T06:37:25.687-07:00vox populi vox deiPersonally I’ve always appreciated the emphasis on Populi versus Dei especially considering tumultuous, fractious and socialist history of Europe. But what it expresses best is the materialistic notion that perfection, i.e. God, is possible from the voice of the people and that truth resides in each and everyone of us. So this is my food for thoughts blog article about software technology. If you found article on this blog useful, click on any ad so that I can have a drink on you.Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.comBlogger331125tag:blogger.com,1999:blog-12185523.post-14620534763650376592020-09-21T15:12:00.001-07:002020-09-21T15:12:45.230-07:00Apple Watch Series 6.0 first review GPS<p> <a data-saferedirecturl="https://www.google.com/url?q=https://www.dcrainmaker.com/2020/09/apple-watch-series-6-first-run-accuracy-spo2-sensor-data.html&source=gmail&ust=1600810036904000&usg=AFQjCNFi6vWejqHb3qdg2XvtQlRXJfgIiQ" href="https://www.dcrainmaker.com/2020/09/apple-watch-series-6-first-run-accuracy-spo2-sensor-data.html" style="background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;" target="_blank">ttps://www.dcrainmaker.com/<wbr></wbr>2020/09/apple-watch-series-6-<wbr></wbr>first-run-accuracy-spo2-<wbr></wbr>sensor-data.html</a></p><p><br /></p><p style="background: 0px 0px rgb(255, 255, 255); border: 0px; color: #333333; font-family: Arial, Helvetica, "Nimbus Sans L", sans-serif; font-size: 14px; margin: 0px 0px 24px; padding: 0px; vertical-align: baseline;">For GPS data, I created one heck of a messy route. I included the running track, two sets of extremely long tunnels/bridges, running a loop next to a stadium, running on a small island, going through the forest, and just meandering. I had with me a FR745, Fitbit Sense, and of course the Apple Watch Series 6. Due to various embargos, I can’t quite share the Fitbit data until next week. So here’s the GPS data versus the FR745:</p><p style="background: 0px 0px rgb(255, 255, 255); border: 0px; color: #333333; font-family: Arial, Helvetica, "Nimbus Sans L", sans-serif; font-size: 14px; margin: 0px 0px 24px; padding: 0px; vertical-align: baseline;"><a data-fancybox="gallery" href="https://media.dcrainmaker.com/images/2020/09/image-67.png" style="background: 0px 0px; border: 0px; color: #fd7309; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;"><img alt="image" border="0" class="lazyloaded" data-lazy-src="https://media.dcrainmaker.com/images/2020/09/image_thumb-67.png" data-was-processed="true" height="362" src="https://media.dcrainmaker.com/images/2020/09/image_thumb-67.png" style="background: none 0px 0px; border: 0px currentcolor; display: inline; height: auto; margin: 0px; max-width: 100%; padding: 0px; vertical-align: baseline;" title="image" width="722" /></a></p><p style="background: 0px 0px rgb(255, 255, 255); border: 0px; color: #333333; font-family: Arial, Helvetica, "Nimbus Sans L", sans-serif; font-size: 14px; margin: 0px 0px 24px; padding: 0px; vertical-align: baseline;">And a bit closer:</p><p style="background: 0px 0px rgb(255, 255, 255); border: 0px; color: #333333; font-family: Arial, Helvetica, "Nimbus Sans L", sans-serif; font-size: 14px; margin: 0px 0px 24px; padding: 0px; vertical-align: baseline;"><a data-fancybox="gallery" href="https://media.dcrainmaker.com/images/2020/09/image-68.png" style="background: 0px 0px; border: 0px; color: #fd7309; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;"><img alt="image" border="0" class="lazyloaded" data-lazy-src="https://media.dcrainmaker.com/images/2020/09/image_thumb-68.png" data-was-processed="true" height="443" src="https://media.dcrainmaker.com/images/2020/09/image_thumb-68.png" style="background: none 0px 0px; border: 0px currentcolor; display: inline; height: auto; margin: 0px; max-width: 100%; padding: 0px; vertical-align: baseline;" title="image" width="722" /></a></p><p style="background: 0px 0px rgb(255, 255, 255); border: 0px; color: #333333; font-family: Arial, Helvetica, "Nimbus Sans L", sans-serif; font-size: 14px; margin: 0px 0px 24px; padding: 0px; vertical-align: baseline;">I went into this in detail in the video, or you can <a href="https://analyze.dcrainmaker.com/#/public/b75f4de1-c415-49cc-6c06-756cc171a27e" style="background: 0px 0px; border: 0px; color: #fd7309; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;">zoom in on the set here</a>. But the main takeaways are:</p><p style="background: 0px 0px rgb(255, 255, 255); border: 0px; color: #333333; font-family: Arial, Helvetica, "Nimbus Sans L", sans-serif; font-size: 14px; margin: 0px 0px 24px; padding: 0px; vertical-align: baseline;">– Holy crap, Apple finally got rid of the Mario Kart/Swooshing/Sashaying corner effect<br />– The Apple Watch and FR745 were very close<br />– The FR745 actually nailed the track, despite not being in track mode (hmm…interesting thoughts on that later)<br />– The Apple Watch struggled a little bit around the stadium, but we’re talking mostly just a few meters<br />– There were a few sections it wobbled slightly on some straightaways<br />– Both were great in the tunnels<br />– Both were great in the forest</p><p style="background: 0px 0px rgb(255, 255, 255); border: 0px; color: #333333; font-family: Arial, Helvetica, "Nimbus Sans L", sans-serif; font-size: 14px; margin: 0px 0px 24px; padding: 0px; vertical-align: baseline;">So, the biggest takeaway is that Apple has clearly traded some of the over-smoothing they’ve done since the very beginning of Apple Watch, with a bit more ‘trueness’ for where the watch actually goes (or, where it thinks it goes). This means that you get a bit more wobble in some cases compared to the past, but it also means it doesn’t cut or sweep around corners like it used to. As a reminder from the Series 5, this is that sweeping I was talking about there (these are from the Series 5 review). You can see how it heavily smooths my twists and turns on the path.</p><p style="background: 0px 0px rgb(255, 255, 255); border: 0px; color: #333333; font-family: Arial, Helvetica, "Nimbus Sans L", sans-serif; font-size: 14px; margin: 0px 0px 24px; padding: 0px; vertical-align: baseline;"><a data-fancybox="gallery" href="https://media.dcrainmaker.com/images/2019/11/2019-11-25-21.02.18.png" style="background: 0px 0px; border: 0px; color: #fd7309; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;"><img alt="2019-11-25 21.02.18" border="0" class="lazyloaded" data-lazy-src="https://media.dcrainmaker.com/images/2019/11/2019-11-25-21.02.18_thumb.png" data-was-processed="true" height="770" src="https://media.dcrainmaker.com/images/2019/11/2019-11-25-21.02.18_thumb.png" style="background: 0px 0px; border: 0px; height: auto; margin: 0px; max-width: 100%; padding: 0px; vertical-align: baseline;" title="2019-11-25 21.02.18" width="357" /></a> <a data-fancybox="gallery" href="https://media.dcrainmaker.com/images/2019/11/2019-11-25-21.01.21.png" style="background: 0px 0px; border: 0px; color: #fd7309; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;"><img alt="2019-11-25 21.01.21" border="0" class="lazyloaded" data-lazy-src="https://media.dcrainmaker.com/images/2019/11/2019-11-25-21.01.21_thumb.png" data-was-processed="true" height="770" src="https://media.dcrainmaker.com/images/2019/11/2019-11-25-21.01.21_thumb.png" style="background: 0px 0px; border: 0px; height: auto; margin: 0px; max-width: 100%; padding: 0px; vertical-align: baseline;" title="2019-11-25 21.01.21" width="357" /></a></p><p style="background: 0px 0px rgb(255, 255, 255); border: 0px; color: #333333; font-family: Arial, Helvetica, "Nimbus Sans L", sans-serif; font-size: 14px; margin: 0px 0px 24px; padding: 0px; vertical-align: baseline;">Now, Apple has continued to make progress on this since last year. Every once in a while I’ll do tests with it, and I’ve seen them slowly find that balance better and better. But I think at this point they’re acting much closer to a normal GPS watch than the heavily smoothed Apple Watch.</p><p><a data-saferedirecturl="https://www.google.com/url?q=https://www.youtube.com/watch?v%3DoonQiVNpTQE&source=gmail&ust=1600812355223000&usg=AFQjCNFmpv-eA1PtGrvmp3MQLck50lDy6w" href="https://www.youtube.com/watch?v=oonQiVNpTQE" style="background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;" target="_blank"></a></p><div class="separator" style="clear: both; text-align: center;"><a data-saferedirecturl="https://www.google.com/url?q=https://www.youtube.com/watch?v%3DoonQiVNpTQE&source=gmail&ust=1600812355223000&usg=AFQjCNFmpv-eA1PtGrvmp3MQLck50lDy6w" href="https://www.youtube.com/watch?v=oonQiVNpTQE" style="background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;" target="_blank"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/oonQiVNpTQE" width="320" youtube-src-id="oonQiVNpTQE"></iframe></a></div><a data-saferedirecturl="https://www.google.com/url?q=https://www.youtube.com/watch?v%3DoonQiVNpTQE&source=gmail&ust=1600812355223000&usg=AFQjCNFmpv-eA1PtGrvmp3MQLck50lDy6w" href="https://www.youtube.com/watch?v=oonQiVNpTQE" style="background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small;" target="_blank"><br /></a><p></p>Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com1tag:blogger.com,1999:blog-12185523.post-77748608695641721312019-01-14T17:23:00.001-08:002019-01-14T17:23:50.973-08:00DRIVING HEADLESS CHROME WITH PYTHON AND AMAZON DOCKER<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; padding: 0px;">
Back in April 2017, Google <a class="external" href="https://developers.google.com/web/updates/2017/04/headless-chrome" style="box-shadow: none; box-sizing: inherit; color: #227e6a; transition: color 100ms ease-in-out 0ms, box-shadow 100ms ease-in-out 0ms;">announced</a> that it will be shipping Headless Chrome in Chrome 59. Since the respective flags are already available on Chrome Canary, the Duo Labs team thought it would be fun to test things out and also provide a brief introduction to driving Chrome using Selenium and Python.</div>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
<img alt="Headless Chrome" src="https://duo.com/assets/img/blogv2/headless-chrome.gif" style="border: 0px; box-sizing: inherit; display: block; height: auto; max-width: 100%;" /></div>
<h2 style="background-color: white; box-sizing: inherit; color: #227e6a; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 2.875rem; line-height: 3rem; margin: 3.125rem 0px 0px; padding: 0px; text-rendering: optimizelegibility;">
Browser Automation</h2>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1rem; padding: 0px;">
Before we dive into any code, let’s talk about what a headless browser is and why it’s useful. In short, headless browsers are web browsers without a graphical user interface (GUI) and are usually controlled programmatically or via a command-line interface.</div>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
One of the many use cases for headless browsers is automating usability testing or testing browser interactions. If you’re trying to check how a page may render in a different browser or confirm that page elements are present after a user initiates a certain workflow, using a headless browser can provide a lot of assistance. In addition to this, traditional web-oriented tasks like web scraping can be difficult to do if the content is rendered dynamically (say, via Javascript). Using a headless browser allows easy access to this content because the content is rendered exactly as it would be in a full browser.</div>
<h2 style="background-color: white; box-sizing: inherit; color: #227e6a; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 2.875rem; line-height: 3rem; margin: 3.125rem 0px 0px; padding: 0px; text-rendering: optimizelegibility;">
Headless Chrome and Python</h2>
<h3 style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 1.25rem; line-height: 1.625rem; margin: 0.5rem 0px 0px; padding: 0px; text-rendering: optimizelegibility;">
The Dark Ages</h3>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1rem; padding: 0px;">
Prior to the release of Headless Chrome, any time that you did any automated driving of Chrome that potentially involved several windows or tabs, you had to worry about the CPU and/or memory usage. Both are associated with having to display the browser with the rendered graphics from the URL that was requested.</div>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
When using a headless browser, we don’t have to worry about that. As a result, we can expect lower memory overhead and faster execution for the scripts that we write.</div>
<h3 style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 1.25rem; line-height: 1.625rem; margin: 3.125rem 0px 0px; padding: 0px; text-rendering: optimizelegibility;">
Going Headless</h3>
<h4 style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin: 0.5rem 0px 0px; padding: 0px; text-rendering: optimizelegibility;">
Setup</h4>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1rem; padding: 0px;">
Before we get started, we need to install <a class="external" href="https://www.google.com/chrome/browser/canary.html" style="box-shadow: none; box-sizing: inherit; color: #227e6a; transition: color 100ms ease-in-out 0ms, box-shadow 100ms ease-in-out 0ms;">Chrome Canary</a> and download the latest ChromeDriver (currently 5.29).</div>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
Next, let’s make a folder that will contain all of our files:</div>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
<code style="box-sizing: inherit;">$ mkdir going_headless</code></div>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
Now we can move the ChromeDriver into the directory that we just made:</div>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
<code style="box-sizing: inherit;">$ mv Downloads/chromedriver going_headless/</code></div>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
Since we are using Selenium with Python, it’s a good idea to make a Python virtual environment. I use <a class="external" href="https://virtualenv.pypa.io/en/stable/" style="box-shadow: none; box-sizing: inherit; color: #227e6a; transition: color 100ms ease-in-out 0ms, box-shadow 100ms ease-in-out 0ms;">virtualenv</a>, so if you use another virtual environment manager, the commands may be different.</div>
<pre style="background-color: #227e6a; box-sizing: inherit; color: white; font-size: 16px; margin-top: 1.5rem; overflow: scroll; padding: 1rem;"><code style="box-sizing: inherit;">$ cd going_headless && virtualenv -p python3 env
$ source env/bin/activate
</code></pre>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
The next thing we need to do is install <a class="external" href="http://www.seleniumhq.org/" style="box-shadow: none; box-sizing: inherit; color: #227e6a; transition: color 100ms ease-in-out 0ms, box-shadow 100ms ease-in-out 0ms;">Selenium</a>. If you’re not familiar with Selenium, it’s a suite of tools that allows developers to programmatically drive web browsers. It has language bindings for Java, C#, Ruby, Javascript (Node), and Python. To install the <a class="external" href="http://selenium-python.readthedocs.io/" style="box-shadow: none; box-sizing: inherit; color: #227e6a; transition: color 100ms ease-in-out 0ms, box-shadow 100ms ease-in-out 0ms;">Selenium package</a> for Python, we can run the following:</div>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
<code style="box-sizing: inherit;">$ pip install selenium</code></div>
<h4 style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin: 3.125rem 0px 0px; padding: 0px; text-rendering: optimizelegibility;">
Example</h4>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1rem; padding: 0px;">
Now that we’ve gotten all of that out of the way, let’s get to the fun part. Our goal is to write a script that searches for my name “Olabode” on <a class="local" href="https://duo.com/" style="box-shadow: none; box-sizing: inherit; color: #227e6a; transition: color 100ms ease-in-out 0ms, box-shadow 100ms ease-in-out 0ms;">duo.com</a>, and checks that a recent article I wrote about Android security is listed in the results. If you’ve followed the instructions above, you can use the headless version of Chrome Canary with Selenium like so:</div>
<pre style="background-color: #227e6a; box-sizing: inherit; color: white; font-size: 16px; margin-top: 1.5rem; overflow: scroll; padding: 1rem;"><code style="box-sizing: inherit;">import os
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.binary_location = '/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary'`
driver = webdriver.Chrome(executable_path=os.path.abspath(“chromedriver"), chrome_options=chrome_options)
driver.get("http://www.duo.com")`
magnifying_glass = driver.find_element_by_id("js-open-icon")
if magnifying_glass.is_displayed():
magnifying_glass.click()
else:
menu_button = driver.find_element_by_css_selector(".menu-trigger.local")
menu_button.click()`
search_field = driver.find_element_by_id("site-search")
search_field.clear()
search_field.send_keys("Olabode")
search_field.send_keys(Keys.RETURN)
assert "Looking Back at Android Security in 2016" in driver.page_source driver.close()`
</code></pre>
<h4 style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin: 0px; padding: 0px; text-rendering: optimizelegibility;">
Example Explained</h4>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1rem; padding: 0px;">
Let’s break down what’s going on in the script. We start by importing the requisite modules. <code style="box-sizing: inherit;">The Keys</code> provides keys in the keyboard like <code style="box-sizing: inherit;">RETURN, F1, ALT,</code> etc.</div>
<pre style="background-color: #227e6a; box-sizing: inherit; color: white; font-size: 16px; margin-top: 1.5rem; overflow: scroll; padding: 1rem;"><code style="box-sizing: inherit;">import os
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
</code></pre>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
Next, we create a ChromeOptions object which will allow us to set the location of the Chrome binary that we would like to use and also pass the headless argument. If you leave out the headless argument, you will see the browser window pop up and search for my name.</div>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
In addition, if you don’t set the binary location to the location of Chrome Canary on your system, the current version of Google Chrome that is installed will be used. I wrote this tutorial on a Mac, but you can find the location of the file on other platforms <a class="external" href="https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver#requirements" style="box-shadow: none; box-sizing: inherit; color: #227e6a; transition: color 100ms ease-in-out 0ms, box-shadow 100ms ease-in-out 0ms;">here</a>. You just need to substitute Chrome for Chrome Canary in the respective file paths.</div>
<pre style="background-color: #227e6a; box-sizing: inherit; color: white; font-size: 16px; margin-top: 1.5rem; overflow: scroll; padding: 1rem;"><code style="box-sizing: inherit;">chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.binary_location = '/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary'
driver = webdriver.Chrome(executable_path=os.path.abspath(“chromedriver"), chrome_options=chrome_options)
</code></pre>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
The driver.get function will be used navigate to the specified URL.</div>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
<code style="box-sizing: inherit;">driver.get("https://www.duo.com")</code></div>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
The duo.com website is responsive, so we have to handle different conditions. As a result, we check to see if the expected search button is displayed. If it isn’t, we click the menu button to enter our search term.</div>
<pre style="background-color: #227e6a; box-sizing: inherit; color: white; font-size: 16px; margin-top: 1.5rem; overflow: scroll; padding: 1rem;"><code style="box-sizing: inherit;">magnifying_glass = driver.find_element_by_id("js-open-icon")
if magnifying_glass.is_displayed():
magnifying_glass.click()
else:
menu_button = driver.find_element_by_css_selector(".menu-trigger.local")
menu_button.click()
</code></pre>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
Now we clear the search field, search for my name, and send the RETURN key to the drive.</div>
<pre style="background-color: #227e6a; box-sizing: inherit; color: white; font-size: 16px; margin-top: 1.5rem; overflow: scroll; padding: 1rem;"><code style="box-sizing: inherit;">search_field = driver.find_element_by_id("site-search")
search_field.clear()
search_field.send_keys("Olabode")
search_field.send_keys(Keys.RETURN)
</code></pre>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
We check to make sure that the blog post title from one of my most recent posts is in the page’s source.</div>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
<code style="box-sizing: inherit;">assert "Looking Back at Android Security in 2016" in driver.page_source</code></div>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
And finally, we close the browser.</div>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
<code style="box-sizing: inherit;">driver.close().</code></div>
<h3 style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 1.25rem; line-height: 1.625rem; margin: 3.125rem 0px 0px; padding: 0px; text-rendering: optimizelegibility;">
Benchmarks</h3>
<h4 style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin: 0.5rem 0px 0px; padding: 0px; text-rendering: optimizelegibility;">
Head to Headless</h4>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1rem; padding: 0px;">
So, it’s cool that we can now control Chrome using Selenium and Python without having to see a browser window, but we are more interested in the performance benefits we talked about earlier. Using the same script above, we profiled the time it took to complete the tasks, peak memory usage, and CPU percentage. We polled CPU and memory usage with <a class="external" href="https://github.com/giampaolo/psutil" style="box-shadow: none; box-sizing: inherit; color: #227e6a; transition: color 100ms ease-in-out 0ms, box-shadow 100ms ease-in-out 0ms;">psutil</a> and measured the time for task completion using <a class="external" href="https://docs.python.org/3.6/library/timeit.html" style="box-shadow: none; box-sizing: inherit; color: #227e6a; transition: color 100ms ease-in-out 0ms, box-shadow 100ms ease-in-out 0ms;">timeit</a>.</div>
<table style="background-color: white; border-collapse: collapse; box-sizing: inherit; color: #54626a; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; margin-bottom: 1rem; margin-top: 1.5rem; table-layout: auto; width: 592px;"><thead style="background-color: #f2f2f2; box-sizing: inherit; padding: 4px 6px;">
<tr style="box-sizing: inherit; vertical-align: middle;"><th style="box-sizing: inherit; padding: 4px 6px;"></th><th style="box-sizing: inherit; padding: 4px 6px;">Headless (60.0.3102.0)</th><th style="box-sizing: inherit; padding: 4px 6px;">Headed (60.0.3102.0)</th></tr>
</thead><tbody style="box-sizing: inherit;">
<tr style="box-sizing: inherit; vertical-align: middle;"><td style="border: 1px solid rgb(245, 246, 248); box-sizing: inherit; color: #888888; padding: 4px 6px;">Median Time</td><td style="border: 1px solid rgb(245, 246, 248); box-sizing: inherit; color: #888888; padding: 4px 6px;">5.29 seconds</td><td style="border: 1px solid rgb(245, 246, 248); box-sizing: inherit; color: #888888; padding: 4px 6px;">5.51 seconds</td></tr>
<tr style="box-sizing: inherit; vertical-align: middle;"><td style="border: 1px solid rgb(245, 246, 248); box-sizing: inherit; color: #888888; padding: 4px 6px;">Median Memory Use</td><td style="border: 1px solid rgb(245, 246, 248); box-sizing: inherit; color: #888888; padding: 4px 6px;">25.3 MiB</td><td style="border: 1px solid rgb(245, 246, 248); box-sizing: inherit; color: #888888; padding: 4px 6px;">25.47 MiB</td></tr>
<tr style="box-sizing: inherit; vertical-align: middle;"><td style="border: 1px solid rgb(245, 246, 248); box-sizing: inherit; color: #888888; padding: 4px 6px;">Average CPU Percentage</td><td style="border: 1px solid rgb(245, 246, 248); box-sizing: inherit; color: #888888; padding: 4px 6px;">1.92%</td><td style="border: 1px solid rgb(245, 246, 248); box-sizing: inherit; color: #888888; padding: 4px 6px;">2.02%</td></tr>
</tbody></table>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; padding: 0px;">
<br style="box-sizing: inherit;" /></div>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
For our small script, there were very small differences in the amount of time taken to complete the task (4.3%), memory usage (.5%), and CPU percentage (5.2%). While the gains in our example were very minimal, these gains would prove to be beneficial in a test suite with dozens of tests.</div>
<h3 style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 1.25rem; line-height: 1.625rem; margin: 3.125rem 0px 0px; padding: 0px; text-rendering: optimizelegibility;">
Manual vs. Adhoc</h3>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1rem; padding: 0px;">
In the script above, we start the ChromeDriver server process when we create the WebDriver object and it is terminated when we call quit(). For a one-off script, that isn’t a problem, but this can waste a nontrivial amount of time for a large test suite that creates a ChromeDriver instance for each test. Luckily, we can manually start and stop the server ourselves, and it only requires a few changes to the script above.</div>
<h4 style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin: 3.125rem 0px 0px; padding: 0px; text-rendering: optimizelegibility;">
Example Snippet</h4>
<pre style="background-color: #227e6a; box-sizing: inherit; color: white; font-size: 16px; overflow: scroll; padding: 1rem;"><code style="box-sizing: inherit;">import os
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
service = webdriver.chrome.service.Service(os.path.abspath(“chromedriver"))
service.start()
chrome_options = Options()
chrome_options.add_argument("--headless")
# path to the binary of Chrome Canary that we installed earlier
chrome_options.binary_location = '/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary'
driver = webdriver.Remote(service.service_url, desired_capabilities=chrome_options.to_capabilities())
</code></pre>
<h4 style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin: 0px; padding: 0px; text-rendering: optimizelegibility;">
Snippet Explained</h4>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1rem; padding: 0px;">
While there are only three lines of code that have changed, let’s talk about what’s going on in them. In order to manually control the ChromeDriver server, we have to use the ChromeDriverService. We do so by creating a service object with a path to the ChromeDriver and then we can start the service.</div>
<pre style="background-color: #227e6a; box-sizing: inherit; color: white; font-size: 16px; margin-top: 1.5rem; overflow: scroll; padding: 1rem;"><code style="box-sizing: inherit;">service = webdriver.chrome.service.Service(os.path.abspath(“chromedriver"))
service.start()
</code></pre>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1.5rem; padding: 0px;">
The final thing we have to do is create a WebDriver that can connect to a remote server. In order to use Chrome Canary and the headless portion, we have to pass the the dictionary of all the options since the remote WebDriver object doesn’t accept an Option object.</div>
<pre style="background-color: #227e6a; box-sizing: inherit; color: white; font-size: 16px; margin-top: 1.5rem; overflow: scroll; padding: 1rem;"><code style="box-sizing: inherit;">driver = webdriver.Remote(service.service_url, desired_capabilities=chrome_options.to_capabilities())
</code></pre>
<h4 style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin: 0px; padding: 0px; text-rendering: optimizelegibility;">
The Payoff</h4>
<div style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin-top: 1rem; padding: 0px;">
By adding the manual starting of the service, we saw the expected speed increases. The median time for the headless and headed browser to complete the tasks in the script decreased by 11% (4.72 seconds) and respectively 4% (5.29 seconds).</div>
<table style="background-color: white; border-collapse: collapse; box-sizing: inherit; color: #54626a; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; margin-bottom: 1rem; margin-top: 1.5rem; table-layout: auto; width: 592px;"><thead style="background-color: #f2f2f2; box-sizing: inherit; padding: 4px 6px;">
<tr style="box-sizing: inherit; vertical-align: middle;"><th style="box-sizing: inherit; padding: 4px 6px;"></th><th style="box-sizing: inherit; padding: 4px 6px;">Headed Browser</th><th style="box-sizing: inherit; padding: 4px 6px;">Headless Browser</th></tr>
</thead><tbody style="box-sizing: inherit;">
<tr style="box-sizing: inherit; vertical-align: middle;"><td style="border: 1px solid rgb(245, 246, 248); box-sizing: inherit; color: #888888; padding: 4px 6px;">Median Time(% decrease)</td><td style="border: 1px solid rgb(245, 246, 248); box-sizing: inherit; color: #888888; padding: 4px 6px;">4%</td><td style="border: 1px solid rgb(245, 246, 248); box-sizing: inherit; color: #888888; padding: 4px 6px;">11%</td></tr>
<tr style="box-sizing: inherit; vertical-align: middle;"><td style="border: 1px solid rgb(245, 246, 248); box-sizing: inherit; color: #888888; padding: 4px 6px;">Median Time (Seconds)</td><td style="border: 1px solid rgb(245, 246, 248); box-sizing: inherit; color: #888888; padding: 4px 6px;">5.29 seconds</td><td style="border: 1px solid rgb(245, 246, 248); box-sizing: inherit; color: #888888; padding: 4px 6px;">4.72 seconds<br /></td></tr>
</tbody></table>
<br /><div>
<h4 style="background-color: white; box-sizing: inherit; font-family: alte_din_1451_mittelschriftRg, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.313rem; margin: 0px; padding: 0px; text-rendering: optimizelegibility;">
DOCKER AMAZON INSTANCE</h4>
</div>
<div>
<br /></div>
<div>
<h3 class="graf graf--h3 graf-after--h3" id="5ec3" name="5ec3" style="--baseline-multiplier: 0.22; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; font-size: 34px; letter-spacing: -0.015em; line-height: 1.15; margin: 53px 0px 0px;">
Part 1 — Use Selenium Webdriver and Chrome inside AWS Lambda</h3>
<h3 class="graf graf--h3 graf-after--h3" id="10ab" name="10ab" style="--baseline-multiplier: 0.22; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; font-size: 34px; letter-spacing: -0.015em; line-height: 1.15; margin: 53px 0px 0px;">
What is AWS Lambda?</h3>
<div class="graf graf--p graf-after--h3" id="1939" name="1939" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 8px;">
Amazon explains, AWS Lambda (λ) as a ‘serverless’ compute service, meaning the developers, don’t have to worry about which AWS resources to launch, or how will they manage them, they just put the code on lambda and it runs, it’s that simple! It helps you to focus on core-competency i.e. App Building or the code.</div>
<h3 class="graf graf--h3 graf-after--p" id="4dd7" name="4dd7" style="--baseline-multiplier: 0.22; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; font-size: 34px; letter-spacing: -0.015em; line-height: 1.15; margin: 56px 0px 0px;">
Where will I use AWS Lambda?</h3>
<div class="graf graf--p graf-after--h3" id="d9c8" name="d9c8" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 8px;">
AWS Lambda executes your backend code, by automatically managing the AWS resources. When we say ‘manage’, it includes launching or terminating instances, health checkups, auto scaling, updating or patching new updates etc.</div>
<div class="graf graf--p graf-after--p" id="a0dc" name="a0dc" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 29px;">
You can use it with multiple services</div>
<figure class="graf graf--figure graf-after--p" id="3ccb" name="3ccb" style="background-color: white; box-sizing: border-box; clear: both; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 20px; margin: 43px 0px 0px; outline: 0px; position: relative; user-select: auto; z-index: 100;"><div class="aspectRatioPlaceholder is-locked" style="margin: 0px auto; max-height: 359px; max-width: 638px; position: relative; width: 638px;">
<div class="aspectRatioPlaceholder-fill" style="padding-bottom: 359.188px;">
</div>
<div class="progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded" data-height="359" data-image-id="0*YTlsUmzhzIebLvTU.jpg" data-scroll="native" data-width="638" style="background: rgba(0, 0, 0, 0); box-sizing: border-box; height: 359px; left: 0px; margin: auto; max-width: 100%; position: absolute; top: 0px; transition: background 0.2s ease 0s; width: 638px;">
<canvas class="progressiveMedia-canvas js-progressiveMedia-canvas" height="41" style="backface-visibility: hidden; box-sizing: border-box; display: block; height: 359px; left: 0px; margin: auto; opacity: 0; position: absolute; top: 0px; transition: visibility 0s linear 0.5s, opacity 0.1s ease 0.4s; vertical-align: baseline; visibility: hidden; width: 638px;" width="75"></canvas><img class="progressiveMedia-image js-progressiveMedia-image" data-src="https://cdn-images-1.medium.com/max/1000/0*YTlsUmzhzIebLvTU.jpg" src="https://cdn-images-1.medium.com/max/1000/0*YTlsUmzhzIebLvTU.jpg" style="backface-visibility: hidden; border: 0px; box-sizing: border-box; display: block; height: 359px; left: 0px; margin: auto; opacity: 1; position: absolute; top: 0px; transition: visibility 0s linear 0s, opacity 0.4s ease 0s; visibility: visible; width: 638px; z-index: 100;" /></div>
</div>
</figure><div class="graf graf--p graf-after--figure" id="5446" name="5446" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 38px;">
And also you can use it with Chatbot</div>
<figure class="graf graf--figure graf-after--p" id="ac85" name="ac85" style="background-color: white; box-sizing: border-box; clear: both; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 20px; margin: 43px 0px 0px; outline: 0px; position: relative; user-select: auto; z-index: 100;"><div class="aspectRatioPlaceholder is-locked" style="margin: 0px auto; max-height: 257px; max-width: 700px; position: relative; width: 700px;">
<div class="aspectRatioPlaceholder-fill" style="padding-bottom: 256.9px;">
</div>
<div class="progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded" data-action-value="0*-YpToV8YMXAFk4dV.png" data-action="zoom" data-height="330" data-image-id="0*-YpToV8YMXAFk4dV.png" data-scroll="native" data-width="900" style="background: rgba(0, 0, 0, 0); box-sizing: border-box; cursor: zoom-in; height: 256.9px; left: 0px; margin: auto; max-width: 100%; position: absolute; top: 0px; transition: background 0.2s ease 0s; width: 700px;">
<canvas class="progressiveMedia-canvas js-progressiveMedia-canvas" height="25" style="backface-visibility: hidden; box-sizing: border-box; display: block; height: 256.9px; left: 0px; margin: auto; opacity: 0; position: absolute; top: 0px; transition: visibility 0s linear 0.5s, opacity 0.1s ease 0.4s; vertical-align: baseline; visibility: hidden; width: 700px;" width="75"></canvas><img class="progressiveMedia-image js-progressiveMedia-image" data-src="https://cdn-images-1.medium.com/max/1000/0*-YpToV8YMXAFk4dV.png" src="https://cdn-images-1.medium.com/max/1000/0*-YpToV8YMXAFk4dV.png" style="backface-visibility: hidden; border: 0px; box-sizing: border-box; display: block; height: 256.9px; left: 0px; margin: auto; opacity: 1; position: absolute; top: 0px; transition: visibility 0s linear 0s, opacity 0.4s ease 0s; visibility: visible; width: 700px; z-index: 100;" /></div>
</div>
</figure><h3 class="graf graf--h3 graf-after--figure" id="7eba" name="7eba" style="--baseline-multiplier: 0.22; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; font-size: 34px; letter-spacing: -0.015em; line-height: 1.15; margin: 53px 0px 0px;">
So, how does it work?</h3>
<div class="graf graf--p graf-after--h3" id="96ab" name="96ab" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 8px;">
The code that you want Lambda to run is known as a Lambda function. Now, as we know a function runs only when it is called, right? Here, Event Source is the entity which triggers a Lambda Function, and then the task is executed.</div>
<h3 class="graf graf--h3 graf-after--p" id="6265" name="6265" style="--baseline-multiplier: 0.22; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; font-size: 34px; letter-spacing: -0.015em; line-height: 1.15; margin: 56px 0px 0px;">
Pricing in AWS Lambda</h3>
<div class="graf graf--p graf-after--h3" id="fd0b" name="fd0b" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 8px;">
Like most of the AWS services, AWS Lambda is also a pay per use service, meaning you only pay what you use, therefore you are charged on the following parameters</div>
<ul class="postList" style="background-color: white; color: rgba(0, 0, 0, 0.84); counter-reset: post 0; font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 20px; list-style: none none; margin: 29px 0px 0px; padding: 0px;">
<li class="graf graf--li graf-after--p" id="845c" name="845c" style="--baseline-multiplier: 0.17; font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-bottom: 14px; margin-left: 30px;">The number of requests that you make to your lambda function</li>
<li class="graf graf--li graf-after--li" id="c0aa" name="c0aa" style="--baseline-multiplier: 0.17; font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-bottom: 0px; margin-left: 30px;">The duration for which your code executes.</li>
</ul>
<figure class="graf graf--figure graf-after--li" id="eb15" name="eb15" style="background-color: white; box-sizing: border-box; clear: both; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 20px; margin: 43px 0px 0px; outline: 0px; position: relative; user-select: auto; z-index: 100;"><div class="aspectRatioPlaceholder is-locked" style="margin: 0px auto; max-height: 169px; max-width: 362px; position: relative; width: 362px;">
<div class="aspectRatioPlaceholder-fill" style="padding-bottom: 169.05px;">
</div>
<div class="progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded" data-height="169" data-image-id="0*W0jQhByicoiYqFGY.jpg" data-scroll="native" data-width="362" style="background: rgba(0, 0, 0, 0); box-sizing: border-box; height: 169px; left: 0px; margin: auto; max-width: 100%; position: absolute; top: 0px; transition: background 0.2s ease 0s; width: 362px;">
<canvas class="progressiveMedia-canvas js-progressiveMedia-canvas" height="33" style="backface-visibility: hidden; box-sizing: border-box; display: block; height: 169px; left: 0px; margin: auto; opacity: 0; position: absolute; top: 0px; transition: visibility 0s linear 0.5s, opacity 0.1s ease 0.4s; vertical-align: baseline; visibility: hidden; width: 362px;" width="75"></canvas><img class="progressiveMedia-image js-progressiveMedia-image" data-src="https://cdn-images-1.medium.com/max/1000/0*W0jQhByicoiYqFGY.jpg" src="https://cdn-images-1.medium.com/max/1000/0*W0jQhByicoiYqFGY.jpg" style="backface-visibility: hidden; border: 0px; box-sizing: border-box; display: block; height: 169px; left: 0px; margin: auto; opacity: 1; position: absolute; top: 0px; transition: visibility 0s linear 0s, opacity 0.4s ease 0s; visibility: visible; width: 362px; z-index: 100;" /></div>
</div>
</figure><div class="graf graf--p graf-after--figure" id="1dc1" name="1dc1" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 38px;">
<span class="markup--strong markup--p-strong" style="font-weight: 700;">* Source: AWS official website</span></div>
<h3 class="graf graf--h3 graf-after--p" id="90b5" name="90b5" style="--baseline-multiplier: 0.22; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Arial, sans-serif; font-size: 34px; letter-spacing: -0.015em; line-height: 1.15; margin: 56px 0px 0px;">
How to use Selenium Webdriver and Chrome inside AWS Lambda?</h3>
<div class="graf graf--p graf-after--h3" id="b7b5" name="b7b5" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 8px;">
<span class="markup--strong markup--p-strong" style="font-weight: 700;">Note:</span></div>
<ul class="postList" style="background-color: white; color: rgba(0, 0, 0, 0.84); counter-reset: post 0; font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 20px; list-style: none none; margin: 29px 0px 0px; padding: 0px;">
<li class="graf graf--li graf-after--p" id="d19f" name="d19f" style="--baseline-multiplier: 0.17; font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-bottom: 14px; margin-left: 30px;">We will use <span class="markup--strong markup--li-strong" style="font-weight: 700;">Chromium version 62</span> in <span class="markup--strong markup--li-strong" style="font-weight: 700;">headless</span> mode</li>
<li class="graf graf--li graf-after--li" id="2d23" name="2d23" style="--baseline-multiplier: 0.17; font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-bottom: 0px; margin-left: 30px;">You need to have <span class="markup--strong markup--li-strong" style="font-weight: 700;">AWS Account</span> , if you don’t have one you can your own account from this link</li>
</ul>
<div class="graf graf--p graf-after--li" id="cbb7" name="cbb7" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 29px;">
1- Login to AWS Management Console and Select AWS Lambda from Compute Services</div>
<div class="graf graf--p graf-after--p" id="1012" name="1012" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 29px;">
2- Click on Create new a function</div>
<figure class="graf graf--figure graf-after--p" id="1d49" name="1d49" style="background-color: white; box-sizing: border-box; clear: both; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 20px; margin: 43px 0px 0px; outline: 0px; position: relative; user-select: auto; z-index: 100;"><div class="aspectRatioPlaceholder is-locked" style="margin: 0px auto; max-height: 343px; max-width: 700px; position: relative; width: 700px;">
<div class="aspectRatioPlaceholder-fill" style="padding-bottom: 343px;">
</div>
<div class="progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded" data-action-value="0*90f937LRt9HENKza.jpg" data-action="zoom" data-height="521" data-image-id="0*90f937LRt9HENKza.jpg" data-scroll="native" data-width="1064" style="background: rgba(0, 0, 0, 0); box-sizing: border-box; cursor: zoom-in; height: 343px; left: 0px; margin: auto; max-width: 100%; position: absolute; top: 0px; transition: background 0.2s ease 0s; width: 700px;">
<canvas class="progressiveMedia-canvas js-progressiveMedia-canvas" height="35" style="backface-visibility: hidden; box-sizing: border-box; display: block; height: 343px; left: 0px; margin: auto; opacity: 0; position: absolute; top: 0px; transition: visibility 0s linear 0.5s, opacity 0.1s ease 0.4s; vertical-align: baseline; visibility: hidden; width: 700px;" width="75"></canvas><img class="progressiveMedia-image js-progressiveMedia-image" data-src="https://cdn-images-1.medium.com/max/1000/0*90f937LRt9HENKza.jpg" src="https://cdn-images-1.medium.com/max/1000/0*90f937LRt9HENKza.jpg" style="backface-visibility: hidden; border: 0px; box-sizing: border-box; display: block; height: 343px; left: 0px; margin: auto; opacity: 1; position: absolute; top: 0px; transition: visibility 0s linear 0s, opacity 0.4s ease 0s; visibility: visible; width: 700px; z-index: 100;" /></div>
</div>
</figure><div class="graf graf--p graf-after--figure" id="e7a2" name="e7a2" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 38px;">
3- Select option Create from scratch (default select)</div>
<figure class="graf graf--figure graf-after--p" id="d0c6" name="d0c6" style="background-color: white; box-sizing: border-box; clear: both; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 20px; margin: 43px 0px 0px; outline: 0px; position: relative; user-select: auto; z-index: 100;"><div class="aspectRatioPlaceholder is-locked" style="margin: 0px auto; max-height: 290px; max-width: 700px; position: relative; width: 700px;">
<div class="aspectRatioPlaceholder-fill" style="padding-bottom: 289.8px;">
</div>
<div class="progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded" data-action-value="0*DLBqdEt49t8qn6o7.jpg" data-action="zoom" data-height="478" data-image-id="0*DLBqdEt49t8qn6o7.jpg" data-scroll="native" data-width="1155" style="background: rgba(0, 0, 0, 0); box-sizing: border-box; cursor: zoom-in; height: 289.8px; left: 0px; margin: auto; max-width: 100%; position: absolute; top: 0px; transition: background 0.2s ease 0s; width: 700px;">
<canvas class="progressiveMedia-canvas js-progressiveMedia-canvas" height="29" style="backface-visibility: hidden; box-sizing: border-box; display: block; height: 289.8px; left: 0px; margin: auto; opacity: 0; position: absolute; top: 0px; transition: visibility 0s linear 0.5s, opacity 0.1s ease 0.4s; vertical-align: baseline; visibility: hidden; width: 700px;" width="75"></canvas><img class="progressiveMedia-image js-progressiveMedia-image" data-src="https://cdn-images-1.medium.com/max/1000/0*DLBqdEt49t8qn6o7.jpg" src="https://cdn-images-1.medium.com/max/1000/0*DLBqdEt49t8qn6o7.jpg" style="backface-visibility: hidden; border: 0px; box-sizing: border-box; display: block; height: 289.8px; left: 0px; margin: auto; opacity: 1; position: absolute; top: 0px; transition: visibility 0s linear 0s, opacity 0.4s ease 0s; visibility: visible; width: 700px; z-index: 100;" /></div>
</div>
</figure><div class="graf graf--p graf-after--figure" id="3870" name="3870" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 38px;">
4- Add the function name and create new role and click on Create Button</div>
<figure class="graf graf--figure graf-after--p" id="cdeb" name="cdeb" style="background-color: white; box-sizing: border-box; clear: both; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 20px; margin: 43px 0px 0px; outline: 0px; position: relative; user-select: auto; z-index: 100;"><div class="aspectRatioPlaceholder is-locked" style="margin: 0px auto; max-height: 396px; max-width: 700px; position: relative; width: 700px;">
<div class="aspectRatioPlaceholder-fill" style="padding-bottom: 396.2px;">
</div>
<div class="progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded" data-action-value="0*M4z2QeqP6s9czLOe.jpg" data-action="zoom" data-height="475" data-image-id="0*M4z2QeqP6s9czLOe.jpg" data-scroll="native" data-width="839" style="background: rgba(0, 0, 0, 0); box-sizing: border-box; cursor: zoom-in; height: 396px; left: 0px; margin: auto; max-width: 100%; position: absolute; top: 0px; transition: background 0.2s ease 0s; width: 700px;">
<canvas class="progressiveMedia-canvas js-progressiveMedia-canvas" height="41" style="backface-visibility: hidden; box-sizing: border-box; display: block; height: 396px; left: 0px; margin: auto; opacity: 0; position: absolute; top: 0px; transition: visibility 0s linear 0.5s, opacity 0.1s ease 0.4s; vertical-align: baseline; visibility: hidden; width: 700px;" width="75"></canvas><img class="progressiveMedia-image js-progressiveMedia-image" data-src="https://cdn-images-1.medium.com/max/1000/0*M4z2QeqP6s9czLOe.jpg" src="https://cdn-images-1.medium.com/max/1000/0*M4z2QeqP6s9czLOe.jpg" style="backface-visibility: hidden; border: 0px; box-sizing: border-box; display: block; height: 396px; left: 0px; margin: auto; opacity: 1; position: absolute; top: 0px; transition: visibility 0s linear 0s, opacity 0.4s ease 0s; visibility: visible; width: 700px; z-index: 100;" /></div>
</div>
</figure><div class="graf graf--p graf-after--figure" id="bc57" name="bc57" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 38px;">
5- Congratulation you create your first Lambda function</div>
<figure class="graf graf--figure graf-after--p" id="fdad" name="fdad" style="background-color: white; box-sizing: border-box; clear: both; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 20px; margin: 43px 0px 0px; outline: 0px; position: relative; user-select: auto; z-index: 100;"><div class="aspectRatioPlaceholder is-locked" style="margin: 0px auto; max-height: 297px; max-width: 700px; position: relative; width: 700px;">
<div class="aspectRatioPlaceholder-fill" style="padding-bottom: 297.5px;">
</div>
<div class="progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded" data-action-value="0*pmVWJvMRWdjRiZfk.jpg" data-action="zoom" data-height="480" data-image-id="0*pmVWJvMRWdjRiZfk.jpg" data-scroll="native" data-width="1130" style="background: rgba(0, 0, 0, 0); box-sizing: border-box; cursor: zoom-in; height: 297px; left: 0px; margin: auto; max-width: 100%; position: absolute; top: 0px; transition: background 0.2s ease 0s; width: 700px;">
<canvas class="progressiveMedia-canvas js-progressiveMedia-canvas" height="31" style="backface-visibility: hidden; box-sizing: border-box; display: block; height: 297px; left: 0px; margin: auto; opacity: 0; position: absolute; top: 0px; transition: visibility 0s linear 0.5s, opacity 0.1s ease 0.4s; vertical-align: baseline; visibility: hidden; width: 700px;" width="75"></canvas><img class="progressiveMedia-image js-progressiveMedia-image" data-src="https://cdn-images-1.medium.com/max/1000/0*pmVWJvMRWdjRiZfk.jpg" src="https://cdn-images-1.medium.com/max/1000/0*pmVWJvMRWdjRiZfk.jpg" style="backface-visibility: hidden; border: 0px; box-sizing: border-box; display: block; height: 297px; left: 0px; margin: auto; opacity: 1; position: absolute; top: 0px; transition: visibility 0s linear 0s, opacity 0.4s ease 0s; visibility: visible; width: 700px; z-index: 100;" /></div>
</div>
</figure><div class="graf graf--p graf-after--figure" id="a67b" name="a67b" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 38px;">
6- Select that you will upload the code from .zip folder</div>
<figure class="graf graf--figure graf-after--p" id="70ec" name="70ec" style="background-color: white; box-sizing: border-box; clear: both; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 20px; margin: 43px 0px 0px; outline: 0px; position: relative; user-select: auto; z-index: 100;"><div class="aspectRatioPlaceholder is-locked" style="margin: 0px auto; max-height: 292px; max-width: 700px; position: relative; width: 700px;">
<div class="aspectRatioPlaceholder-fill" style="padding-bottom: 291.9px;">
</div>
<div class="progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded" data-action-value="0*1Y1DE24kMBva59iZ.jpg" data-action="zoom" data-height="413" data-image-id="0*1Y1DE24kMBva59iZ.jpg" data-scroll="native" data-width="990" style="background: rgba(0, 0, 0, 0); box-sizing: border-box; cursor: zoom-in; height: 291.9px; left: 0px; margin: auto; max-width: 100%; position: absolute; top: 0px; transition: background 0.2s ease 0s; width: 700px;">
<canvas class="progressiveMedia-canvas js-progressiveMedia-canvas" height="29" style="backface-visibility: hidden; box-sizing: border-box; display: block; height: 291.9px; left: 0px; margin: auto; opacity: 0; position: absolute; top: 0px; transition: visibility 0s linear 0.5s, opacity 0.1s ease 0.4s; vertical-align: baseline; visibility: hidden; width: 700px;" width="75"></canvas><img class="progressiveMedia-image js-progressiveMedia-image" data-src="https://cdn-images-1.medium.com/max/1000/0*1Y1DE24kMBva59iZ.jpg" src="https://cdn-images-1.medium.com/max/1000/0*1Y1DE24kMBva59iZ.jpg" style="backface-visibility: hidden; border: 0px; box-sizing: border-box; display: block; height: 291.9px; left: 0px; margin: auto; opacity: 1; position: absolute; top: 0px; transition: visibility 0s linear 0s, opacity 0.4s ease 0s; visibility: visible; width: 700px; z-index: 100;" /></div>
</div>
</figure><div class="graf graf--p graf-after--figure" id="61be" name="61be" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 38px;">
7- upload the file that you downloaded from this link</div>
<div class="graf graf--p graf-after--p" id="a711" name="a711" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 29px;">
<a class="markup--anchor markup--p-anchor" data-href="https://github.com/blackboard/lambda-selenium/releases/download/alpha-0.13/node_lambda_function.zip" href="https://github.com/blackboard/lambda-selenium/releases/download/alpha-0.13/node_lambda_function.zip" rel="nofollow noopener nofollow noopener" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0.54); background-color: transparent; background-image: linear-gradient(to right, currentcolor 100%, currentcolor 0px); background-position: 0px calc(1em + 1px); background-repeat: repeat-x; background-size: 1px 1px; text-decoration-line: none;" target="_blank">node_lambda_function.zip</a></div>
<figure class="graf graf--figure graf-after--p" id="aa53" name="aa53" style="background-color: white; box-sizing: border-box; clear: both; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 20px; margin: 43px 0px 0px; outline: 0px; position: relative; user-select: auto; z-index: 100;"><div class="aspectRatioPlaceholder is-locked" style="margin: 0px auto; max-height: 115px; max-width: 700px; position: relative; width: 700px;">
<div class="aspectRatioPlaceholder-fill" style="padding-bottom: 114.8px;">
</div>
<div class="progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded" data-action-value="0*rDKgl4_wPVc8tQys.jpg" data-action="zoom" data-height="163" data-image-id="0*rDKgl4_wPVc8tQys.jpg" data-scroll="native" data-width="993" style="background: rgba(0, 0, 0, 0); box-sizing: border-box; cursor: zoom-in; height: 114.8px; left: 0px; margin: auto; max-width: 100%; position: absolute; top: 0px; transition: background 0.2s ease 0s; width: 700px;">
<canvas class="progressiveMedia-canvas js-progressiveMedia-canvas" height="11" style="backface-visibility: hidden; box-sizing: border-box; display: block; height: 114.8px; left: 0px; margin: auto; opacity: 0; position: absolute; top: 0px; transition: visibility 0s linear 0.5s, opacity 0.1s ease 0.4s; vertical-align: baseline; visibility: hidden; width: 700px;" width="75"></canvas><img class="progressiveMedia-image js-progressiveMedia-image" data-src="https://cdn-images-1.medium.com/max/1000/0*rDKgl4_wPVc8tQys.jpg" src="https://cdn-images-1.medium.com/max/1000/0*rDKgl4_wPVc8tQys.jpg" style="backface-visibility: hidden; border: 0px; box-sizing: border-box; display: block; height: 114.8px; left: 0px; margin: auto; opacity: 1; position: absolute; top: 0px; transition: visibility 0s linear 0s, opacity 0.4s ease 0s; visibility: visible; width: 700px; z-index: 100;" /></div>
</div>
</figure><div class="graf graf--p graf-after--figure" id="8571" name="8571" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 38px;">
The code contains a node.js code that running selenium script using chrome in headless mode and get the page title from the url</div>
<pre class="graf graf--pre graf-after--p" id="6f35" name="6f35" style="background: rgba(0, 0, 0, 0.05); color: rgba(0, 0, 0, 0.84); font-family: Menlo, Monaco, "Courier New", Courier, monospace; font-size: 16px; margin-top: 43px; overflow: auto; padding: 20px; white-space: pre-wrap;">'use strict';</pre>
<pre class="graf graf--pre graf-after--pre" id="2a5f" name="2a5f" style="background: rgba(0, 0, 0, 0.05); color: rgba(0, 0, 0, 0.84); font-family: Menlo, Monaco, "Courier New", Courier, monospace; font-size: 16px; overflow: auto; padding: 4px 20px 20px; white-space: pre-wrap;">exports.handler = (event, context, callback) => {
var webdriver = require('selenium-webdriver');
var chrome = require('selenium-webdriver/chrome');
var builder = new webdriver.Builder().forBrowser('chrome');
var chromeOptions = new chrome.Options();
const defaultChromeFlags = [
'--headless',
'--disable-gpu',
'--window-size=1280x1696', <em class="markup--em markup--pre-em" style="font-feature-settings: "liga", "salt";">// Letter size'--no-sandbox',</em>
'--user-data-dir=/tmp/user-data',
'--hide-scrollbars',
'--enable-logging',
'--log-level=0',
'--v=99',
'--single-process',
'--data-path=/tmp/data-path',
'--ignore-certificate-errors',
'--homedir=/tmp',
'--disk-cache-dir=/tmp/cache-dir'
];</pre>
<pre class="graf graf--pre graf-after--pre" id="5297" name="5297" style="background: rgba(0, 0, 0, 0.05); color: rgba(0, 0, 0, 0.84); font-family: Menlo, Monaco, "Courier New", Courier, monospace; font-size: 16px; overflow: auto; padding: 4px 20px 20px; white-space: pre-wrap;"> chromeOptions.setChromeBinaryPath("/var/task/lib/chrome");
chromeOptions.addArguments(defaultChromeFlags);
builder.setChromeOptions(chromeOptions);</pre>
<pre class="graf graf--pre graf-after--pre" id="5628" name="5628" style="background: rgba(0, 0, 0, 0.05); color: rgba(0, 0, 0, 0.84); font-family: Menlo, Monaco, "Courier New", Courier, monospace; font-size: 16px; overflow: auto; padding: 4px 20px 20px; white-space: pre-wrap;"> var driver = builder.build();
driver.get(event.url);
driver.getTitle().then(function(title) {</pre>
<pre class="graf graf--pre graf-after--pre" id="ba09" name="ba09" style="background: rgba(0, 0, 0, 0.05); color: rgba(0, 0, 0, 0.84); font-family: Menlo, Monaco, "Courier New", Courier, monospace; font-size: 16px; overflow: auto; padding: 4px 20px 20px; white-space: pre-wrap;"> console.log("Page title for " + event.url + " is " + title)
callback(null, 'Page title for ' + event.url + ' is ' + title);
});</pre>
<pre class="graf graf--pre graf-after--pre" id="6b96" name="6b96" style="background: rgba(0, 0, 0, 0.05); color: rgba(0, 0, 0, 0.84); font-family: Menlo, Monaco, "Courier New", Courier, monospace; font-size: 16px; overflow: auto; padding: 4px 20px 20px; white-space: pre-wrap;"> driver.quit();
};</pre>
<div class="graf graf--p graf-after--pre" id="1f95" name="1f95" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 38px;">
8- In Basic setting section you need to increase the memory to the max value and also increase the timeout to be 5 min.</div>
<div class="graf graf--p graf-after--p" id="3ead" name="3ead" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 29px;">
Then on Save button to upload your code and apply the changes</div>
<figure class="graf graf--figure graf-after--p" id="1aa1" name="1aa1" style="background-color: white; box-sizing: border-box; clear: both; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 20px; margin: 43px 0px 0px; outline: 0px; position: relative; user-select: auto; z-index: 100;"><div class="aspectRatioPlaceholder is-locked" style="margin: 0px auto; max-height: 367px; max-width: 542px; position: relative; width: 542px;">
<div class="aspectRatioPlaceholder-fill" style="padding-bottom: 366.925px;">
</div>
<div class="progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded" data-height="367" data-image-id="0*g0_WTAG9ROJaBOiG.jpg" data-scroll="native" data-width="542" style="background: rgba(0, 0, 0, 0); box-sizing: border-box; height: 366.925px; left: 0px; margin: auto; max-width: 100%; position: absolute; top: 0px; transition: background 0.2s ease 0s; width: 542px;">
<canvas class="progressiveMedia-canvas js-progressiveMedia-canvas" height="49" style="backface-visibility: hidden; box-sizing: border-box; display: block; height: 366.925px; left: 0px; margin: auto; opacity: 0; position: absolute; top: 0px; transition: visibility 0s linear 0.5s, opacity 0.1s ease 0.4s; vertical-align: baseline; visibility: hidden; width: 542px;" width="75"></canvas><img class="progressiveMedia-image js-progressiveMedia-image" data-src="https://cdn-images-1.medium.com/max/1000/0*g0_WTAG9ROJaBOiG.jpg" src="https://cdn-images-1.medium.com/max/1000/0*g0_WTAG9ROJaBOiG.jpg" style="backface-visibility: hidden; border: 0px; box-sizing: border-box; display: block; height: 366.925px; left: 0px; margin: auto; opacity: 1; position: absolute; top: 0px; transition: visibility 0s linear 0s, opacity 0.4s ease 0s; visibility: visible; width: 542px; z-index: 100;" /></div>
</div>
</figure><div class="graf graf--p graf-after--figure" id="77ee" name="77ee" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 38px;">
9- Wait the saving until the success status displayed</div>
<figure class="graf graf--figure graf-after--p" id="4d18" name="4d18" style="background-color: white; box-sizing: border-box; clear: both; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 20px; margin: 43px 0px 0px; outline: 0px; position: relative; user-select: auto; z-index: 100;"><div class="aspectRatioPlaceholder is-locked" style="margin: 0px auto; max-height: 330px; max-width: 556px; position: relative; width: 556px;">
<div class="aspectRatioPlaceholder-fill" style="padding-bottom: 330.263px;">
</div>
<div class="progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded" data-height="330" data-image-id="0*-9ExiSsU6oxhDqWa.jpg" data-scroll="native" data-width="556" style="background: rgba(0, 0, 0, 0); box-sizing: border-box; height: 330px; left: 0px; margin: auto; max-width: 100%; position: absolute; top: 0px; transition: background 0.2s ease 0s; width: 556px;">
<canvas class="progressiveMedia-canvas js-progressiveMedia-canvas" height="43" style="backface-visibility: hidden; box-sizing: border-box; display: block; height: 330px; left: 0px; margin: auto; opacity: 0; position: absolute; top: 0px; transition: visibility 0s linear 0.5s, opacity 0.1s ease 0.4s; vertical-align: baseline; visibility: hidden; width: 556px;" width="75"></canvas><img class="progressiveMedia-image js-progressiveMedia-image" data-src="https://cdn-images-1.medium.com/max/1000/0*-9ExiSsU6oxhDqWa.jpg" src="https://cdn-images-1.medium.com/max/1000/0*-9ExiSsU6oxhDqWa.jpg" style="backface-visibility: hidden; border: 0px; box-sizing: border-box; display: block; height: 330px; left: 0px; margin: auto; opacity: 1; position: absolute; top: 0px; transition: visibility 0s linear 0s, opacity 0.4s ease 0s; visibility: visible; width: 556px; z-index: 100;" /></div>
</div>
</figure><figure class="graf graf--figure graf-after--figure" id="0a2b" name="0a2b" style="background-color: white; box-sizing: border-box; clear: both; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 20px; margin: 52px 0px 0px; outline: 0px; position: relative; user-select: auto; z-index: 100;"><div class="aspectRatioPlaceholder is-locked" style="margin: 0px auto; max-height: 283px; max-width: 569px; position: relative; width: 569px;">
<div class="aspectRatioPlaceholder-fill" style="padding-bottom: 282.788px;">
</div>
<div class="progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded" data-height="283" data-image-id="0*570V1qKWRFgYuHyW.jpg" data-scroll="native" data-width="569" style="background: rgba(0, 0, 0, 0); box-sizing: border-box; height: 282.788px; left: 0px; margin: auto; max-width: 100%; position: absolute; top: 0px; transition: background 0.2s ease 0s; width: 569px;">
<canvas class="progressiveMedia-canvas js-progressiveMedia-canvas" height="35" style="backface-visibility: hidden; box-sizing: border-box; display: block; height: 282.788px; left: 0px; margin: auto; opacity: 0; position: absolute; top: 0px; transition: visibility 0s linear 0.5s, opacity 0.1s ease 0.4s; vertical-align: baseline; visibility: hidden; width: 569px;" width="75"></canvas><img class="progressiveMedia-image js-progressiveMedia-image" data-src="https://cdn-images-1.medium.com/max/1000/0*570V1qKWRFgYuHyW.jpg" src="https://cdn-images-1.medium.com/max/1000/0*570V1qKWRFgYuHyW.jpg" style="backface-visibility: hidden; border: 0px; box-sizing: border-box; display: block; height: 282.788px; left: 0px; margin: auto; opacity: 1; position: absolute; top: 0px; transition: visibility 0s linear 0s, opacity 0.4s ease 0s; visibility: visible; width: 569px; z-index: 100;" /></div>
</div>
</figure><div class="graf graf--p graf-after--figure" id="ee7e" name="ee7e" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 38px;">
10 — Now we will add a Test event using a JSON file and add the url as a test data</div>
<figure class="graf graf--figure graf-after--p" id="e11f" name="e11f" style="background-color: white; box-sizing: border-box; clear: both; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 20px; margin: 43px 0px 0px; outline: 0px; position: relative; user-select: auto; z-index: 100;"><div class="aspectRatioPlaceholder is-locked" style="margin: 0px auto; max-height: 263px; max-width: 700px; position: relative; width: 700px;">
<div class="aspectRatioPlaceholder-fill" style="padding-bottom: 263.2px;">
</div>
<div class="progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded" data-action-value="0*HSbYpbrVg9E0Z0NC.jpg" data-action="zoom" data-height="421" data-image-id="0*HSbYpbrVg9E0Z0NC.jpg" data-scroll="native" data-width="1119" style="background: rgba(0, 0, 0, 0); box-sizing: border-box; cursor: zoom-in; height: 263px; left: 0px; margin: auto; max-width: 100%; position: absolute; top: 0px; transition: background 0.2s ease 0s; width: 700px;">
<canvas class="progressiveMedia-canvas js-progressiveMedia-canvas" height="27" style="backface-visibility: hidden; box-sizing: border-box; display: block; height: 263px; left: 0px; margin: auto; opacity: 0; position: absolute; top: 0px; transition: visibility 0s linear 0.5s, opacity 0.1s ease 0.4s; vertical-align: baseline; visibility: hidden; width: 700px;" width="75"></canvas><img class="progressiveMedia-image js-progressiveMedia-image" data-src="https://cdn-images-1.medium.com/max/1000/0*HSbYpbrVg9E0Z0NC.jpg" src="https://cdn-images-1.medium.com/max/1000/0*HSbYpbrVg9E0Z0NC.jpg" style="backface-visibility: hidden; border: 0px; box-sizing: border-box; display: block; height: 263px; left: 0px; margin: auto; opacity: 1; position: absolute; top: 0px; transition: visibility 0s linear 0s, opacity 0.4s ease 0s; visibility: visible; width: 700px; z-index: 100;" /></div>
</div>
</figure><figure class="graf graf--figure graf-after--figure" id="d6d2" name="d6d2" style="background-color: white; box-sizing: border-box; clear: both; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 20px; margin: 52px 0px 0px; outline: 0px; position: relative; user-select: auto; z-index: 100;"><div class="aspectRatioPlaceholder is-locked" style="margin: 0px auto; max-height: 450px; max-width: 700px; position: relative; width: 700px;">
<div class="aspectRatioPlaceholder-fill" style="padding-bottom: 450.8px;">
</div>
<div class="progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded" data-action-value="0*bD0KdJcpYvrN4tvC.jpg" data-action="zoom" data-height="520" data-image-id="0*bD0KdJcpYvrN4tvC.jpg" data-scroll="native" data-width="808" style="background: rgba(0, 0, 0, 0); box-sizing: border-box; cursor: zoom-in; height: 450px; left: 0px; margin: auto; max-width: 100%; position: absolute; top: 0px; transition: background 0.2s ease 0s; width: 700px;">
<canvas class="progressiveMedia-canvas js-progressiveMedia-canvas" height="47" style="backface-visibility: hidden; box-sizing: border-box; display: block; height: 450px; left: 0px; margin: auto; opacity: 0; position: absolute; top: 0px; transition: visibility 0s linear 0.5s, opacity 0.1s ease 0.4s; vertical-align: baseline; visibility: hidden; width: 700px;" width="75"></canvas><img class="progressiveMedia-image js-progressiveMedia-image" data-src="https://cdn-images-1.medium.com/max/1000/0*bD0KdJcpYvrN4tvC.jpg" src="https://cdn-images-1.medium.com/max/1000/0*bD0KdJcpYvrN4tvC.jpg" style="backface-visibility: hidden; border: 0px; box-sizing: border-box; display: block; height: 450px; left: 0px; margin: auto; opacity: 1; position: absolute; top: 0px; transition: visibility 0s linear 0s, opacity 0.4s ease 0s; visibility: visible; width: 700px; z-index: 100;" /></div>
</div>
</figure><div class="graf graf--p graf-after--figure" id="9829" name="9829" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 38px;">
11- Save your test event and click on <span class="markup--strong markup--p-strong" style="font-weight: 700;">Test</span> button</div>
<figure class="graf graf--figure graf-after--p" id="b979" name="b979" style="background-color: white; box-sizing: border-box; clear: both; color: rgba(0, 0, 0, 0.84); font-family: medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 20px; margin: 43px 0px 0px; outline: 0px; position: relative; user-select: auto; z-index: 100;"><div class="aspectRatioPlaceholder is-locked" style="margin: 0px auto; max-height: 308px; max-width: 700px; position: relative; width: 700px;">
<div class="aspectRatioPlaceholder-fill" style="padding-bottom: 308px;">
</div>
<div class="progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded" data-action-value="0*VDmE_enDOkYIptxS.jpg" data-action="zoom" data-height="491" data-image-id="0*VDmE_enDOkYIptxS.jpg" data-scroll="native" data-width="1116" style="background: rgba(0, 0, 0, 0); box-sizing: border-box; cursor: zoom-in; height: 308px; left: 0px; margin: auto; max-width: 100%; position: absolute; top: 0px; transition: background 0.2s ease 0s; width: 700px;">
<canvas class="progressiveMedia-canvas js-progressiveMedia-canvas" height="31" style="backface-visibility: hidden; box-sizing: border-box; display: block; height: 308px; left: 0px; margin: auto; opacity: 0; position: absolute; top: 0px; transition: visibility 0s linear 0.5s, opacity 0.1s ease 0.4s; vertical-align: baseline; visibility: hidden; width: 700px;" width="75"></canvas><img class="progressiveMedia-image js-progressiveMedia-image" data-src="https://cdn-images-1.medium.com/max/1000/0*VDmE_enDOkYIptxS.jpg" src="https://cdn-images-1.medium.com/max/1000/0*VDmE_enDOkYIptxS.jpg" style="backface-visibility: hidden; border: 0px; box-sizing: border-box; display: block; height: 308px; left: 0px; margin: auto; opacity: 1; position: absolute; top: 0px; transition: visibility 0s linear 0s, opacity 0.4s ease 0s; visibility: visible; width: 700px; z-index: 100;" /></div>
</div>
</figure><div class="graf graf--p graf-after--figure" id="6010" name="6010" style="--baseline-multiplier: 0.17; background-color: white; color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, "Times New Roman", Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 38px;">
<span class="markup--strong markup--p-strong" style="font-weight: 700;">Congratulation</span> the test passed and the result will be the page title of the url that you are using</div>
</div>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-77117130725386429572018-06-01T18:16:00.000-07:002018-06-01T18:16:47.586-07:00"Windows Subsystem for Linux" (also known as "Bash on Ubuntu on Windows") AKA Windows 10 bash<h1 style="border-bottom-color: rgb(46, 61, 84); font-family: Arial, sans-serif; font-size: 24px; font-weight: normal; line-height: 1.25; margin: 0px;">
"Windows Subsystem for Linux" (also known as "Bash on Ubuntu on Windows")</h1>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
folks try to:</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Minimize it - "Oh, it's just Cygwin." (It's actually not, it's the actual Ubuntu elf binaries running on a layer that abstracts the Linux kernel.)<br />
Design it - "So it's a docker container? A VM?" (Again, it's a whole subsystem. It does WAY more than you'd think, and it's FASTer than a VM.)</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Here's a simple explanation from Andrew Pardoe <span data-mce-style="color: #808080;" style="color: grey;"> Principal Program Manager, MSVC Compiler and Tools - Microsoft</span></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
1. The developer/user uses a bash shell.<br />
2. The bash shell runs on an install of Ubuntu<br />
3. The Ubuntu install runs on a Windows subsystem. This subsystem is designed to support Linux.</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
It's pretty cool. WSL has, frankly, kept me running Windows because I can run cmd, powershell, OR bash (or zsh or Fish). You can run vim, emacs, tmux, and run Javascript/node.js, Ruby, Python, C/C++, C# & F#, Rust, Go, and more. You can also now run sshd, MySQL, Apache, lighttpd as long as you know that when you close your last console the background services will shut down. Bash on Windows is for developers, not background server apps. And of course, you apt-get your way to glory.</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Bash on Windows runs Ubuntu user-mode binaries provided by Canonical. This means the command-line utilities are the same as those that run within a native Ubuntu environment.</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Install/Enable the Windows Subsystem for Linux<br />
Enable the "Windows Subsystem for Linux" optional feature and reboot.</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Open PowerShell as Administrator and run:</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
restart</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Start bash<br />
Windows Menu type or search bash</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
-- Beta feature --<br />
This will install Ubuntu on Windows, distributed by Canonical<br />
and licensed under its terms available here:<br />
<a data-mce-href="https://aka.ms/uowterms" href="https://aka.ms/uowterms" style="color: rgb(50, 108, 166) !important; text-decoration-line: none;">https://aka.ms/uowterms</a></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Type "y" to continue: y<br />
Downloading from the Windows Store... 100%<br />
Extracting filesystem, this will take a few minutes...<br />
Please create a default UNIX user account. The username does not need to match your Windows username.<br />
For more information visit: <a data-mce-href="https://aka.ms/wslusers" href="https://aka.ms/wslusers" style="color: rgb(50, 108, 166) !important; text-decoration-line: none;">https://aka.ms/wslusers</a><br />
Enter new UNIX username: gps<br />
Password: brcm1234</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Then, from the bash shell make sure you have build-essential, gdb's server, and openssh's server:</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
$ sudo apt update<br />
$ sudo apt install -y build-essential<br />
$ sudo apt install -y gdbserver<br />
$ sudo apt install -y openssh-server<br />
Then open up /etc/ssh/sshd_config with vi (or nano) like</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
sudo nano /etc/ssh/sshd_config<br />
and for simplicity's sake, set PasswordAuthentication to yes. Remember that it's not as big a security issue as you'd think as the SSHD daemon closes when your last console does, and because WSL's subsystem has to play well with Windows, it's privy to the Windows Firewall and all its existing rules, plus we're talking localhost also.</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Now generate SSH keys and manually start the service:</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
$ sudo ssh-keygen -A<br />
$ sudo service ssh start</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Connect your build system for Linux to use port 22<br />
username gps<br />
password brcm1234</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-9RcPvQ5FW6o/WxHuoSDC6ZI/AAAAAAAAC0E/o6IH0PLtWPoRmSrO3ICjmKRn0tzIGbvFQCLcBGAs/s1600/bash_windows10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="645" data-original-width="1105" src="https://4.bp.blogspot.com/-9RcPvQ5FW6o/WxHuoSDC6ZI/AAAAAAAAC0E/o6IH0PLtWPoRmSrO3ICjmKRn0tzIGbvFQCLcBGAs/s1600/bash_windows10.png" /></a></div>
<br /></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
</div>
<h3 style="font-family: Arial, sans-serif; font-size: 16px; line-height: 1.5; margin: 30px 0px 0px;">
How connect to your Visual Studio</h3>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
<br /></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
<br /></div>
<div class="container" style="color: #333333; font-family: Arial, sans-serif; font-size: 14px;">
<div>
<h1 style="border-bottom-color: rgb(46, 61, 84); color: black; font-size: 24px; font-weight: normal; line-height: 1.25; margin: 0px;">
Getting Started</h1>
<h2 style="border-bottom-color: rgb(46, 61, 84); color: black; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 10px 0px 0px;">
Visual C++ for Linux Development</h2>
</div>
<table class="confluenceTable" style="border-collapse: collapse; margin: 10px 0px 0px; overflow-x: auto;"><tbody>
<tr><td class="confluenceTd" style="border: 1px solid rgb(221, 221, 221); padding: 7px 10px; vertical-align: top; white-space: pre-wrap;"><h1 style="border-bottom-color: rgb(46, 61, 84); font-size: 24px; font-weight: normal; line-height: 1.25; margin: 0px;">
Setting up your project for Linux Development</h1>
<div style="margin-top: 10px;">
With this workload you can author C++ code for Linux servers, desktops and devices. You can manage your connections to these machines from within VS. VS will automatically copy and remotely build your sources and can launch your application with the debugger. Our project system supports targeting specific architectures, including ARM.<br />
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-oM6BAcPYunw/WxHunDEJgKI/AAAAAAAACz0/ybbN9LqC_X0MGvQNQwcKABri-JKV2X8WACEwYBhgL/s1600/ArchOptions.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="100" data-original-width="353" src="https://3.bp.blogspot.com/-oM6BAcPYunw/WxHunDEJgKI/AAAAAAAACz0/ybbN9LqC_X0MGvQNQwcKABri-JKV2X8WACEwYBhgL/s1600/ArchOptions.gif" /></a></div>
<h1 style="border-bottom-color: rgb(46, 61, 84); font-size: 24px; font-weight: normal; line-height: 1.25; margin: 30px 0px 0px;">
<span class="confluence-embedded-file-wrapper"></span></h1>
<h1 style="border-bottom-color: rgb(46, 61, 84); font-size: 24px; font-weight: normal; line-height: 1.25; margin: 10px 0px 0px;">
Connecting to Linux</h1>
<h2 style="border-bottom-color: rgb(46, 61, 84); font-size: 20px; font-weight: normal; line-height: 1.5; margin: 10px 0px 0px;">
Prerequisites</h2>
<div style="margin-top: 10px;">
Today we only support building remotely on the Linux target machine. We are not limited by specific Linux distros but we do have dependencies on the presence of some tools. Specifically, we need openssh-server, g++, gdb and gdbserver. Use your favorite package manager to install them, e.g. on Debian based systems: sudo apt-get install openssh-server g++ gdb gdbserver</div>
<h2 style="border-bottom-color: rgb(46, 61, 84); font-size: 20px; font-weight: normal; line-height: 1.5; margin: 30px 0px 0px;">
First connection</h2>
<div style="margin-top: 10px;">
The first time you target a Linux machine you will be prompted for connection information. This is triggered by building the project.</div>
<div style="margin-top: 10px;">
On your Visual Studio go to <code>Tools > Options > Cross Platform > Linux</code> and enter the credential</div>
<ul style="margin: 10px 0px 0px; padding-left: 22px;">
<li>Hostname: IP or hostname of your docker host</li>
<li>Port: The port you have pass in the previous command ( <code>12345</code> for example)</li>
<li>Username: <code>gps</code></li>
<li>Authentication type: <code>password</code></li>
<li>Password: <code>brcm1234</code></li>
</ul>
<div style="margin-top: 10px;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-DGoKQWhDvQ8/WxHuo6eoDPI/AAAAAAAAC0g/SjaeCkI-hqMPpJdICOXJAAr_UEJ7YY3-wCEwYBhgL/s1600/image2018-1-22%2B17_21_30.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="639" data-original-width="904" src="https://3.bp.blogspot.com/-DGoKQWhDvQ8/WxHuo6eoDPI/AAAAAAAAC0g/SjaeCkI-hqMPpJdICOXJAAr_UEJ7YY3-wCEwYBhgL/s1600/image2018-1-22%2B17_21_30.png" /></a></div>
<span class="confluence-embedded-file-wrapper"></span></div>
<div style="margin-top: 10px;">
<br /></div>
<h2 style="border-bottom-color: rgb(46, 61, 84); font-size: 20px; font-weight: normal; line-height: 1.5; margin: 30px 0px 0px;">
Adding and removing connections</h2>
<div style="margin-top: 10px;">
To add a new connection, go to Tools > Options and search for Connection, Connection Manager will be under Cross Platform. From here you can add and remove connections.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-pL0CFqD2aOc/WxHunN9-7NI/AAAAAAAAC0s/CpdoNZHHBDcm-vPn_U9-I7coQCm8ZcURACEwYBhgL/s1600/ManageConnections.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="830" src="https://1.bp.blogspot.com/-pL0CFqD2aOc/WxHunN9-7NI/AAAAAAAAC0s/CpdoNZHHBDcm-vPn_U9-I7coQCm8ZcURACEwYBhgL/s1600/ManageConnections.gif" /></a></div>
<h1 style="border-bottom-color: rgb(46, 61, 84); font-size: 24px; font-weight: normal; line-height: 1.25; margin: 30px 0px 0px;">
<span class="confluence-embedded-file-wrapper"></span></h1>
<div style="margin-top: 10px;">
To change which connection a project is using go to the project properties general settings and update the Remote Build Machine option.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-9GbBX2rp3oE/WxHunJa4KcI/AAAAAAAAC0s/MaGsdIzgl48VVzwSLbrdJwSIoZ0U9h5XwCEwYBhgL/s1600/ChangeRemote.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="830" src="https://2.bp.blogspot.com/-9GbBX2rp3oE/WxHunJa4KcI/AAAAAAAAC0s/MaGsdIzgl48VVzwSLbrdJwSIoZ0U9h5XwCEwYBhgL/s1600/ChangeRemote.gif" /></a></div>
<h1 style="border-bottom-color: rgb(46, 61, 84); font-size: 24px; font-weight: normal; line-height: 1.25; margin: 30px 0px 0px;">
<span class="confluence-embedded-file-wrapper"></span></h1>
<h1 style="border-bottom-color: rgb(46, 61, 84); font-size: 24px; font-weight: normal; line-height: 1.25; margin: 10px 0px 0px;">
Project Properties</h1>
<div style="margin-top: 10px;">
All of the options necessary to control C++ compilation are exposed on the project properies pages. We'll cover a few specific to how things work for Linux. First under general settings, you will see the remote root is set to ~/projects/ by default and that we are setting the remote project directory to match our project name in that location.</div>
<div style="margin-top: 10px;">
<span class="confluence-embedded-file-wrapper"></span></div>
<div style="margin-top: 10px;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-R4piLFmHVEU/WxHuoLynJ1I/AAAAAAAAC0s/CW47V6rqNdoSU9mfs0zJDH-K8d5rAKZFwCEwYBhgL/s1600/OutputTypes.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="350" data-original-width="845" src="https://1.bp.blogspot.com/-R4piLFmHVEU/WxHuoLynJ1I/AAAAAAAAC0s/CW47V6rqNdoSU9mfs0zJDH-K8d5rAKZFwCEwYBhgL/s1600/OutputTypes.gif" /></a></div>
<br />
Looking at the General settings for the project, you can see how our output and intermediate directories were configured. Additionally, you’ll see that this project was configured as an application – thus our executable is under bin/x64/Debug/ as ConsoleApplication1.out. Notice that for configuration types we also support static and dynamic libraries.</div>
<div style="margin-top: 10px;">
Add additional library dependencies on the Linker > Input property page.</div>
<div style="margin-top: 10px;">
<span class="confluence-embedded-file-wrapper"></span></div>
<div style="margin-top: 10px;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-xrliq1BNEx0/WxHupeIDjfI/AAAAAAAAC0k/KMJJSq3GiQM6Z8Miy7ru05YELUud2XxJACEwYBhgL/s1600/linker.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="364" data-original-width="856" src="https://4.bp.blogspot.com/-xrliq1BNEx0/WxHupeIDjfI/AAAAAAAAC0k/KMJJSq3GiQM6Z8Miy7ru05YELUud2XxJACEwYBhgL/s1600/linker.png" /></a></div>
<br />
You can pass additional pre launch commands to the debugger to do things like launch graphical apps on the remote linux machine.</div>
<div style="margin-top: 10px;">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-DU5JK4UfYbs/WxHuocrJr9I/AAAAAAAAC0s/X0EdwqjuNJEprvGjlZVNmgp4kzPcCDjYwCEwYBhgL/s1600/debuggerexport.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="266" data-original-width="859" src="https://2.bp.blogspot.com/-DU5JK4UfYbs/WxHuocrJr9I/AAAAAAAAC0s/X0EdwqjuNJEprvGjlZVNmgp4kzPcCDjYwCEwYBhgL/s1600/debuggerexport.png" /></a></div>
<br /></div>
<div style="margin-top: 10px;">
<span class="confluence-embedded-file-wrapper"></span></div>
<div style="margin-top: 10px;">
You can also send post build events to control remote behavior, as in this example that exports a gpio pin for use without requiring the executable run as super user.</div>
<div style="margin-top: 10px;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-wO_SHPQUEBU/WxHupSu58hI/AAAAAAAAC0o/yyPREWMNLlwx4HqjuEycZl6IrJuykVnUQCEwYBhgL/s1600/postbuild.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="323" data-original-width="860" src="https://1.bp.blogspot.com/-wO_SHPQUEBU/WxHupSu58hI/AAAAAAAAC0o/yyPREWMNLlwx4HqjuEycZl6IrJuykVnUQCEwYBhgL/s1600/postbuild.png" /></a></div>
<span class="confluence-embedded-file-wrapper"></span></div>
<div style="margin-top: 10px;">
<br /></div>
<h2 style="border-bottom-color: rgb(46, 61, 84); font-size: 20px; font-weight: normal; line-height: 1.5; margin: 30px 0px 0px;">
Console window</h2>
<div style="margin-top: 10px;">
The Linux workload has a console window tailored for interacting with your remote executables. This window shows not just the output of your program but can also take input. To activate this window, use the menu Debug, Linux Console.</div>
<div style="margin-top: 10px;">
<br /></div>
<div style="margin-top: 10px;">
Now you can attach to gdbserver running inside bash ubuntu on your local Windows 10<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-DU5JK4UfYbs/WxHuocrJr9I/AAAAAAAAC0s/X0EdwqjuNJEprvGjlZVNmgp4kzPcCDjYwCEwYBhgL/s1600/debuggerexport.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="266" data-original-width="859" src="https://2.bp.blogspot.com/-DU5JK4UfYbs/WxHuocrJr9I/AAAAAAAAC0s/X0EdwqjuNJEprvGjlZVNmgp4kzPcCDjYwCEwYBhgL/s1600/debuggerexport.png" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-a3LGPLKkSKk/WxHupjbSGSI/AAAAAAAAC0w/K0mMrIBtgcYddmVsjbExy0f3MlQeW2qegCEwYBhgL/s1600/vs2017_linux_debugger.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="844" data-original-width="1600" src="https://1.bp.blogspot.com/-a3LGPLKkSKk/WxHupjbSGSI/AAAAAAAAC0w/K0mMrIBtgcYddmVsjbExy0f3MlQeW2qegCEwYBhgL/s1600/vs2017_linux_debugger.png" /></a></div>
<br /></div>
<div style="margin-top: 10px;">
</div>
</td></tr>
</tbody></table>
<div style="margin-top: 10px;">
<br /></div>
<table class="wysiwyg-macro" data-macro-body-type="PLAIN_TEXT" data-macro-id="6e84d1af-3e2c-434c-b1c5-58511d2d57f7" data-macro-name="noformat" data-macro-schema-version="1" data-mce-style="background-image: url('http://confluence.broadcom.com/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2'); background-repeat: no-repeat;" style="background-color: #f0f0f0; background-image: url("/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2"); background-position: 0px 0px; background-repeat: no-repeat; border: 1px solid rgb(221, 221, 221); cursor: move; margin-top: 10px; padding: 24px 2px 2px; width: 1944px;"><tbody>
<tr><td class="wysiwyg-macro-body" style="background-color: white; border: 1px solid rgb(221, 221, 221); cursor: text; margin: 0px; padding: 10px; white-space: pre-wrap;"><pre style="tab-size: 4; white-space: pre-wrap;">=thread-group-added,id="i1"
GNU gdb (GDB) 7.9
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http: gnu.org="" gpl.html="" licenses="">
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=i686-pc-mingw32 --target=x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http: bugs="" gdb="" software="" www.gnu.org="">.
Find the GDB manual and other documentation resources online at:
<http: documentation="" gdb="" software="" www.gnu.org="">.
For help, type "help".
Type "apropos word" to search for commands related to "word".
=cmd-param-changed,param="pagination",value="off"
Loaded 'shared libraries loaded at this time.'. Cannot find or open the symbol file.
Stopped due to shared library event:
Inferior loaded /lib/x86_64-linux-gnu/libc.so.6
/lib64/ld-linux-x86-64.so.2
Loaded '/lib/x86_64-linux-gnu/libc.so.6'. Cannot find or open the symbol file.
Loaded '/lib64/ld-linux-x86-64.so.2'. Cannot find or open the symbol file.
Breakpoint 1, main () at /home/gps/projects/ConsoleApplication1/main.cpp:5
Kill the program being debugged? (y or n) [answered Y; input not from terminal]
The program '' has exited with code 0 (0x0).
</http:></http:></http:></pre>
</td></tr>
</tbody></table>
<div style="margin-top: 10px;">
<br /></div>
</div>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-44249256187178026152018-05-31T13:31:00.003-07:002018-05-31T13:32:36.714-07:00GPS L1 L5 DUAL FREQUENCY XIAOMI MI8 TALK<span style="color: #222222; font-family: "arial" , sans-serif; font-size: x-small;">Xiaomi MI8</span><br />
<div style="color: #222222; font-family: arial, sans-serif; font-size: small;">
<br />
L1-L5 JUMP</div>
<div style="color: #222222; font-family: arial, sans-serif; font-size: small;">
<a href="https://youtu.be/bHm2MINoA0A?t=1h31m10s" style="background-color: white; color: #1155cc; font-size: 12.8px;" target="_blank"><span style="color: #1155cc; font-family: "arial" , sans-serif;">https://youtu.be/<wbr></wbr>bHm2MINoA0A?</span><span style="color: #1155cc; font-family: "arial" , sans-serif;">t=1h31m10s</span></a><br />
<br />
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/bHm2MINoA0A/0.jpg" src="https://www.youtube.com/embed/bHm2MINoA0A?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-22543983869719234922018-01-29T21:52:00.004-08:002018-01-29T21:52:58.115-08:00Windows 10 OS point of view - a lot of good points well said<br />
<br />
<div style="font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal;">
<span style="font-size: 12pt;">https://itvision.altervista.org/why-windows-10-sucks.html</span></div>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-27660327060332157972017-10-18T14:05:00.005-07:002017-10-18T14:05:44.894-07:00PROBLEM FORMATTING USB FLASH DRIVE<br style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;" /><b style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;"><u>Showing unknown size of truncated size</u></b><br style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;" /><br style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;" /><span style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">Run CMD.EXE as administrator</span><br style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;" /><u style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">Type following commands and hit ENTER key after each command.</u><br style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;" /><span style="background-color: #f6fafb; color: #323232; font-family: Symbol; font-size: 13.3333px;">· </span><b style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">DISKPART</b><span style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;"> </span><i style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">starts the DiskPart program</i><br style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;" /><span style="background-color: #f6fafb; color: #323232; font-family: Symbol; font-size: 13.3333px;">· </span><b style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">LIST DISK </b><i style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">shows numeral assigned to disks</i><i style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;"><br /></i><span style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">note the numeral assigned to your usb stick</span><br style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;" /><span style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">The numeral 2 will be used in this example</span><br style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;" /><span style="background-color: #f6fafb; color: #323232; font-family: Symbol; font-size: 13.3333px;">· </span><b style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">SELECT DISK 2</b><br style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;" /><span style="background-color: #f6fafb; color: #323232; font-family: Symbol; font-size: 13.3333px;">· </span><b style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">DETAIL DISK</b><span style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;"> </span><i style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">the info shown will confirm the correctness of your selection</i><br style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;" /><span style="background-color: #f6fafb; color: #323232; font-family: Symbol; font-size: 13.3333px;">· </span><b style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">CLEAN ALL</b><span style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;"> </span><i style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">the entire usb stick will be overwritten with zeros</i><br style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;" /><span style="background-color: #f6fafb; color: #323232; font-family: Symbol; font-size: 13.3333px;">· </span><b style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">CREATE PARTITION PRIMARY </b><i style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">create a primary partition on the USB stick</i><br style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;" /><span style="background-color: #f6fafb; color: #323232; font-family: Symbol; font-size: 13.3333px;">· </span><b style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">FORMAT FS=NTFS </b><i style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">format the partition</i><br style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;" /><span style="background-color: #f6fafb; color: #323232; font-family: Symbol; font-size: 13.3333px;">· </span><b style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">ACTIVE </b><i style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">the partition can contain operating system startup files</i><br style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;" /><span style="background-color: #f6fafb; color: #323232; font-family: Symbol; font-size: 13.3333px;">· </span><b style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">ASSIGN </b><i style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">the next available letter is assigned to the USB stick</i><br style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;" /><span style="background-color: #f6fafb; color: #323232; font-family: Symbol; font-size: 13.3333px;">· </span><b style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">EXIT </b><i style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">exit from the DISKPART program</i><br style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;" /><span style="background-color: #f6fafb; color: #323232; font-family: Symbol; font-size: 13.3333px;">· </span><b style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">EXIT </b><i style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">exit from the command shell</i>Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-40287265254962497142017-08-28T00:15:00.004-07:002017-08-28T00:15:54.146-07:00basic linux commands<div>
<br /></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">ls = If you run ls without any additional parameters, the program will list the contents of the current directory in short form.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">ls -l = detailed list</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">ls -a = displays hidden files</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">cp = Copies sourcefile to targetfile.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">cp -r = Copies recursively (includes subdirectories)</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">mv = Copies sourcefile to targetfile then deletes the original sourcefile.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">mv -b = Creates a backup copy of the sourcefile before moving</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">rm = Removes the specified files from the file system. Directories are not removed by rm unless the option -r is used.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">rm -r = Deletes any existing subdirectories</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">rmdir = Deletes the specified directory, provided it is already empty.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">cd = Changes the current directory. cd without any parameters changes to the user’s home directory.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">mkdir = Creates a new directory.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">cat = The cat command displays the contents of a file, printing the entire contents to the screen without interruption.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">cat -n = Numbers the output on the left margin</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">less = This command can be used to browse the contents of the specified file. Scroll half a screen page up or down with PgUp and PgDn or a full screen page down with Space. Jump to the beginning or end of a file using Home and End. Press Q to exit the program.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">grep = The grep command finds a specific searchstring in the specified file(s). If the search string is found, the command displays the line in which the searchstring was found along with the file name.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">df = The df (disk free) command, when used without any options, displays information about the total disk space, the disk space currently in use, and the free space on all the mounted drives. If a directory is specified, the information is limited to the drive on which that directory is located.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">df -h = shows human readable output of disk usage</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">du = This command, when executed without any parameters, shows the total disk space occupied by files and subdirectories in the current directory.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">du -sh = Shows current folder size</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">du -sh * = List files/folders with their size in current folder</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">free = The command free displays information about RAM and swap space usage, showing the total and the used amount in both categories.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">free -m = Shows output in human readable format</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">date = This simple program displays the current system time. If run as root, it can also be used to change the system time. Details about the program are available in date.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">top = top provides a quick overview of the currently running processes. Press H to access a page that briefly explains the main options to customize the program.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">kill = [You can kill processes which are executed only by you] Unfortunately, sometimes a program cannot be terminated in the normal way. However, in most cases, you should still be able to stop such a runaway program by executing the kill command, specifying the respective process ID (see top and ps).</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">kill sends a TERM signal that instructs the program to shut itself down. If this does not help, the following parameter can be used:</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">kill -9 = [You can kill processes which are executed only by you] Sends a KILL signal instead of a TERM signal, with which the process really is annihilated by the operating system. This brings the specific processes to an end in almost all cases.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">ping = The ping command is the standard tool for testing the basic functionality of TCP/IP networks. It sends a small data packet to the destination host, requesting an immediate reply. If this works, ping displays a message to that effect, which indicates that the network link is basically functioning.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">passwd = Users may change their own passwords at any time using this command. Furthermore, the administrator root can use the command to change the password of any user on the system.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">clear = This command cleans up the visible area of the console. It has no options.</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">Useful options</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">——————–</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">mv -f force move by overwriting destination file without prompt</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">mv -i interactive prompt before overwrite</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">mv -u update – move when source is newer than destination</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">mv -v verbose – print source and destination files</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">man mv/info mv help manual</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;"> </span></div>
<div>
<br /></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">List commands to display the content of a file</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">head, tail, cat less, more etc</span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="color: #333333; font-family: Verdana, sans-serif;">eg. $ cat file_name.txt</span></div>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-45442119112269354792017-04-14T14:36:00.004-07:002017-04-14T14:48:01.616-07:00Visual Studio 2017 15.1 April 2017 and Windows 10 version 1703 update _march_2017Be carreful with <span style="background-color: white; font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;">Visual Studio Professional 2017 (version 15.1)</span><br />
<span style="background-color: white; color: #212121; font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;">Release date 4/4/2017 </span>even if you install the latest version from on top of latest Windows 10 OS from March 2017 which was released before obviously.... Visual Studio will throw at you the most annoying dialog windowd from which you can't copy past the error message and from there you can't open any Xamarin or XAML project<br />
<br />
Go figure how stupid you need to be to do such things... Poor team synchronization at Microsoft...<br />
Why can't you check the OS first instead of wasting precious time.....<br />
<br />
en_windows_10_enterprise_version_1703_updated_march_2017_x64_dvd_10189290.iso<br />
<br />
Get your shit together Microsoft<br />
<br />
<br />
<br />
[3554:0031][2017-04-14T14:19:05] Marking package Microsoft.Windows.UniversalCRT.Msu.8 as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.2,6.3)'.<br />
[3554:0031][2017-04-14T14:19:05] Marking package Microsoft.Windows.UniversalCRT.Msu.81 as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.3,6.4)'.<br />
[3554:0031][2017-04-14T14:19:05] Marking package Microsoft.Net.4.6.FullRedist as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1.1,6.4)'.<br />
[3554:0031][2017-04-14T14:19:05] Marking package Microsoft.Windows.UniversalCRT.Msu.7 as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.2)'.<br />
[3554:0031][2017-04-14T14:19:05] Marking package Microsoft.DiagnosticsHub.KB2882822.Win7 as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.2)'.<br />
[3554:0031][2017-04-14T14:19:05] Marking package WebSocket4NetV2 as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.2)'.<br />
[3554:0031][2017-04-14T14:19:05] Marking package Component.WebSocket as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.2)'.<br />
[3554:0031][2017-04-14T14:19:05] Marking package Microsoft.Net.4.6.1.FullRedist as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1.1,10.0.10241)'.<br />
[3554:0031][2017-04-14T14:19:05] Marking package Microsoft.Windows.81SDK.Store.DirectX.Msi as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.3]'.<br />
[3554:0031][2017-04-14T14:19:05] Marking package Microsoft.Windows.81SDK.Store.DirectX.Msi as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.3]'.<br />
[3554:0031][2017-04-14T14:19:05] Marking package Microsoft.Windows.81SDK.Desktop.DirectX.Msi as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.3]'.<br />
[3554:0031][2017-04-14T14:19:05] Marking package Microsoft.Windows.81SDK.Desktop.DirectX.Msi as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.3]'.<br />
[3554:0031][2017-04-14T14:19:05] Marking package Microsoft.VisualStudio.OfficeDeveloperTools.WindowsIdentityFoundation.Msu as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '(,6.2)'.<br />
[3554:0031][2017-04-14T14:19:06] Marking package Microsoft.Windows.UniversalCRT.Msu.8 as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.2,6.3)'.<br />
[3554:0031][2017-04-14T14:19:06] Marking package Microsoft.Windows.UniversalCRT.Msu.81 as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.3,6.4)'.<br />
[3554:0031][2017-04-14T14:19:06] Marking package Microsoft.Net.4.6.FullRedist as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1.1,6.4)'.<br />
[3554:0031][2017-04-14T14:19:06] Marking package Microsoft.Windows.UniversalCRT.Msu.7 as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.2)'.<br />
[3554:0031][2017-04-14T14:19:06] Marking package Microsoft.DiagnosticsHub.KB2882822.Win7 as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.2)'.<br />
[3554:0031][2017-04-14T14:19:06] Marking package WebSocket4NetV2 as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.2)'.<br />
[3554:0031][2017-04-14T14:19:06] Marking package Component.WebSocket as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.2)'.<br />
[3554:0031][2017-04-14T14:19:06] Marking package Microsoft.Net.4.6.1.FullRedist as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1.1,10.0.10241)'.<br />
[3554:0031][2017-04-14T14:19:06] Marking package Microsoft.Windows.81SDK.Store.DirectX.Msi as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.3]'.<br />
[3554:0031][2017-04-14T14:19:06] Marking package Microsoft.Windows.81SDK.Store.DirectX.Msi as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.3]'.<br />
[3554:0031][2017-04-14T14:19:06] Marking package Microsoft.Windows.81SDK.Desktop.DirectX.Msi as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.3]'.<br />
[3554:0031][2017-04-14T14:19:06] Marking package Microsoft.Windows.81SDK.Desktop.DirectX.Msi as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.3]'.<br />
[3554:0031][2017-04-14T14:19:06] Marking package Microsoft.VisualStudio.OfficeDeveloperTools.WindowsIdentityFoundation.Msu as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '(,6.2)'.<br />
[3554:0050][2017-04-14T14:19:23] Marking package Microsoft.Windows.UniversalCRT.Msu.8 as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.2,6.3)'.<br />
[3554:0050][2017-04-14T14:19:23] Marking package Microsoft.Windows.UniversalCRT.Msu.81 as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.3,6.4)'.<br />
[3554:0050][2017-04-14T14:19:23] Marking package Microsoft.Net.4.6.FullRedist as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1.1,6.4)'.<br />
[3554:0050][2017-04-14T14:19:23] Marking package Microsoft.Windows.UniversalCRT.Msu.7 as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.2)'.<br />
[3554:0050][2017-04-14T14:19:23] Marking package Microsoft.DiagnosticsHub.KB2882822.Win7 as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.2)'.<br />
[3554:0050][2017-04-14T14:19:23] Marking package WebSocket4NetV2 as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.2)'.<br />
[3554:0050][2017-04-14T14:19:23] Marking package Component.WebSocket as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.2)'.<br />
[3554:0050][2017-04-14T14:19:23] Marking package Microsoft.Net.4.6.1.FullRedist as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1.1,10.0.10241)'.<br />
[3554:0050][2017-04-14T14:19:23] Marking package Microsoft.Windows.81SDK.Store.DirectX.Msi as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.3]'.<br />
[3554:0050][2017-04-14T14:19:23] Marking package Microsoft.Windows.81SDK.Store.DirectX.Msi as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.3]'.<br />
[3554:0050][2017-04-14T14:19:23] Marking package Microsoft.Windows.81SDK.Desktop.DirectX.Msi as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.3]'.<br />
[3554:0050][2017-04-14T14:19:23] Marking package Microsoft.Windows.81SDK.Desktop.DirectX.Msi as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '[6.1,6.3]'.<br />
[3554:0050][2017-04-14T14:19:23] Marking package Microsoft.VisualStudio.OfficeDeveloperTools.WindowsIdentityFoundation.Msu as not applicable due to reasons: The current OS Version '10.0.15063.0' is not in the supported version range '(,6.2)'.<br />
<div>
<br /></div>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-31700993140651801832017-04-06T17:44:00.002-07:002017-04-06T17:44:29.225-07:00Add https to apache on Ubuntu 16<br />
<div class="install" style="background-color: white; color: #111111; font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; margin: 0px; padding: 0px; position: relative;">
<h3 style="font-family: "Roboto Slab"; font-size: 1.4em; font-weight: 400; margin: 1em 0px 0px; padding: 0px;">
Install</h3>
<div style="margin-bottom: 15px; padding: 0px; position: relative;">
On Ubuntu systems, the Certbot team maintains a PPA. Once you add it to your list of repositories all you'll need to do is apt-get the following packages.</div>
<pre style="background-color: #f3f3f3; border-radius: 0px; font-family: VeraMono; font-size: 14px; margin-bottom: 2em; margin-top: 2em; overflow: auto; padding: 0px; word-wrap: break-word;">$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-apache
</pre>
</div>
<div class="get-started" style="background-color: white; color: #111111; font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; margin: 0px; padding: 0px; position: relative;">
<h3 style="font-family: "Roboto Slab"; font-size: 1.4em; font-weight: 400; margin: 1em 0px 0px; padding: 0px;">
Get Started</h3>
<div style="margin-bottom: 15px; padding: 0px; position: relative;">
Certbot has a fairly solid beta-quality Apache plugin, which is supported on many platforms, and automates both obtaining and installing certs:</div>
<pre style="background-color: #f3f3f3; border-radius: 0px; font-family: VeraMono; font-size: 14px; margin-bottom: 2em; margin-top: 2em; overflow: auto; padding: 0px; word-wrap: break-word;">$ certbot --apache</pre>
<div style="margin-bottom: 15px; padding: 0px; position: relative;">
If you're feeling more conservative and would like to make the changes to your Apache configuration by hand, you can use the <tt style="font-family: VeraMono !important; font-size: 0.925em; font-weight: bold;">certonly</tt> subcommand:</div>
<pre style="background-color: #f3f3f3; border-radius: 0px; font-family: VeraMono; font-size: 14px; margin-bottom: 2em; margin-top: 2em; overflow: auto; padding: 0px; word-wrap: break-word;">$ certbot --apache certonly</pre>
To learn more about how to use Certbot <a href="https://certbot.eff.org/about" style="color: #1756a9; text-decoration: none;">read certbot documentation</a>.<div style="margin-bottom: 15px; padding: 0px; position: relative;">
</div>
<h3 style="font-family: "Roboto Slab"; font-size: 1.4em; font-weight: 400; margin: 1em 0px 0px; padding: 0px;">
Automating renewal</h3>
<div style="margin-bottom: 15px; padding: 0px; position: relative;">
The Certbot packages on your system come with a cron job that will renew your certificates automatically before they expire. Since Let's Encrypt certificates last for 90 days, it's highly advisable to take advantage of this feature. You can test automatic renewal for your certificates by running this command:</div>
<pre style="background-color: #f3f3f3; border-radius: 0px; font-family: VeraMono; font-size: 14px; margin-bottom: 2em; margin-top: 2em; overflow: auto; padding: 0px; word-wrap: break-word;">certbot renew --dry-run
</pre>
<div style="margin-bottom: 15px; padding: 0px; position: relative;">
More detailed information and options about renewal can be found in <a href="https://certbot.eff.org/docs/using.html#renewal" style="color: #1756a9; text-decoration: none;">the full documentation</a>.</div>
</div>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-62775426659717450342017-02-26T11:57:00.000-08:002017-02-26T11:57:08.550-08:00Wordpress plugin must have<h2 style="box-sizing: inherit; color: #5d237a; font-family: "Open Sans", Arial, sans-serif; font-size: 1.88em; font-weight: 300; letter-spacing: 0.16px; line-height: 2.5rem; margin-bottom: 1.2rem; margin-top: 0px;">
WP Google Authenticator</h2>
<div style="box-sizing: inherit; font-family: Merriweather, Georgia, serif; font-size: 16px; letter-spacing: 0.16px; margin-bottom: 1.88rem;">
I wouldn’t even overthink adding this plugin to your WordPress site. It’s no hassle and will add an extra layer of security to your website. An alternative could be <a href="https://wordpress.org/plugins/rublon/" style="box-sizing: inherit; color: #a4286a;">Rublon</a>, which works in a similar manner, but we usually use <a href="https://wordpress.org/plugins/google-authenticator/" style="box-sizing: inherit; color: #a4286a;">WP Google Authenticator</a>.</div>
<h2 style="box-sizing: inherit; color: #5d237a; font-family: "Open Sans", Arial, sans-serif; font-size: 1.88em; font-weight: 300; letter-spacing: 0.16px; line-height: 2.5rem; margin-bottom: 1.2rem; margin-top: 0px;">
Login Lockdown</h2>
<div style="box-sizing: inherit; font-family: Merriweather, Georgia, serif; font-size: 16px; letter-spacing: 0.16px; margin-bottom: 1.88rem;">
For an extra layer of security, we recommend installing a plugin like Login Lockdown, that prevents automated login requests from firing a gazillion login attempts. If some IP range does a surplus of attempts, the login function is disabled for <em style="box-sizing: inherit;">all</em> requests from that range. For more details, check <a href="https://wordpress.org/plugins/login-lockdown/" style="box-sizing: inherit; color: #a4286a;">Login Lockdown</a> in the plugin repo.</div>
<div style="box-sizing: inherit; font-family: Merriweather, Georgia, serif; font-size: 16px; letter-spacing: 0.16px; margin-bottom: 1.88rem;">
<br /></div>
<h2 style="box-sizing: inherit; color: #5d237a; font-family: "Open Sans", Arial, sans-serif; font-size: 1.88em; font-weight: 300; letter-spacing: 0.16px; line-height: 2.5rem; margin-bottom: 1.2rem; margin-top: 0px;">
Any image compression plugin</h2>
<div style="box-sizing: inherit; font-family: Merriweather, Georgia, serif; font-size: 16px; letter-spacing: 0.16px; margin-bottom: 1.88rem;">
Yes, I would like to name just one. But the truth is that it depends on your website what plugin works best. We have used <a href="https://wordpress.org/plugins/wp-smushit/" style="box-sizing: inherit; color: #a4286a;">Smush</a>, tried <a href="https://wordpress.org/plugins/ewww-image-optimizer/" style="box-sizing: inherit; color: #a4286a;">EWWW</a>. <a href="https://wordpress.org/plugins/kraken-image-optimizer/" style="box-sizing: inherit; color: #a4286a;">Kraken.io</a> has a plugin and <a href="https://wordpress.org/plugins/shortpixel-image-optimiser/" style="box-sizing: inherit; color: #a4286a;">ShortPixel</a> has one. And has anyone tried the premium <a href="https://imagify.io/" style="box-sizing: inherit; color: #a4286a;">Imagify</a>? I would really like to see a comparison for these plugins from an independent, image-heavy website. For now: pick one and use it.</div>
<h2 style="box-sizing: inherit; color: #5d237a; font-family: "Open Sans", Arial, sans-serif; font-size: 1.88em; font-weight: 300; letter-spacing: 0.16px; line-height: 2.5rem; margin-bottom: 1.2rem; margin-top: 0px;">
Ninja Forms or Gravity Forms</h2>
<div style="box-sizing: inherit; font-family: Merriweather, Georgia, serif; font-size: 16px; letter-spacing: 0.16px; margin-bottom: 1.88rem;">
Both are great plugins to create drag-and-drop forms. Both provide an option for conditional logic and are really easy to use. If you have a form on your website, and any website that has a contact page should have a form, I recommend using <a href="http://www.gravityforms.com/" style="box-sizing: inherit; color: #a4286a;">Gravity Forms</a></div>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-67347696672644114392016-12-21T13:08:00.001-08:002016-12-21T13:17:31.826-08:00How to create animated GIFs for UI design presentations<span style="background-color: white; color: #838383; display: inline; float: none; font-family: "questrial" , "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 18px; font-style: normal; font-weight: normal; letter-spacing: 0.5px; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"> In Part 1 of the series, I show how to create the<span class="Apple-converted-space"> </span></span><strong style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: bold; letter-spacing: 0.5px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">animated GIF</strong><span style="background-color: white; color: #838383; display: inline; float: none; font-family: "questrial" , "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 18px; font-style: normal; font-weight: normal; letter-spacing: 0.5px; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-converted-space"> </span>above. </span><br />
<span style="color: #838383; font-family: "helvetica";"></span><br />
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
Key aspects of these animated GIFs are</div>
<ul style="-ms-word-wrap: break-word; background-color: white; color: black; font-family: "montserrat" , "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 18px; font-style: normal; font-weight: 300; letter-spacing: normal; margin: 0px 0px 1.5em; padding-left: 0px; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">
<li style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 400; line-height: 1.5em; list-style-position: inside; margin: 12px 0px;">Showcase of actual work flows</li>
<li style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 400; line-height: 1.5em; list-style-position: inside; margin: 12px 0px;">Convey the beautiful transitions between different app states</li>
<li style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 400; line-height: 1.5em; list-style-position: inside; margin: 12px 0px;">Small size that can be embedded on the web</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-ZGm0ZdlRBrA/WFrvJj0eA3I/AAAAAAAACCs/G3LXAMiW4TgY3mKMsDA11V9AxfcZ6duPwCLcB/s1600/8950af1b06cc955daf31f8b6a44c2a60.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://3.bp.blogspot.com/-ZGm0ZdlRBrA/WFrvJj0eA3I/AAAAAAAACCs/G3LXAMiW4TgY3mKMsDA11V9AxfcZ6duPwCLcB/s1600/8950af1b06cc955daf31f8b6a44c2a60.gif" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-HOV9HGjKZM0/WFrvJqTWP0I/AAAAAAAACCo/KDPf0MildsQ8F5wiphUNUKz5EMbE3ZHDACLcB/s1600/weather-app-animated.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://1.bp.blogspot.com/-HOV9HGjKZM0/WFrvJqTWP0I/AAAAAAAACCo/KDPf0MildsQ8F5wiphUNUKz5EMbE3ZHDACLcB/s1600/weather-app-animated.gif" /></a></div>
<div style="-ms-word-wrap: break-word; font-family: "questrial" , "helvetica neue" , "helvetica" , "arial" , sans-serif; font-weight: 400; line-height: 1.5em; list-style-position: inside; margin: 12px 0px;">
</div>
<ul style="-ms-word-wrap: break-word; background-color: white; color: black; font-family: "montserrat" , "helvetica neue" , "helvetica" , "arial" , sans-serif; font-size: 18px; font-style: normal; font-weight: 300; letter-spacing: normal; margin: 0px 0px 1.5em; padding-left: 0px; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-p_EVs7Mok94/WFrwLzKgtLI/AAAAAAAACDk/f3kqtzfyPQ4MfhuO2nRemRTBBuVlDk4ZACEw/s1600/iphone-tlit.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://3.bp.blogspot.com/-p_EVs7Mok94/WFrwLzKgtLI/AAAAAAAACDk/f3kqtzfyPQ4MfhuO2nRemRTBBuVlDk4ZACEw/s320/iphone-tlit.png" width="320" /></a></div>
</ul>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
Well, let’s get right into it. Here are some of the resources you will need.<br />
</div>
<h2 style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; clear: both; color: black; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 2.25rem; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; letter-spacing: normal; line-height: 1.2; margin: 40px 0px 30px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Tools</strong></h2>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
You will need</div>
<ul style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; color: black; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 300; letter-spacing: normal; margin: 0px 0px 1.5em; orphans: 2; padding-left: 0px; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<li style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 400; line-height: 1.5em; list-style-position: inside; margin: 12px 0px;">After Effects CS6 or CC</li>
<li style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 400; line-height: 1.5em; list-style-position: inside; margin: 12px 0px;">Photoshop CS6 or CC</li>
</ul>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
In<strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;"><span class="Apple-converted-space"> </span>After Effects</strong></div>
<ol style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: black; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 300; letter-spacing: normal; list-style: decimal; margin: 0px 0px 1.5em; orphans: 2; padding-left: 0px; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<li style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 400; line-height: 1.5em; list-style-position: inside; margin: 12px 0px;">Create the transitions in one composition</li>
<li style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 400; line-height: 1.5em; list-style-position: inside; margin: 12px 0px;">Create the presentation in another composition</li>
<li style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 400; line-height: 1.5em; list-style-position: inside; margin: 12px 0px;">Export composition</li>
</ol>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
In<span class="Apple-converted-space"> </span><strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Photoshop</strong></div>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
4. Optimize into a GIF</div>
<h2 style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; clear: both; color: black; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 2.25rem; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; letter-spacing: normal; line-height: 1.2; margin: 40px 0px 30px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Create your transition composition</strong></h2>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Step 1.</strong><span class="Apple-converted-space"> </span>Fire up After Effects and create a<strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;"><span class="Apple-converted-space"> </span>Composition</strong><span class="Apple-converted-space"> </span>><span class="Apple-converted-space"> </span><strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">New Composition<span class="Apple-converted-space"> </span></strong>Dimensions similar to the Iphone (either 320px by 480px or 640px by 960px) Frame rate 29 Duration 6 seconds<span class="Apple-converted-space"> </span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-oIA8RQ9dglI/WFrwLResX1I/AAAAAAAACC8/ECRnlIIjC7ErrD3ozG99Df4p7npzDcWuQCEw/s1600/01_screen-shot-2014-05-09-at-5-14-28-pm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://2.bp.blogspot.com/-oIA8RQ9dglI/WFrwLResX1I/AAAAAAAACC8/ECRnlIIjC7ErrD3ozG99Df4p7npzDcWuQCEw/s1600/01_screen-shot-2014-05-09-at-5-14-28-pm.png" /></a></div>
</div>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Step 2.</strong><span class="Apple-converted-space"> </span>Import the background image of London by clicking on<span class="Apple-converted-space"> </span><strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">File</strong><span class="Apple-converted-space"> </span>><span class="Apple-converted-space"> </span><strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Import</strong><span class="Apple-converted-space"> </span>><strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;"><span class="Apple-converted-space"> </span>File</strong><span class="Apple-converted-space"> </span>And then drag the PNG file under the Project window to the Comp1 window. Resize the background to fit the screen.<span class="Apple-converted-space"> </span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-8p-RcvWl_AE/WFrwLDAQbkI/AAAAAAAACC0/BS7x7mv1yM8DfbCcu88FPw43Ll85fhFDACEw/s1600/02_screen-shot-2014-05-09-at-5-38-09-pm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://2.bp.blogspot.com/-8p-RcvWl_AE/WFrwLDAQbkI/AAAAAAAACC0/BS7x7mv1yM8DfbCcu88FPw43Ll85fhFDACEw/s1600/02_screen-shot-2014-05-09-at-5-38-09-pm.png" /></a></div>
<span class="Apple-converted-space"></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-DEZRFTyzxxw/WFrwLOVQNLI/AAAAAAAACC4/Ewrxt9-rDQEhn_SxamBVd0qoI1CUkeLGgCEw/s1600/03_screen-shot-2014-05-09-at-5-40-20-pm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://1.bp.blogspot.com/-DEZRFTyzxxw/WFrwLOVQNLI/AAAAAAAACC4/Ewrxt9-rDQEhn_SxamBVd0qoI1CUkeLGgCEw/s1600/03_screen-shot-2014-05-09-at-5-40-20-pm.png" /></a></div>
</div>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Step 3.</strong><span class="Apple-converted-space"> </span>Create three blue boxes(Shape layers) of width 120px which will expand and fall down the screen during the animation and a fourth box on width 360px. Type in text of the weather and the forecast temperatures.<span class="Apple-converted-space"> </span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-rfDBb54DI08/WFrwLXWdwpI/AAAAAAAACDA/uuXnKqu9FmEgF9R9vn0leW2NT_s4eJtsgCEw/s1600/04_screen-shot-2014-05-09-at-7-41-01-pm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://1.bp.blogspot.com/-rfDBb54DI08/WFrwLXWdwpI/AAAAAAAACDA/uuXnKqu9FmEgF9R9vn0leW2NT_s4eJtsgCEw/s1600/04_screen-shot-2014-05-09-at-7-41-01-pm.png" /></a></div>
</div>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Step 4.</strong><span class="Apple-converted-space"> </span>Add the text Snowy at the top and a cloud with six circles (At this point you apply your transitions and animations to the text and the shape layers for the animation you desire). I will cover my transitions and cool animations that you can apply in<span class="Apple-converted-space"> </span><strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Part 3</strong>. Follow the blog to get updates when I put it up.</div>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Step 5.</strong><span class="Apple-converted-space"> </span>Save your project but do not close it.</div>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
</div>
<h2 style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; clear: both; color: black; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 2.25rem; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; letter-spacing: normal; line-height: 1.2; margin: 40px 0px 30px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
Presentation composition</h2>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Step 1.</strong><span class="Apple-converted-space"> </span>Create a New composition within the same project. This will automatically be called<span class="Apple-converted-space"> </span><strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Comp2. </strong><span class="Apple-converted-space"> </span>Dimensions: 1280px by 720 Frame rate: 29 The duration is dependant on the length of your effect. I had 6seconds.</div>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<img alt="Screen Shot 2014-05-09 at 5.14.28 PM" class="alignnone size-large wp-image-540" height="384" src="https://i1.wp.com/developertodesigner.files.wordpress.com/2014/05/screen-shot-2014-05-09-at-5-14-28-pm.png?resize=676,384" style="-ms-word-wrap: break-word; border: 0px currentColor; box-sizing: inherit; clear: both; height: auto; margin: 26px 52px 26px 0px; max-width: 100%;" width="676" /></div>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Step 2.</strong><span class="Apple-converted-space"> </span>Import the Iphone background and size it to the screen.</div>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-rV-U6fTNX5I/WFrwLicBTUI/AAAAAAAACDQ/FzgeuPDDc9YijPmPE84L68MQcDZV9vbqQCEw/s1600/09_screen-shot-2014-05-09-at-8-50-46-pm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://4.bp.blogspot.com/-rV-U6fTNX5I/WFrwLicBTUI/AAAAAAAACDQ/FzgeuPDDc9YijPmPE84L68MQcDZV9vbqQCEw/s1600/09_screen-shot-2014-05-09-at-8-50-46-pm.png" /></a></div>
<br />
</div>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Step 3.</strong><span class="Apple-converted-space"> </span>Drag Comp1 from the Project window to the Comp2. You should now have the composition we created earlier, as a layer in the second composition.</div>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<span class="Apple-converted-space"> </span><br />
<span class="Apple-converted-space"></span><div class="separator" style="clear: both; text-align: center;">
<span class="Apple-converted-space"><a href="https://1.bp.blogspot.com/-VuP__5LAhaA/WFrwL1zgY9I/AAAAAAAACDY/MRgkdsXxAF0z5jOVfgrZ8bmbG97jUdW0gCEw/s1600/10_screen-shot-2014-05-09-at-9-07-13-pm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://1.bp.blogspot.com/-VuP__5LAhaA/WFrwL1zgY9I/AAAAAAAACDY/MRgkdsXxAF0z5jOVfgrZ8bmbG97jUdW0gCEw/s1600/10_screen-shot-2014-05-09-at-9-07-13-pm.png" /></a></span></div>
<span class="Apple-converted-space">
</span><br />
</div>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-C6tsaJMtJYI/WFrwLaIfjSI/AAAAAAAACDE/dS5SopvqVkE0xQSSiiQZgLeckEwu_NhJgCEw/s1600/05_screen-shot-2014-05-09-at-8-17-53-pm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://2.bp.blogspot.com/-C6tsaJMtJYI/WFrwLaIfjSI/AAAAAAAACDE/dS5SopvqVkE0xQSSiiQZgLeckEwu_NhJgCEw/s1600/05_screen-shot-2014-05-09-at-8-17-53-pm.png" /></a></div>
<br /></div>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Step 4.</strong><span class="Apple-converted-space"> </span>As in Photoshop, we need to Distort the Comp1 layer to match with the background layer image. With the Comp1 layer selected, click on<span class="Apple-converted-space"> </span><strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Effect</strong><span class="Apple-converted-space"> </span>><span class="Apple-converted-space"> </span><strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Distort</strong><span class="Apple-converted-space"> </span>><span class="Apple-converted-space"> </span><strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Corner Pin </strong></div>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/--8h7z4nACDE/WFrwLY_uunI/AAAAAAAACDI/02_itkZGITo8k3AlC-UX9xWOFcukfQNmQCEw/s1600/06_screen-shot-2014-05-09-at-8-25-16-pm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://2.bp.blogspot.com/--8h7z4nACDE/WFrwLY_uunI/AAAAAAAACDI/02_itkZGITo8k3AlC-UX9xWOFcukfQNmQCEw/s1600/06_screen-shot-2014-05-09-at-8-25-16-pm.png" /></a></div>
</div>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Step 5.</strong><span class="Apple-converted-space"> </span>Move the corners with a crossed circle on Comp1 to match with the corners of your background image until your composition looks like a finished article.</div>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-N3vwMMEir6I/WFrwLiFCriI/AAAAAAAACDM/35YpQPdVHykvKA-jgjC7A_u9dDc2MbebQCEw/s1600/07_screen-shot-2014-05-09-at-8-25-56-pm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://3.bp.blogspot.com/-N3vwMMEir6I/WFrwLiFCriI/AAAAAAAACDM/35YpQPdVHykvKA-jgjC7A_u9dDc2MbebQCEw/s1600/07_screen-shot-2014-05-09-at-8-25-56-pm.png" /></a></div>
<br /></div>
<h2 style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; clear: both; color: black; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 2.25rem; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; letter-spacing: normal; line-height: 1.2; margin: 40px 0px 30px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<strong style="-ms-word-wrap: break-word; box-sizing: inherit; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: bold;">Some key points</strong></h2>
<div style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; color: #838383; font-family: questrial, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: 0.5px; line-height: 1.8em; margin: 0px 0px 22px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
When you play your second composition, your first composition’s animation will automatically play as well. Save your project. Well done, we have created an After Effects composition with key mobile animations and presented on a mobile phone background. In the next part of this series, we shall present how to save the project and eventually save it as a GIF. For now enjoy your creation.</div>
<h2 style="-ms-word-wrap: break-word; -webkit-text-stroke-width: 0px; background-color: white; box-sizing: inherit; clear: both; color: black; font-family: montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 2.25rem; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; letter-spacing: normal; line-height: 1.2; margin: 40px 0px 30px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
</h2>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-68628646275857419672016-10-30T15:10:00.001-07:002016-10-30T17:14:49.682-07:00How To Fix: External Disk Drive Suddenly Became RAW<h2 style="background-color: #f7f7f7;">
<span style="color: black; font-family: "verdana" , sans-serif; font-size: small; font-weight: normal;"> How To Fix: External Disk Drive Suddenly Became RAW</span></h2>
<span style="background-color: #f7f7f7; color: black; font-family: "verdana" , sans-serif;">DISCLAIMER:<em> These example use techniques that I actually employ once to recover a drive from a raid 1 bay where both drive where bad. This tutorial might be wrong or dangerous or inefficient. If you try yourself, it might cause damage or irreparable loss. I take no responsibility for anything you do based on my examples or the information that his provide.</em></span><br />
<span style="font-family: "verdana" , sans-serif;"><span style="color: black; font-family: "verdana" , sans-serif;"><br /></span>
</span><br />
<div style="background-color: #f7f7f7;">
<span style="color: black; font-family: "verdana" , sans-serif;">A common and befuddling problem with computers is the sudden and seemingly inexplicable disappearance of an external hard drive that has been functioning properly. It can be a breathtaking experience to suddenly be told that your data, often irreplaceable pictures and documents, might be gone forever.</span></div>
<div style="background-color: #f7f7f7;">
<span style="color: black; font-family: "verdana" , sans-serif;">This can even happen on a pair of Raid 1 hard drive because maybe you purchased them as a pair at the same store and they both went down at the same time. I think it is almost better to buy them at different store location or to make sure they were not manufactured at the same time :)</span></div>
<div style="background-color: #f7f7f7;">
<span style="color: black; font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f7f7f7;">
<span style="color: black; font-family: "verdana" , sans-serif;">As with many similar situations in life the appropriate response is “Don’t panic”. When approached sensibly and carefully, the situation can be resolved and the data saved more times than not.</span></div>
<div style="background-color: #f7f7f7;">
<span style="color: black; font-family: "verdana" , sans-serif;"><br /></span></div>
<h2 style="background-color: #f7f7f7;">
<span style="color: black; font-family: "verdana" , sans-serif; font-size: small; font-weight: normal;">Error Messages</span></h2>
<div style="background-color: #f7f7f7;">
<span style="color: black; font-family: "verdana" , sans-serif;">Common error messages associated with the sudden inability to access an external hard disk drive.</span></div>
<div style="background-color: #f8f8f8; border-radius: 25px; padding: 10px; width: 540px;">
<span style="font-family: "verdana" , sans-serif;"><span style="color: black; font-family: "verdana" , sans-serif;"><br /></span>
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-96cT0YXSJG4/WBZv-BaY7JI/AAAAAAAAB_k/Q9Tp7lu4mZUOGcB-Pbwzy85yADjHX4DMQCEw/s1600/notfoundxp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://1.bp.blogspot.com/-96cT0YXSJG4/WBZv-BaY7JI/AAAAAAAAB_k/Q9Tp7lu4mZUOGcB-Pbwzy85yADjHX4DMQCEw/s1600/notfoundxp.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "verdana" , sans-serif;">Windows XP</span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-qHC_khnhrrg/WBZv-Hla_1I/AAAAAAAAB_o/1dYEzzRZtNkKK4NiMVhFKNaKEHMjk5VFACEw/s1600/nofound7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://3.bp.blogspot.com/-qHC_khnhrrg/WBZv-Hla_1I/AAAAAAAAB_o/1dYEzzRZtNkKK4NiMVhFKNaKEHMjk5VFACEw/s1600/nofound7.jpg" /></a></div>
<table align="center" style="width: 486px;"><tbody>
<tr><td align="center" style="margin: 0px;"><br /></td><td align="center" style="margin: 0px;"><br /></td></tr>
<tr><td align="center" style="margin: 0px;"><br /></td><td align="center" style="margin: 0px;"><span style="color: black; font-family: "verdana" , sans-serif;">Windows 7</span></td></tr>
<tr><td align="center" colspan="2" style="margin: 0px;"><span style="color: black; font-family: "verdana" , sans-serif;"><b>DO NOT FORMAT THE DRIVE</b></span></td></tr>
</tbody></table>
</div>
<div style="background-color: #f8f8f8; border-radius: 25px; padding: 10px; width: 540px;">
<span style="color: black; font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="border-radius: 25px; padding: 10px; width: 540px;">
<div style="background-color: #f8f8f8; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;"><span style="background-color: #f7f7f7;">When attempting to access the drive in Windows you may see a message asking you to format the drive </span><span style="background-color: #f7f7f7;"><b>DO NOT FORMAT THE DRIVE</b></span></span></div>
<div style="background-color: #ecebeb; color: #222222; padding: 10px; width: 540px;">
<code><span style="color: black; font-family: "verdana" , sans-serif;">You need to format the disk in drive before you can use it.<br />Do you want to format it?</span></code></div>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;"><br style="background-color: #f7f7f7;" /></span></div>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="background-color: #f7f7f7; color: black; font-family: "verdana" , sans-serif;">Another error that you may see when trying to access the drive in Windows from a program or the command line is…</span></div>
<div style="background-color: #ecebeb; color: #222222; padding: 10px; width: 540px;">
<code><span style="color: black; font-family: "verdana" , sans-serif;">This volume does not contain a recognized file system. Please make sure that all required file system drivers are loaded and that the volume is not corrupted.</span></code></div>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;"><br style="background-color: #f7f7f7;" /></span></div>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="background-color: #f7f7f7; color: black; font-family: "verdana" , sans-serif;">Attempting to run chkdsk in an attempt to repair the problem will give an error also…</span></div>
<div style="background-color: #ecebeb; color: #222222; padding: 10px; width: 540px;">
<code><span style="color: black; font-family: "verdana" , sans-serif;">chkdsk can not be run on the drive<br />The type of the file system is RAW.<br />CHKDSK is not available for RAW drives.</span></code></div>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;"><br style="background-color: #f7f7f7;" /></span></div>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="background-color: #f7f7f7; color: black; font-family: "verdana" , sans-serif;">The Disk Management window shows the partition as either RAW or without a filesystem type.</span></div>
<div align="center" style="background-color: #f7f7f7; color: #222222;">
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;"><br style="background-color: #f7f7f7;" /></span></div>
<div style="background-color: #f8f8f8; color: #222222;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-LG-AtXpK04w/WBZv-sOK0GI/AAAAAAAAB_w/gn4VdT6vtKssWbpFNruVfAADwOYu59nNQCEw/s1600/zeroxp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "verdana" , sans-serif;"><img border="0" height="296" src="https://1.bp.blogspot.com/-LG-AtXpK04w/WBZv-sOK0GI/AAAAAAAAB_w/gn4VdT6vtKssWbpFNruVfAADwOYu59nNQCEw/s320/zeroxp.jpg" width="320" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="color: black;"><span style="font-family: "verdana" , sans-serif;">Windows XP</span></span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-Fg-sspCrE_4/WBZv-Xyqb3I/AAAAAAAAB_0/L17452LjIB0Ys4RHeHd3FhJpXA6-AgSyACEw/s1600/zero7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "verdana" , sans-serif;"><img border="0" height="320" src="https://2.bp.blogspot.com/-Fg-sspCrE_4/WBZv-Xyqb3I/AAAAAAAAB_0/L17452LjIB0Ys4RHeHd3FhJpXA6-AgSyACEw/s320/zero7.jpg" width="305" /></span></a></div>
<div class="" style="clear: both; text-align: center;">
<span style="color: black;"><span style="font-family: "verdana" , sans-serif;">Windows 7</span></span></div>
<span style="color: black; font-family: "verdana" , sans-serif;"><br style="background-color: #f7f7f7;" /></span></div>
<div style="background-color: #f8f8f8; border-radius: 25px; color: #222222; padding: 10px; width: 540px;">
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<br />
<table align="center" style="width: 486px;"><tbody>
<tr><td align="center" colspan="2" style="margin: 0px;"><span style="color: black; font-family: "verdana" , sans-serif;">Properties of the drive show that both used and free spaces are 0 byte in size for the raw drive</span><br />
<span style="color: black; font-family: "verdana" , sans-serif;"><br /></span>
<span style="color: black; font-family: "verdana" , sans-serif;"><br /></span></td></tr>
</tbody></table>
</div>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;"><br style="background-color: #f7f7f7;" /></span></div>
<h2 style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif; font-size: small; font-weight: normal;">What does RAW partition mean</span></h2>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="background-color: #f7f7f7; color: black; font-family: "verdana" , sans-serif;">A RAW filesystem simply means that it is a filesystem that is not recognized by Windows. Therefore all the available filesystem drivers are unable to mount the filesystem as a drive. This often happens when the records determining the filesystem type or location on the disk are damaged or corrupted, usually the partition table or the boot sector.</span></div>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="background-color: #f7f7f7; color: black; font-family: "verdana" , sans-serif;">Since Windows sees no filesystem in the partition, it prompts you to format it in order to create a filesystem on it. <b>DO NOT FORMAT IT. </b></span></div>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;"><br style="background-color: #f7f7f7;" /></span></div>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;"><br style="background-color: #f7f7f7;" /></span></div>
<h2 style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif; font-size: small; font-weight: normal;">Why does it happen and how to avoid it</span></h2>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="background-color: #f7f7f7; color: black; font-family: "verdana" , sans-serif;">The most common cause of external hard drives suddenly becoming RAW drives is if they are disconnected from a computer without using the “Safely Remove Hardware” option. This can happen in many ways such as a power failure, unplugging the drive from the USB port or from its AC adapter, a problem with the computer that causes it to temporarily disconnect the USB hubs and many more circumstances can lead to this occurring.</span></div>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="background-color: #f7f7f7; color: black; font-family: "verdana" , sans-serif;">Always use “Safely remove hardware” to disconnect the drive. Left click the icon on the taskbar, select the device from the menu, and wait for the confirmation message.</span></div>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="background-color: #f7f7f7; color: black; font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="background-color: #f7f7f7; color: black; font-family: "verdana" , sans-serif;">Before proceeding beyond this point, you need to be aware of the risks involved. If the problem with the drive is not simply a logical error but is a manifestation of physical damage then the more you use it and try to repair, the worse the damage may become. To minimize the risks, the drive can be taken to a professional who is experienced in this type of repair. The drive should not be making strange clicking or beeping noises. That means that there is definitely physical damage and it should be sent to a facility with the proper tools and environment to repair/recover it since trying to repair it as described in this post can make that situation worse. If you wish to continue on your own there are three important rules to remember.<br /><br />1. Computer problems are variable. You may very well come up with a different situation than I outline below. Make sure that you stop and think things through carefully when the process becomes different than I describe.<br /><br />2. You DO NOT WANT TO WRITE ANYTHING TO THE RAW DRIVE except for the repaired MBR and repaired Boot Sector if necessary. Any other writing can overwrite data on the drive that you would want to keep.<br /><br />3. <b>This repair does not apply to <a href="http://en.wikipedia.org/wiki/Solid-state_drive" style="color: #1155cc;">solid-state drives (SSD)</a>.</b> They are very different than normal drives and can erase important data on a RAW partition just by connecting power to them. </span></div>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="background-color: #f7f7f7; color: black; font-family: "verdana" , sans-serif;"><br /></span></div>
<h2 style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif; font-size: small; font-weight: normal;">Accessing and Assessing a Hard Drive’s S.M.A.R.T. Data to Determine if There is Physical Damage</span></h2>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;">Being able to effectively analyze the S.M.A.R.T. data on a hard disk drive (HDD) enables you to quickly identify problems that can aid you in recovering all of the data from it before it becomes irretrievable or requires significant expense to retrieve.</span></div>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;">S.M.A.R.T. stands for Self-Monitoring, Analysis and Reporting Technology and is the hard drive’s record of its internal diagnostic monitoring and usage statistics packaged for being accessed externally. The primary purpose of S.M.A.R.T. is to alert us to an impending failure of the drive while there is still time to save the data. When a hard drive reports that the S.M.A.R.T. health is FAILED you must get the important data off of it immediately and not use the drive anymore.</span></div>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;">IT IS IMPORTANT TO UNDERSTAND THAT DIFFERENT MANUFACTURERS AND DIFFERENT DRIVE MODELS CAN STORE AND DISPLAY DIFFERENT SUBSETS OF S.M.A.R.T. DATA AND CALCULATE VALUES AND TOLERANCES DIFFERENTLY.</span></div>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;">S.M.A.R.T. data is best used as a general guide. For specifics, the hard drive’s technical documentation must be consulted. Sometimes that information is difficult to come by and can be proprietary. For example, the formulas for how some manufacturers calculate normalized values for attributes can be very difficult to find.</span></div>
<div style="background-color: #f7f7f7; color: #222222;">
<a href="http://en.wikipedia.org/wiki/S.M.A.R.T." style="color: #1155cc;" title="Wikipedia entry for S.M.A.R.T."><span style="color: black; font-family: "verdana" , sans-serif;">Wikipedia entry for S.M.A.R.T.</span></a></div>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="background-color: #f7f7f7; color: black; font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f8f8f8; border-radius: 25px; color: #222222; padding: 10px; width: 540px;">
<span style="color: black; font-family: "verdana" , sans-serif;"><br />Proper analysis of S.M.A.R.T. data</span><br />
<ul>
<li style="padding-bottom: 1em;"><span style="color: black; font-family: "verdana" , sans-serif;">Can help determine if the problem is physical damage or just logical damage.</span><ul>
<li style="padding-bottom: 1em;"><span style="color: black; font-family: "verdana" , sans-serif;">With logical damage, the drive can be trusted and continue to be used after being repaired.</span></li>
<li style="padding-bottom: 1em;"><span style="color: black; font-family: "verdana" , sans-serif;">With physical damage, you want to get any important data off of the drive and replace it.</span></li>
</ul>
</li>
<li style="padding-bottom: 1em;"><span style="color: black; font-family: "verdana" , sans-serif;">Helps you choose the best method for recovering all of the data from the drive.</span></li>
<li style="padding-bottom: 1em;"><span style="color: black; font-family: "verdana" , sans-serif;">Prevents you from accidentally doing things that may make matters worse.</span></li>
</ul>
</div>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="background-color: #f7f7f7; color: black; font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f8f8f8; border-radius: 25px; color: #222222; padding: 10px; width: 540px;">
<span style="color: black; font-family: "verdana" , sans-serif;"><br />In order to check the S.M.A.R.T. data on a HDD</span><br />
<ul>
<li style="padding-bottom: 1em;"><span style="color: black; font-family: "verdana" , sans-serif;">The drive should not be making strange clicking or beeping noises. That means that there is definitely physical damage and it should be sent to a facility with the proper tools and environment to repair/recover it.</span></li>
<li style="padding-bottom: 1em;"><span style="color: black; font-family: "verdana" , sans-serif;">The drive needs to be accessible by the computer’s BIOS during POST (responds to the ATA command IDENTFY_DEVICE). In other words, the drive should be visible in Windows.</span></li>
<li style="padding-bottom: 1em;"><span style="color: black; font-family: "verdana" , sans-serif;">In the case of external drives connected via USB they need to be detected by the computer’s Plug and Play software (responds to the ATA command IDENTFY_DEVICE).</span></li>
</ul>
</div>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="background-color: #f7f7f7; color: black; font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;">After making sure that the connection between the drive and the computer is correct and its quality is the best it can be, you need to check the health of the drive itself. Then you can rule out physical damage that requires repair with specialized tools in a controlled environment.</span></div>
<h2 style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif; font-size: small; font-weight: normal;">What We Are Looking For</span></h2>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;">·<span style="font-stretch: normal; line-height: normal;"> </span>Does the drive make noises that it did not make before?</span></div>
<div style="background-color: #f7f7f7; color: #222222; margin-left: 1in;">
<span style="color: black; font-family: "verdana" , sans-serif;">o<span style="font-stretch: normal; line-height: normal;"> </span>Loud clicking or a periodic beeping sound may indicate mechanical damage. Physical damage may require the drive to be sent to a facility with the proper tools and equipment to recover the data.</span></div>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;">·<span style="font-stretch: normal; line-height: normal;"> </span>Does S.M.A.R.T. show any errors or bad attribute values?</span></div>
<div style="background-color: #f7f7f7; color: #222222; margin-left: 1in;">
<span style="color: black; font-family: "verdana" , sans-serif;">o<span style="font-stretch: normal; line-height: normal;"> </span>We look at the Raw Value of S.M.A.R.T. attributes with ID#s 5, 191 and 197.</span></div>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;">·<span style="font-stretch: normal; line-height: normal;"> </span>Does it pass the S.M.A.R.T. Short Self-Test?</span></div>
<div style="background-color: #f7f7f7; color: #222222; margin-left: 1in;">
<span style="color: black; font-family: "verdana" , sans-serif;">o<span style="font-stretch: normal; line-height: normal;"> </span>We run the S.M.A.R.T. Short Self-Test.</span></div>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;">If it does not pass any of these tests, you need to take it to a data recovery lab and have it professionally recovered otherwise you risk making things worse.</span></div>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;"><br /></span></div>
<h2 style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif; font-size: small; font-weight: normal;">View S.M.A.R.T. data with GSmartControl</span></h2>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;">Get a copy of GSmartControl for Windows<br /><a href="http://sourceforge.net/projects/gsmartcontrol/files/0.8.7/gsmartcontrol-0.8.7-win32.zip/download" style="color: #1155cc;" target="_blank">http://sourceforge.net/projects/gsmartcontrol/files/0.8.7/gsmartcontrol-0.8.7-win32.zip/download</a><br />Unzip it and run <em>gsmartcontrol.exe</em><br />Double-click your drive and click the ATTRIBUTES tab.</span></div>
<ul style="background-color: #f7f7f7; color: #222222;">
<li style="padding-bottom: 1em;"><span style="color: black; font-family: "verdana" , sans-serif;">If ID #05 Reallocated Sectors Count is listed and has a RAW VALUE greater than 5 then there is physical damage in the form of bad sectors.</span></li>
<li style="padding-bottom: 1em;"><span style="color: black; font-family: "verdana" , sans-serif;">If ID #191 G-sense Error Rate is listed and has a RAW VALUE greater than 0 then that means the drive has been dropped or bumped hard.</span></li>
<li style="padding-bottom: 1em;"><span style="color: black; font-family: "verdana" , sans-serif;">If ID #197 Current Pending Sector Count is listed and has a RAW VALUE greater than 5 then there is physical damage in the form of bad sectors.</span></li>
</ul>
<div style="background-color: #f8f8f8; color: #222222;">
<span style="background-color: #f7f7f7; color: black; font-family: "verdana" , sans-serif;"></span></div>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;">Next, click on the PERFORM TESTS tab and execute the SHORT TEST. If it does not pass the test then there is physical damage.</span></div>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;">If there is no indication of physical damage then you can continue. In order to repair the most common problems that cause an external disk to suddenly become RAW we will use TestDisk.</span></div>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;">Download Testdisk<br /><a href="http://www.cgsecurity.org/wiki/TestDisk_Download" style="color: #1155cc;" target="_blank">http://www.cgsecurity.org/wiki/TestDisk_Download</a><br />and run <em>testdisk_win.exe</em><br /><br />TestDisk is a console application so you have to use your keyboard to interact with it instead of your mouse. Won't work without a keyboard on most tablet as most on screen touch keyboard are lacking down/up arrow This is the case for Samsung tablet</span></div>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;">If you want to recover your data I recommend to buy a sabrent dual 3.5 HDD external enclosure where you can snap the bad disk in. Before you proceed. Purchase a disk of the same size and format it. The disk can be used to copy your data when possible using TestDisk</span></div>
<div style="background-color: #f7f7f7; color: #222222;">
<span style="color: black; font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f7f7f7;">
<span style="font-family: "verdana" , sans-serif;">Run testdisk_win.exe as admin</span></div>
<div style="background-color: #f7f7f7;">
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f7f7f7;">
<span style="font-family: "verdana" , sans-serif;">Choose Create log if you want to document your steps </span></div>
<div style="background-color: #f7f7f7;">
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f7f7f7;">
<span style="font-family: "verdana" , sans-serif;">Select the disk that you can't access - make sure the disk is online and that you identify clearly the disk you will use to recover/copy data onto vs your bad disk.</span></div>
<div style="background-color: #f7f7f7;">
<span style="font-family: "verdana" , sans-serif;"><span style="font-family: "verdana" , sans-serif;">select that disk. </span><span style="color: #212121; font-family: "verdana";">Make sure that your external disk is highlighted</span></span></div>
<div style="background-color: #f7f7f7;">
<span style="font-family: "verdana" , sans-serif;"><span style="color: #212121; font-family: "verdana";">Choose </span><b style="color: #212121;">Proceed</b><span style="color: #212121; font-family: "verdana";"> and hit enter </span></span></div>
<div style="background-color: #f7f7f7;">
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f7f7f7;">
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f7f7f7;">
<span style="font-family: "verdana" , sans-serif;"><span style="background-color: #ececec; color: #333333;">in </span><strong style="background-color: #ececec; border: 0px; color: #333333; font-stretch: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Partition Table Type</strong><span style="background-color: #ececec; color: #333333;"> selection. most tutorial recommend to move the cursor from </span><strong style="background-color: #ececec; border: 0px; color: #333333; font-stretch: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">None</strong><span style="background-color: #ececec; color: #333333;"> to </span><strong style="background-color: #ececec; border: 0px; color: #333333; font-stretch: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Intel</strong><span style="background-color: #ececec; color: #333333;">. In my case and certainly </span><span style="font-family: "verdana" , sans-serif;">with recent version of testdisk </span><span style="background-color: #ececec; color: #333333;">for NTFS disk, I just left the selection at </span><strong style="background-color: #ececec; border: 0px; color: #333333; font-stretch: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">None</strong><span style="background-color: #ececec; color: #333333;"> and just press </span><strong style="background-color: #ececec; border: 0px; color: #333333; font-stretch: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Enter</strong><span style="background-color: #ececec; color: #333333;">. Then TestDisk immediately found the NTFS partition.</span></span></div>
<div style="background-color: #f7f7f7;">
<span style="background-color: #ececec; color: #333333; font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f7f7f7;">
<span style="font-family: "verdana" , sans-serif;"><span style="color: #212121; font-family: "verdana"; font-size: x-small;">Select </span><b style="color: #212121;">Analyse</b><span style="color: #212121; font-family: "verdana"; font-size: x-small;"> and hit enter</span></span></div>
<div style="background-color: #f7f7f7;">
<span style="color: #212121; font-family: "verdana" , sans-serif; font-size: x-small;"><br /></span></div>
<div style="background-color: #f7f7f7;">
<span style="color: #212121; font-family: "verdana" , sans-serif; font-size: x-small;">The partition data looks incorrect (an explanation of why is beyond the scope of this article)</span><br />
<span style="font-family: "verdana" , sans-serif;"><span style="color: #212121; font-family: "verdana"; font-size: x-small;">Select </span><b style="color: #212121;">Quick Search</b><span style="color: #212121; font-family: "verdana"; font-size: x-small;"> and hit enter</span></span></div>
<div style="background-color: #f7f7f7;">
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f7f7f7;">
<span style="color: #212121; font-family: "verdana" , sans-serif; font-size: x-small;">When the Quick Search completes, we see one partition (if you only see the option to CONTINUE at the bottom of the screen press ENTER one time to continue to the screen that you need to be at).</span></div>
<div style="background-color: #f7f7f7;">
<span style="background-color: #ececec; color: #333333; font-family: "verdana" , sans-serif;"><br /></span>
<span style="background-color: #ececec; color: #333333; font-family: "verdana" , sans-serif;"><span style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">Assuming that the partition was shown correctly (Structure:OK) </span></span></div>
<div style="background-color: #f7f7f7;">
<span style="color: #212121; font-family: "verdana" , sans-serif; font-size: x-small;">Lets look at the data on that partition press</span><br />
<b style="color: #212121;"><span style="font-family: "verdana" , sans-serif;">P</span></b><br />
<span style="color: #212121; font-family: "verdana" , sans-serif; font-size: x-small;">and you should see a list of files/folders in the partition.</span><br />
<span style="color: #212121; font-family: "verdana" , sans-serif; font-size: x-small;"><br style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;" /><span style="background-color: #f6fafb; color: #323232; font-family: verdana, geneva, lucida, "lucida grande", helvetica, sans-serif; font-size: 13.3333px;">If none were shown, I would assume there was none to show or Test Disk was unable to do the job :(</span></span><br />
<br /></div>
<div style="background-color: #f7f7f7;">
<span style="color: #212121; font-family: "verdana" , sans-serif; font-size: x-small;"><br /></span></div>
<div style="background-color: #f7f7f7;">
<span style="color: #212121; font-family: "verdana" , sans-serif; font-size: x-small;">Hmmm… This looks like a bunch of diagnostic tools but not our missing data. We’ll need to look further. This means that you probably have more than one partition on that disk Press</span><br />
<b style="color: #212121;"><span style="font-family: "verdana" , sans-serif;">Q</span></b><br />
<span style="color: #212121; font-family: "verdana" , sans-serif; font-size: x-small;">to go back a screen and then press</span><br />
<b style="color: #212121;"><span style="font-family: "verdana" , sans-serif;">enter</span></b></div>
<div style="background-color: #f7f7f7;">
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f7f7f7;">
<span style="font-family: "verdana" , sans-serif;"><span style="color: #212121; font-family: "verdana"; font-size: x-small;">To get to this screen, select </span><b style="color: #212121;">DEEPER SEARCH</b><span style="color: #212121; font-family: "verdana"; font-size: x-small;"> and press enter.</span></span></div>
<div style="background-color: #f7f7f7;">
<span style="color: #212121; font-family: "verdana" , sans-serif; font-size: x-small;"><br /></span></div>
<div style="background-color: #f7f7f7; color: #212121;">
<span style="font-family: "verdana" , sans-serif;">Naturally, the Deeper Search takes longer than the Quick Search</span></div>
<div style="background-color: #f8f8f8;">
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f8f8f8;">
<span style="background-color: #f7f7f7; color: #212121; font-family: "verdana" , sans-serif;">When the Deeper Search completes we now see two partitions. The one we saw after the quick search and maybe another one.</span></div>
<div style="background-color: #f8f8f8;">
<span style="background-color: #f7f7f7; color: #212121; font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f8f8f8;">
<span style="background-color: #f7f7f7; color: #212121; font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f8f8f8;">
<span style="background-color: #f7f7f7; color: #212121; font-family: "verdana" , sans-serif;">Select the new partition and press</span><br />
<b style="background-color: #f7f7f7; color: #212121;"><span style="font-family: "verdana" , sans-serif;">P</span></b><br />
<span style="background-color: #f7f7f7; color: #212121; font-family: "verdana" , sans-serif;">to see the files/folders and now we see the data we want to make visible again.</span></div>
<div style="background-color: #f8f8f8;">
<span style="background-color: #f7f7f7; color: #212121; font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f8f8f8;">
<span style="background-color: #f7f7f7; color: #212121; font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f8f8f8;">
<span style="background-color: #f7f7f7; color: #212121; font-family: "verdana" , sans-serif;">You can browse the FAT select parent folder by moving pointer to it use .. to move up etc...</span></div>
<div>
<span style="color: #212121; font-family: "verdana";"><span style="background-color: #f7f7f7; font-family: "verdana" , sans-serif;">pres <b>a</b> to select all from top folder this will select all folders and sub folders and files</span></span></div>
<div>
<span style="color: #212121; font-family: "verdana";"><span style="background-color: #f7f7f7; font-family: "verdana" , sans-serif;"><br /></span></span></div>
<div>
<span style="color: #212121; font-family: "verdana";"><span style="background-color: #f7f7f7; font-family: "verdana" , sans-serif;">press <b>c</b> to copy</span></span></div>
<div>
<span style="color: #212121; font-family: "verdana";"><span style="background-color: #f7f7f7; font-family: "verdana" , sans-serif;"><br /></span></span></div>
<div>
<span style="color: #212121; font-family: "verdana";"><span style="background-color: #f7f7f7; font-family: "verdana" , sans-serif;">now select target drive. <b>The drive MUST BE a different drive than the damage drive</b>.</span></span></div>
<div>
<span style="color: #212121; font-family: "verdana";"><span style="background-color: #f7f7f7; font-family: "verdana" , sans-serif;"><br /></span></span></div>
<div>
<span style="color: #212121; font-family: "verdana";"><span style="background-color: #f7f7f7; font-family: "verdana" , sans-serif;">Be patient it will take a while.... The file count will increase in green some might be bad meaning lost forever. At least you recover some of your data!</span></span></div>
<div style="background-color: #f7f7f7;">
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div style="background-color: #f7f7f7;">
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
</div>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-12997227935846969302016-10-28T18:29:00.001-07:002016-10-28T18:29:12.280-07:00Text to speech audio recording<span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">The best voices I've found so far are:</span><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">Ivona (</span><a data-saferedirecturl="https://www.google.com/url?hl=en&q=http://www.ivona.com&source=gmail&ust=1477790796122000&usg=AFQjCNF1AX9rFORPat1r023wCpq6z0bHiw" href="http://www.ivona.com/" rel="noreferrer" style="background-color: white; color: #1155cc; font-family: arial, sans-serif; font-size: 12.8px;" target="_blank">www.ivona.com</a><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">)</span><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">iSpeech (</span><a data-saferedirecturl="https://www.google.com/url?hl=en&q=http://www.ispeech.org&source=gmail&ust=1477790796122000&usg=AFQjCNGKNzWuepKx8x-tYqz_fuIBX836fg" href="http://www.ispeech.org/" rel="noreferrer" style="background-color: white; color: #1155cc; font-family: arial, sans-serif; font-size: 12.8px;" target="_blank">www.ispeech.org</a><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">)</span><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><a data-saferedirecturl="https://www.google.com/url?hl=en&q=https://www.ispeech.org/create.text.to.speech.audio&source=gmail&ust=1477790796122000&usg=AFQjCNGqvhE7PP8SgnEzrFz0C44Y0yMtYQ" href="https://www.ispeech.org/create.text.to.speech.audio" rel="noreferrer" style="background-color: white; color: #1155cc; font-family: arial, sans-serif; font-size: 12.8px;" target="_blank">https://www.ispeech.org/<wbr></wbr>create.<span class="il">text</span>.<span class="il">to</span>.<span class="il">speech</span>.audio</a><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">There are a few specialty tools available that help </span><span class="il" style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">to</span><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;"> record stuff</span><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">from your PC. However, you should be able </span><span class="il" style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">to</span><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;"> do this using a built-in</span><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">Windows setting. It's a little hidden:</span><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">1) Right click the speaker icon in the taskbar and select Recording Devices.</span><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">2) Right click the empty space in the list of devices and select Show</span><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">Disabled Devices.</span><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">3) A new item (if it wasn't already visible) should appear called</span><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">Stereo Mix. Right click this and select Enable.</span><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">Now make sure you have an audio recording tool installed. Audacity</span><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">should do the trick.</span><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">1) In your audio recording tool's settings (Preferences in Audacity)</span><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">select your recording device input. Pick Stereo Mix.</span><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">2) Click the record button in Audacity, then play the file on the PC</span><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">that you want </span><span class="il" style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">to</span><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;"> record from.</span><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">3) Stop the recording when you're done and edit </span><span class="il" style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">to</span><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;"> taste.</span><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><br style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;" /><span style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">4) Export as the audio format of your choice.</span>Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-30255102703141077802016-09-25T11:02:00.003-07:002016-09-25T12:07:27.953-07:00How to protect walking garden fruit cage<div style="background-color: white;">
</div>
<h2>
<span style="font-family: "trebuchet ms" , sans-serif; font-size: x-large;">How to protect walk-in garden fruit cage</span></h2>
<ul>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Heirloom tomatoes</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Zucchini flowers/zucchini</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">Cucumber</span></li>
</ul>
<br />
<br />
<span style="font-family: "trebuchet ms" , sans-serif;">I love to garden but am surrounded by squirrels where I live s</span><span style="font-family: "trebuchet ms" , sans-serif;">o I decided to purchase this fantastic product from the UK:</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<a href="http://www.henrycowls.net/fruit-cages"><span style="font-family: "trebuchet ms" , sans-serif;">http://www.henrycowls.net/fruit-cages</span></a><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">It's not cheap but definitely the best for the money because it is clean and gives a great look for a walk-in garden. It comes with a door and good quality netting.</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-IaHnkj12cPA/V-ggQ1GxsCI/AAAAAAAAB5M/-xMhNd8gQoAgLZ8CCF_s9Vpo_WqX8tVrwCLcB/s1600/IMG_6488.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://3.bp.blogspot.com/-IaHnkj12cPA/V-ggQ1GxsCI/AAAAAAAAB5M/-xMhNd8gQoAgLZ8CCF_s9Vpo_WqX8tVrwCLcB/s640/IMG_6488.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<span style="font-family: "trebuchet ms" , sans-serif;">I built it alone and ordered it with custom dimension to fit perfectly in a small patch alongside my house. I left enough space to walk around but because it is close to my neighbor's fence but a problem came along the way....</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;">From spring to August, no squirrels were able to get in with the normal installation but then one squirrel figured it out and oh boy, it was game on!</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">I wanted to protect my garden without killing the squirrels and I won that battle!</span><br />
<br />
<h2>
<span style="font-family: "trebuchet ms" , sans-serif; font-size: x-large;">Squirrels</span></h2>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<br />
<div style="background-color: white;">
<span style="font-family: "trebuchet ms" , sans-serif;"><span class="style4" style="color: maroon;">A squirrel is a dangerous animal </span>- They carry disease in their feces and fleas which can bite you and give you bubonic plague or other diseases. They are rats with a bushy tail. Sure, they are cute to look at, but they can be a real problem rodent for many people. They will try to burrow under or into your home and they can eat up electrical wires can even cause your house to burn down. Not so cute now, huh? The multiply faster than rabbits. In springtime you may see one, then suddenly in just three months you will see 14 and that can double again in July. They can overrun your property and they will steal your bird food, cat food, fruit and vegetables and just make life miserable for you. The also have amazingly powerful teeth and those fangs are really long fangs too. One bite from a squirrel and you will be visiting the emergency room for stitches. Some squirrels can become aggressive and attack you or your kids.</span></div>
<div class="style5" style="background-color: white; color: maroon; text-align: center;">
<em><span style="font-family: "trebuchet ms" , sans-serif;">"Squirrels have caused more than 50 power outages in 24 states in the year 2013 alone. Squirrels caused the blackouts and small explosions that shut down the New York Stock Exchange, twice!" </span></em></div>
<br />
<em style="font-family: "Trebuchet MS", sans-serif;"><br /></em>
<span style="font-family: "trebuchet ms" , sans-serif; font-size: x-large;">How I made my walk-in garden squirrel proof</span><br />
<br />
<span style="font-family: "trebuchet ms" , sans-serif;">The net is not squirrel proof so to make it squirrels proof you will have to</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">I purchase a pack of 100 back zip tie and add a lot of them for the vertical pole to make sure no space is left for a squirrel to get in.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;"><a href="http://www.homedepot.com/p/Commercial-Electric-8-in-UV-Cable-Tie-Black-100-Pack-GT-200STCB/203531910">http://www.homedepot.com/p/Commercial-Electric-8-in-UV-Cable-Tie-Black-100-Pack-GT-200STCB/203531910</a></span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Then to make the size netting Squirrel proof, all around I recommend you purchased deer Block netting </span><br />
<br />
<a data-saferedirecturl="https://www.google.com/url?hl=en&q=http://www.homedepot.com/p/Unbranded-7-ft-x-100-ft-Deer-Block-Netting-889553A/202267888&source=gmail&ust=1474911236006000&usg=AFQjCNHvn4h1rl1humak-nqlkHSHw0VPNg" href="http://www.homedepot.com/p/Unbranded-7-ft-x-100-ft-Deer-Block-Netting-889553A/202267888" style="color: #1155cc; font-family: "Trebuchet MS", sans-serif;" target="_blank"><br class="Apple-interchange-newline" />http://www.homedepot.com/p/<wbr></wbr>Unbranded-7-ft-x-100-ft-Deer-<wbr></wbr>Block-Netting-889553A/<wbr></wbr>202267888</a><br />
<a data-saferedirecturl="https://www.google.com/url?hl=en&q=http://www.amazon.com/Plastic-Cable-Ties-100-Pack-Black/dp/B002C0SKBW&source=gmail&ust=1474911236006000&usg=AFQjCNH6l1sr-BGZ9kw8csp1XJuZrpR3vw" href="http://www.amazon.com/Plastic-Cable-Ties-100-Pack-Black/dp/B002C0SKBW" style="color: #1155cc; font-family: "Trebuchet MS", sans-serif;" target="_blank">http://www.amazon.com/Plastic-<wbr></wbr>Cable-Ties-100-Pack-Black/dp/<wbr></wbr>B002C0SKBW</a><br />
<br />
<span style="font-family: "trebuchet ms" , sans-serif;">Attach the mesh around for half the height of the cage. Secure them with zip tie and at the bottom place a bunch of Pavel stone on the ground above the excess of mesh net.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;">This ne t is great because they can't cut it with their teeth. Think about them as fishing net.</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-e8Db5Ww17bQ/V-ggRHOZ6gI/AAAAAAAAB5Q/zoX6S1-NO-MwDjSGi-M1iPXZcs9rjw9wgCEw/s1600/IMG_6489.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://4.bp.blogspot.com/-e8Db5Ww17bQ/V-ggRHOZ6gI/AAAAAAAAB5Q/zoX6S1-NO-MwDjSGi-M1iPXZcs9rjw9wgCEw/s640/IMG_6489.JPG" width="480" /></a></div>
<br />
<br />
<span style="font-family: "trebuchet ms" , sans-serif;">Finally for the side area close to the fence where they had lots of time to cut some hole in the net, I purchased red wood bins and I glued some bird pike </span><span style="font-family: "trebuchet ms" , sans-serif;">with adhesive glue </span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;"><a href="http://www.homedepot.com/p/Bird-B-Gone-10-ft-x-5-in-Enviro-spike-Stainless-Steel-Bird-Spike-100516567/204626790">http://www.homedepot.com/p/Bird-B-Gone-10-ft-x-5-in-Enviro-spike-Stainless-Steel-Bird-Spike-100516567/204626790</a></span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">and I added 2 row of wooden nail. </span><span style="font-family: "trebuchet ms" , sans-serif;">Results is very clean and they can't walk around the net on the side along the wooden fence.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<br />
<div style="background-color: white;">
</div>
<div style="background-color: white; font-size: 12.8px;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-3saooElQMBY/V-gK_0cBJ7I/AAAAAAAAB4s/ON3E3Tf3OucnXZYMw0zSpL_0kqVUclFQQCLcB/s1600/IMG_6481.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "trebuchet ms" , sans-serif;"><img border="0" height="640" src="https://2.bp.blogspot.com/-3saooElQMBY/V-gK_0cBJ7I/AAAAAAAAB4s/ON3E3Tf3OucnXZYMw0zSpL_0kqVUclFQQCLcB/s640/IMG_6481.JPG" width="480" /></span></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-nZEUcHni1mo/V-gLAFgST_I/AAAAAAAAB40/gzzzoLe3se0Qo8Y1wuWn7K7ilLOFQihTwCLcB/s1600/IMG_6482.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "trebuchet ms" , sans-serif;"><img border="0" height="640" src="https://2.bp.blogspot.com/-nZEUcHni1mo/V-gLAFgST_I/AAAAAAAAB40/gzzzoLe3se0Qo8Y1wuWn7K7ilLOFQihTwCLcB/s640/IMG_6482.JPG" width="480" /></span></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-UeRQ-eNhXX8/V-gLAFEPI5I/AAAAAAAAB4w/88SDGcFJNVI-kDyyFUzIt952h8x6G97nwCLcB/s1600/IMG_6483.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "trebuchet ms" , sans-serif;"><img border="0" height="640" src="https://1.bp.blogspot.com/-UeRQ-eNhXX8/V-gLAFEPI5I/AAAAAAAAB4w/88SDGcFJNVI-kDyyFUzIt952h8x6G97nwCLcB/s640/IMG_6483.JPG" width="480" /></span></a></div>
<div style="background-color: white; font-size: 12.8px;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<br />
<div style="background-color: white;">
<br /></div>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-62650142500773733992016-08-20T23:49:00.002-07:002016-08-20T23:49:14.254-07:00Make image with white background transparent for iOS, Android or Web<h1 id="page-title" style="border-bottom-color: rgb(162, 160, 161); border-bottom-style: solid; border-width: 0px 0px 1px; color: #464646; font-family: SansationRegular, arial, sans-serif; font-weight: inherit; line-height: 1.2em; margin: 0px 0px 1em; outline: 0px; padding: 0px 0px 0.3em; vertical-align: baseline;">
Remove Logo Background (Make It Transparent) Using Photoshop</h1>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
A logo with an opaque background might not blend well with the website’s background compared to one with a transparent background. In this tutorial you will learn how to make a logo’s background transparent.</div>
<blockquote style="background-attachment: scroll; background-clip: initial; background-image: url("images/black-10.png"); background-origin: initial; background-position: 0px 0px; background-repeat: repeat; background-size: initial; border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin: 0px 0px 1em; outline: 0px; padding: 1.5em 25px 1px; quotes: "" ""; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
Note: This procedure requires the use of a 3rd-party image editing application (Adobe Photoshop CS6-CS5). </div>
</blockquote>
<h2 style="border: 0px; font-family: SansationRegular, arial, sans-serif; font-weight: inherit; line-height: 1.2em; margin: 0px 0px 1em; outline: 0px; padding: 0.5em 0px 0px; vertical-align: baseline;">
1.) Open your file in Photoshop</h2>
<span style="color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px;">From the menu bar, navigate to </span><strong style="border: 0px; color: #464646; font-family: inherit; font-size: 13px; font-style: inherit; line-height: 19.5px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">File > Open…</strong><br />
<span style="color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px;">Navigate to the folder where your file is located, select the logo file and click on the </span><strong style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Open</strong><span style="color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px;"> button.</span><br />
<br />
<blockquote style="background-attachment: scroll; background-clip: initial; background-image: url("images/black-10.png"); background-origin: initial; background-position: 0px 0px; background-repeat: repeat; background-size: initial; border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin: 0px 0px 1em; outline: 0px; padding: 1.5em 25px 1px; quotes: "" ""; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
Tip: You can press and hold the <strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Alt</strong> key while scrolling your mouse wheel up or down to zoom in and out of the image.</div>
</blockquote>
<h2 style="border: 0px; font-family: SansationRegular, arial, sans-serif; font-weight: inherit; line-height: 1.2em; margin: 0px 0px 1em; outline: 0px; padding: 0.5em 0px 0px; vertical-align: baseline;">
2.) Create a new layer</h2>
<div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
From the menu bar, go to <strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Layer > New > Layer…</strong> (or do the keyboard shortcut <strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Shift+Ctrl/Cmd+N</strong>).</div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
<a href="http://kb.restaurantengine.com/wp-content/uploads/2014/06/ss1402437988.jpg" rel="lightbox-2" style="border: 0px; color: #0088e1; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; text-decoration: none; vertical-align: baseline;"><img alt="" class="aligncenter size-full wp-image-166" height="179" src="http://kb.restaurantengine.com/wp-content/uploads/2014/06/ss1402437988.jpg" style="border: 0px; display: block; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px auto 1em; outline: 0px; padding: 0px; text-align: center; vertical-align: baseline;" width="481" /></a></div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
In the <em style="border: 0px; font-family: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Layers </em>panel on the lower-right corner of your Photoshop window, double click on the layer labeled “Background” and click <strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">OK</strong>. This will turn the original image into a layer.</div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
</div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
After creating the new layer, click and hold the mouse button on it and drag it down below the original image. This will result in the original image overlaying the new blank layer.</div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
<a href="http://kb.restaurantengine.com/wp-content/uploads/2014/06/ss1402438078.jpg" rel="lightbox-4" style="border: 0px; color: #0088e1; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; text-decoration: none; vertical-align: baseline;"><img alt="" class="aligncenter size-full wp-image-168" height="153" src="http://kb.restaurantengine.com/wp-content/uploads/2014/06/ss1402438078.jpg" style="border: 0px; display: block; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px auto 1em; outline: 0px; padding: 0px; text-align: center; vertical-align: baseline;" width="308" /></a></div>
<blockquote style="background-attachment: scroll; background-clip: initial; background-image: url("images/black-10.png"); background-origin: initial; background-position: 0px 0px; background-repeat: repeat; background-size: initial; border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin: 0px 0px 1em; outline: 0px; padding: 1.5em 25px 1px; quotes: "" ""; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
Info: Layers in Photoshop are like sheets of paper stacked together. The ones on top will overlay those below it. If some parts of it are transparent, opaque parts of the next layer below will be visible.</div>
</blockquote>
<h2 style="border: 0px; font-family: SansationRegular, arial, sans-serif; font-weight: inherit; line-height: 1.2em; margin: 0px 0px 1em; outline: 0px; padding: 0.5em 0px 0px; vertical-align: baseline;">
3.) Color the new blank layer</h2>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
While selecting the new blank layer, on the <em style="border: 0px; font-family: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Tools</em> panel (left side) click on the <strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Paint Bucket Tool</strong>.</div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
<a href="http://kb.restaurantengine.com/wp-content/uploads/2014/06/ss1402438096.jpg" rel="lightbox-5" style="border: 0px; color: #0088e1; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; text-decoration: none; vertical-align: baseline;"><img alt="" class="aligncenter size-full wp-image-169" height="133" src="http://kb.restaurantengine.com/wp-content/uploads/2014/06/ss1402438096.jpg" style="border: 0px; display: block; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px auto 1em; outline: 0px; padding: 0px; text-align: center; vertical-align: baseline;" width="177" /></a></div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
On the <em style="border: 0px; font-family: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Color</em> pallete on the upper-right corner of your screen, click on the colored square. In the <em style="border: 0px; font-family: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Color Picker</em> choose a color that would contrast with the logo’s colors except white.</div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
</div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
Click on any blank space within your image to fill the new layer with the color you chose. You may not see this change in the main window but on the <em style="border: 0px; font-family: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Layers</em> panel you’ll notice that the new layer is now colored.</div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<h2 style="border: 0px; font-family: SansationRegular, arial, sans-serif; font-weight: inherit; line-height: 1.2em; margin: 0px 0px 1em; outline: 0px; padding: 0.5em 0px 0px; vertical-align: baseline;">
4.) Remove the white spaces</h2>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
In the <em style="border: 0px; font-family: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Layers</em> panel, select the layer with the image.</div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
Back on the <em style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Tools </em>panel (left side), right-click on the eraser tool set and select <strong style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Magic Eraser Tool</strong>. This type of eraser will automatically erase a single, enclosed shade of color from an image.</div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
Begin by clicking on the outer white area of the image.</div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
Notice how the background layer becomes visible. This means the white space in the logo image has been erased and is now transparent.</div>
<h2 style="border: 0px; font-family: SansationRegular, arial, sans-serif; font-weight: inherit; line-height: 1.2em; margin: 0px 0px 1em; outline: 0px; padding: 0.5em 0px 0px; vertical-align: baseline;">
5.) Clean white spaces off enclosed areas of the logo</h2>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
By holding the <strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Alt</strong> key and using the mouse wheel to zoom in and out of the image, use the <strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Magic Eraser Tool</strong> on sections that needs to be transparent alongside the other areas of the logo e.g. the spaces in between texts.</div>
<h2 style="border: 0px; font-family: SansationRegular, arial, sans-serif; font-weight: inherit; line-height: 1.2em; margin: 0px 0px 1em; outline: 0px; padding: 0.5em 0px 0px; vertical-align: baseline;">
6.) Delete the blank layer you created earlier</h2>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
In the <em style="border: 0px; font-family: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Layers</em> panel, select the blank layer (the one you filled with color in step 3) and press the delete button your keyboard. You can also right-click on it and select “Delete layer”.</div>
<h2 style="border: 0px; font-family: SansationRegular, arial, sans-serif; font-weight: inherit; line-height: 1.2em; margin: 0px 0px 1em; outline: 0px; padding: 0.5em 0px 0px; vertical-align: baseline;">
7.) Save your edited image</h2>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
From the menu bar, navigate to <strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">File > Save for Web </strong>(or do the keyboard shortcut <strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Alt+Shift+Ctrl/Cmd+S</strong>).</div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
In the <em style="border: 0px; font-family: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Save for Web</em> window, set the image to “PNG-24” (to preserve transparency). You can also adjust the logo’s height in the provided input boxes.</div>
<blockquote style="background-attachment: scroll; background-clip: initial; background-image: url("images/black-10.png"); background-origin: initial; background-position: 0px 0px; background-repeat: repeat; background-size: initial; border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin: 0px 0px 1em; outline: 0px; padding: 1.5em 25px 1px; quotes: "" ""; vertical-align: baseline;">
Click on the <strong style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Save</strong> button and choose the directory you’d like to save your newly edited transparent image into.</blockquote>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="border: 0px; color: #464646; font-family: arial, sans-serif; font-size: 13px; line-height: 19.5px; margin-bottom: 1.5em; outline: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
</div>
<div>
<br /></div>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-10112700829553652462016-06-04T12:05:00.001-07:002016-06-04T12:21:37.318-07:00Take a screenshot of iOS phone using Mac OSX<h2>
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: large;">Take a screenshot of iOS phone using Mac OSX</span></h2>
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">libplist -> libusbmuxd -> libimobiledevice -> usbmuxd, ifuse,</span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">ideviceinstaller, ...</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br style="background-color: white; font-size: 12.8px;" /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br style="background-color: white; font-size: 12.8px;" /></span>
<br />
<h2>
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><b>libplist:</b></span></h2>
<br />
<br />
<h3>
<span style="background-color: white;"><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large; line-height: 22.4px;"><b>A library to handle Apple Property List format in binary or XML</b></span></span></h3>
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">sudo port install libplist</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><br style="background-color: white;" /></span>
<br />
<h2>
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><b>usbmuxd:</b></span></h2>
<br />
<br />
<h3>
<span style="background-color: white;"><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large; line-height: 22.4px;"><b>A socket daemon to multiplex connections from and to iOS devices</b></span></span></h3>
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">Install usbmuxd on Mac OSX</span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">App name: usbmuxd</span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">App description: USB multiplexor daemon for iPhone and iPod Touch devices</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white; font-size: 12.8px;">App website: </span><a data-saferedirecturl="https://www.google.com/url?hl=en&q=http://www.libimobiledevice.org&source=gmail&ust=1465153184518000&usg=AFQjCNE2XWAD9gwMKD8KoNXfEDd1IibPow" href="http://www.libimobiledevice.org/" rel="noreferrer" style="background-color: white; color: #1155cc; font-size: 12.8px;" target="_blank">http://www.libimobiledevice.<wbr></wbr>org</a></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br style="background-color: white; font-size: 12.8px;" /></span>
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">Press Command+Space and type Terminal and press enter/return key.</span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">Run in Terminal app:</span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">ruby -e "$(curl -fsSL</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a data-saferedirecturl="https://www.google.com/url?hl=en&q=https://raw.githubusercontent.com/Homebrew/install/master/install&source=gmail&ust=1465153184519000&usg=AFQjCNGz2ykQGdtUuCPsxTeO18rsrgrDCQ" href="https://raw.githubusercontent.com/Homebrew/install/master/install" rel="noreferrer" style="background-color: white; color: #1155cc; font-size: 12.8px;" target="_blank">https://raw.githubusercontent.<wbr></wbr>com/Homebrew/install/master/<wbr></wbr>install</a><span style="background-color: white; font-size: 12.8px;">)" <</span></span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">/dev/null 2> /dev/null</span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">and press enter/return key. Wait for the command to finish.</span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">Run:</span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">brew install usbmuxd</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><br style="background-color: white;" /></span>
<br />
<h2>
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><b>libusbmuxd:</b></span></h2>
<br />
<br />
<h3>
<span style="background-color: white;"><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large; line-height: 22.4px;"><b>A client library to multiplex connections from and to iOS devices</b></span></span></h3>
<a data-saferedirecturl="https://www.google.com/url?hl=en&q=https://github.com/libimobiledevice/libusbmuxd&source=gmail&ust=1465153184519000&usg=AFQjCNGsQ6cbbj7uXfeOL6SYRw15UtD4Rg" href="https://github.com/libimobiledevice/libusbmuxd" rel="noreferrer" style="background-color: white; color: #1155cc; font-size: 12.8px;" target="_blank"><span style="font-family: "arial" , "helvetica" , sans-serif;">https://github.com/<wbr></wbr>libimobiledevice/libusbmuxd</span></a><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">To compile run:</span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">./autogen.sh</span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">make</span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">sudo make install</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br style="background-color: white; font-size: 12.8px;" /></span>
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">pkg-config --print-variables libusbmuxd</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br style="background-color: white; font-size: 12.8px;" /></span>
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">imobiledevice issue due to libusbmuxd not found</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white; font-size: 12.8px;">thomasyounsi@Thomass-MacBook-</span><wbr style="background-color: white; font-size: 12.8px;"></wbr><span style="background-color: white; font-size: 12.8px;">Pro:~/imobiledevice/</span><wbr style="background-color: white; font-size: 12.8px;"></wbr><span style="background-color: white; font-size: 12.8px;">libimobiledevice-1.2.0$</span></span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">pkg-config --print-variables libusbmuxd</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br style="background-color: white; font-size: 12.8px;" /></span>
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">Package libusbmuxd was not found in the pkg-config search path.</span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">Perhaps you should add the directory containing `libusbmuxd.pc'</span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">to the PKG_CONFIG_PATH environment variable</span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">No package 'libusbmuxd' found</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br style="background-color: white; font-size: 12.8px;" /></span>
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">echo $PKG_CONFIG_PATH</span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">/usr/lib/pkgconfig</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br style="background-color: white; font-size: 12.8px;" /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white; font-size: 12.8px;">thomasyounsi@Thomass-MacBook-</span><wbr style="background-color: white; font-size: 12.8px;"></wbr><span style="background-color: white; font-size: 12.8px;">Pro:~/imobiledevice/</span><wbr style="background-color: white; font-size: 12.8px;"></wbr><span style="background-color: white; font-size: 12.8px;">libimobiledevice-1.2.0$</span></span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">pkg-config --variable pc_path pkg-config</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br style="background-color: white; font-size: 12.8px;" /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white; font-size: 12.8px;">/opt/local/lib/pkgconfig:/opt/</span><wbr style="background-color: white; font-size: 12.8px;"></wbr><span style="background-color: white; font-size: 12.8px;">local/share/pkgconfig</span></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br style="background-color: white; font-size: 12.8px;" /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white; font-size: 12.8px;">thomasyounsi@Thomass-MacBook-</span><wbr style="background-color: white; font-size: 12.8px;"></wbr><span style="background-color: white; font-size: 12.8px;">Pro:~/imobiledevice/</span><wbr style="background-color: white; font-size: 12.8px;"></wbr><span style="background-color: white; font-size: 12.8px;">libimobiledevice-1.2.0$</span></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br style="background-color: white; font-size: 12.8px;" /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white; font-size: 12.8px;">export PKG_CONFIG_PATH=$PKG_CONFIG_</span><wbr style="background-color: white; font-size: 12.8px;"></wbr><span style="background-color: white; font-size: 12.8px;">PATH:<your-directory></your-directory></span></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br style="background-color: white; font-size: 12.8px;" /></span>
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">locate libusbmuxd | grep '\.pc'</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br style="background-color: white; font-size: 12.8px;" /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white; font-size: 12.8px;">/usr/local/Cellar/usbmuxd/1.0.</span><wbr style="background-color: white; font-size: 12.8px;"></wbr><span style="background-color: white; font-size: 12.8px;">10/lib/pkgconfig/libusbmuxd.pc</span></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white; font-size: 12.8px;">/usr/local/lib/pkgconfig/</span><wbr style="background-color: white; font-size: 12.8px;"></wbr><span style="background-color: white; font-size: 12.8px;">libusbmuxd.pc</span></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br style="background-color: white; font-size: 12.8px;" /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white; font-size: 12.8px;">export PKG_CONFIG_PATH=$PKG_CONFIG_</span><wbr style="background-color: white; font-size: 12.8px;"></wbr><span style="background-color: white; font-size: 12.8px;">PATH:/usr/local/Cellar/</span><wbr style="background-color: white; font-size: 12.8px;"></wbr><span style="background-color: white; font-size: 12.8px;">usbmuxd/1.0.10/lib/pkgconfig/</span></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br style="background-color: white; font-size: 12.8px;" /></span>
<br />
<h2>
<span style="background-color: white;"><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: large;"><b>libimobiledevice:</b></span></span></h2>
<br />
<h3 style="background-color: white; line-height: 36px; margin: 0px 0px 10px; padding: 0px;">
<span style="font-size: large;"><span style="font-family: "arial" , "helvetica" , sans-serif;">A cross-platform software protocol library and tools to communicate with iOS® </span><span style="font-family: "arial" , "helvetica" , sans-serif;">devices natively</span></span></h3>
<span style="background-color: white; font-size: 12.8px;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></span>
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">sudo ./autogen.sh or ./configure</span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">make</span><br />
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">sudo make install</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br style="background-color: white; font-size: 12.8px;" /></span>
<span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;">Start XCode so that the iPhone get's mounted</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white; font-size: 12.8px;"><br /></span>
<span style="background-color: white; font-size: 12.8px;">run idevicescreenshot to get a nice ScreenShot in tiff format!!!</span></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white; font-size: 12.8px;"><br /></span>
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-cebbjsitmdo/V1Mmyh5A_gI/AAAAAAAABwg/cF8iINYXXxcAjLbI9Mg55VvyiUepS-aBQCLcB/s1600/screenshot-2016-06-04-19-04-06.tiff" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><img border="0" height="640" src="https://3.bp.blogspot.com/-cebbjsitmdo/V1Mmyh5A_gI/AAAAAAAABwg/cF8iINYXXxcAjLbI9Mg55VvyiUepS-aBQCLcB/s640/screenshot-2016-06-04-19-04-06.tiff" width="360" /></span></a></div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white; font-size: 12.8px;"><br /></span>
</span><br />
<span style="font-family: "arial" , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: 12.8px;"><a href="https://github.com/libimobiledevice/libimobiledevice/blob/master/tools/idevicescreenshot.c">https://github.com/libimobiledevice/libimobiledevice/blob/master/tools/idevicescreenshot.c</a></span></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br style="background-color: white; font-size: 12.8px;" /></span>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-29422830096639222912016-05-11T21:48:00.000-07:002016-05-11T21:55:22.159-07:00how to install provisioning profile for xcode<span style="font-family: inherit;">I keep forgeting each time I want to register a new device to ad hoc testing without publishing the app to app store</span><br />
<span style="font-family: inherit;"><br /></span>
<br />
<span style="background-color: white; font-family: inherit; line-height: 18px;">1) Sign in to </span><a href="http://developer.apple.com/" style="background-color: white; color: #006fbb; font-family: inherit; line-height: 18px; margin: 0px; outline: none; padding: 0px;">http://developer.apple.com</a><span style="background-color: white; font-family: inherit; line-height: 18px;">.</span><br /><span style="background-color: white; font-family: inherit; line-height: 18px;">2) Click on "Certificates, Identifiers & Profiles" in the right sidebar.</span><br /><span style="background-color: white; font-family: inherit; line-height: 18px;">3) Click on "Devices", then on the + button.</span><br /><span style="background-color: white; font-family: inherit; line-height: 18px;">4) Select "Register Multiple Devices" and choose the downloaded device file.</span><br /><span style="background-color: white; font-family: inherit; line-height: 18px;">5) Click on "Continue".</span><br /><span style="background-color: white; font-family: inherit; line-height: 18px;">6) Confirm the list of imported devices with "Register".</span><br /><span style="background-color: white; font-family: inherit; line-height: 18px;">7) Click on "Distribution" below "Provisioning Profiles".</span><br /><span style="background-color: white; font-family: inherit; line-height: 18px;">8) Click on the + button, select "Ad Hoc", then click on "Continue".</span><br /><span style="background-color: white; font-family: inherit; line-height: 18px;">9) Select your app, then click on "Continue".</span><br /><span style="background-color: white; font-family: inherit; line-height: 18px;">10) Select your certificate, then click on "Continue".</span><br /><span style="background-color: white; font-family: inherit; line-height: 18px;">11) Now you should see all devices registered in the portal. Select all or just the ones that you want to include in this provisioning profile. Then click on "Continue".</span><br /><span style="background-color: white; font-family: inherit; line-height: 18px;">12) Enter a name for the profile. Confirm with "Generate". The portal will now show "Loading…" for some time, then you can download the profile.</span><br /><span style="background-color: white; font-family: inherit; line-height: 18px;">13) Drag & drop the downloaded profile to Xcode.... May work if you have already a profile attached you can refresh</span><br /><ol style="background-color: white; line-height: 18px; margin: 1em 0px; padding: 0px;">
</ol>
<div>
<ul>
<li class="_AXc" style="border: 0px; list-style: inherit; margin: 0px 0px 4px; padding: 0px;"><span style="font-family: inherit;">Xcode menu => Preferences => Accounts.</span></li>
<li class="_AXc" style="border: 0px; list-style: inherit; margin: 0px 0px 4px; padding: 0px;"><span style="font-family: inherit;">Select the Apple ID in the left panel.</span></li>
<li class="_AXc" style="border: 0px; list-style: inherit; margin: 0px 0px 4px; padding: 0px;"><span style="font-family: inherit;">Click the View Details button on the right.</span></li>
<li class="_AXc" style="border: 0px; list-style: inherit; margin: 0px 0px 4px; padding: 0px;"><span style="font-family: inherit;">In the pop-over that follows click the round refresh arrow. ...</span></li>
<li class="_AXc" style="border: 0px; list-style: inherit; margin: 0px 0px 4px; padding: 0px;"><span style="font-family: inherit;">The provisioning profiles can then be selected in a Mac project under Build Settings => Code Signing => Provisioning Profile.</span></li>
</ul>
</div>
<span style="background-color: white; font-family: inherit; line-height: 18px;">14) In Xcode, select your project in the left sidebar, then "Build Settings".</span><span style="background-color: white; font-family: inherit; line-height: 18px;"><br /></span><span style="background-color: white; font-family: inherit; line-height: 18px;">15) Enter "code sign" in the search field.</span><span style="background-color: white; font-family: inherit; line-height: 18px;"><br /></span><span style="background-color: white; font-family: inherit; line-height: 18px;">16) Select the line for your release configuration and choose the downloaded profile.</span><span style="background-color: white; font-family: inherit; line-height: 18px;"><br /></span><span style="background-color: white; font-family: inherit; line-height: 18px;">17) Create a build through "Project > Build & Archive".</span><span style="background-color: white; font-family: inherit; line-height: 18px;"><br /></span><ol style="background-color: white; line-height: 18px; margin: 1em 0px; padding: 0px;">
</ol>
<div>
<span style="line-height: 18px;"><span style="font-family: inherit;"><br /></span></span></div>
<div>
<span style="line-height: 18px;"><span style="font-family: inherit;">Sometimes when you build xcode is complaining that UUID blabla profile is not found.</span></span></div>
<div>
<span style="line-height: 18px;"><span style="font-family: inherit;"><br /></span></span></div>
<div>
<div class="p1">
code Sign error: No matching provisioning profile found: Your build settings specify a provisioning profile with the UUID “ffff1f-eff1-4fff-bffb-2948a242e59e”, however, no such provisioning profile was found.</div>
<div class="p1">
<br /></div>
</div>
<div>
<span style="line-height: 18px;"><span style="font-family: inherit;">In this case you can manually copy the profile you downloaded to </span></span></div>
<div>
<div class="p1">
<span class="s1"><span style="font-family: inherit;">~/Library/MobileDevice/Provisioning Profiles</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: inherit;"><br /></span></span></div>
<div class="p1">
<span style="font-family: inherit;"><span class="s1">Eg </span>1ffff1f-eff1-4fff-bffb-2948a242e59e.mobileprovision</span></div>
<div class="p1">
<span style="font-family: inherit;"><br /></span></div>
<div class="p1">
<span style="font-family: inherit;">and build again</span></div>
<div class="p1">
<br /></div>
<div class="p1">
18) To export your app to install using iTunes select</div>
<div class="p1">
archive menu in Xcode --> Product --> Archive<br />
<br />
19) After that select Windows --> Organizer</div>
</div>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-78274589065670129462016-05-10T22:26:00.001-07:002016-06-26T21:06:57.851-07:00Backup raspberry PI accidently installed on big SD card to smaller SD card and how to seal with format sd card unknown capacity on Windows<div class="page-title-wrapper" style="box-sizing: border-box; color: #333333; font-family: 'gotham ssm a', 'gotham ssm b'; line-height: 20px; position: relative;">
<h1 class="headline" style="border-bottom-style: none; box-sizing: border-box; display: inline-block; font-weight: 400; line-height: 1; margin: 4px 0px 12px; padding: 0px 0px 5px; width: 336px;">
<span style="font-size: small;">
<span style="box-sizing: border-box;"><span style="background-color: white; color: black; font-family: "arial" , sans-serif; line-height: normal;">You have a 32GB </span><span class="il" style="background-color: white; color: black; font-family: "arial" , sans-serif; line-height: normal;">SD</span><span style="background-color: white; color: black; font-family: "arial" , sans-serif; line-height: normal;"> </span><span class="il" style="background-color: white; color: black; font-family: "arial" , sans-serif; line-height: normal;">card</span><span style="background-color: white; color: black; font-family: "arial" , sans-serif; line-height: normal;">.</span><br style="background-color: white; color: black; font-family: arial, sans-serif; line-height: normal;" /><span style="background-color: white; color: black; font-family: "arial" , sans-serif; line-height: normal;">You are using 1.8GB of space on it.</span><br style="background-color: white; color: black; font-family: arial, sans-serif; line-height: normal;" /><span style="background-color: white; color: black; font-family: "arial" , sans-serif; line-height: normal;">You want to back it up into an image that is 1.8GB big, not 32GB big.</span><br style="background-color: white; color: black; font-family: arial, sans-serif; line-height: normal;" /><span style="background-color: white; color: black; font-family: "arial" , sans-serif; line-height: normal;">Then you want to be able to put it on an </span><span class="il" style="background-color: white; color: black; font-family: "arial" , sans-serif; line-height: normal;">SD</span><span style="background-color: white; color: black; font-family: "arial" , sans-serif; line-height: normal;"> </span><span class="il" style="background-color: white; color: black; font-family: "arial" , sans-serif; line-height: normal;">card</span><span style="background-color: white; color: black; font-family: "arial" , sans-serif; line-height: normal;"> that is 2,4,8 or 16GB big.</span></span></span></h1>
</div>
<div class="page-title-wrapper" style="box-sizing: border-box; color: #333333; font-family: 'Gotham SSm A', 'Gotham SSm B'; font-size: 14px; line-height: 20px; position: relative;">
<h1 class="headline" style="border-bottom-style: none; box-sizing: border-box; display: inline-block; font-size: 24px; font-weight: 400; line-height: 1; margin: 4px 0px 12px; padding: 0px 0px 5px; width: 336px;">
<span id="make-a-backup-image" style="box-sizing: border-box;">Make a Backup Image of Raspberry pi SDCARD!</span></h1>
</div>
<div class="page-content" style="box-sizing: border-box;">
<div class="row-fluid build-text" style="box-sizing: border-box; padding-bottom: 20px;">
<span style="color: #333333; font-family: "gotham ssm a" , "gotham ssm b";"><span style="line-height: 20px;">It took a while to get your SD card set up, didn't it? Bet you don't want to have to do that again, do you?</span></span><br />
<br style="box-sizing: border-box;" />
<span style="color: #333333; font-family: "gotham ssm a" , "gotham ssm b";"><span style="line-height: 20px;">Well,</span></span><br />
<br style="box-sizing: border-box;" />
<h2 style="box-sizing: border-box; color: inherit; font-family: 'Gotham SSm A', 'Gotham SSm B'; font-size: 21px; font-weight: 400; line-height: 1; margin: 10px 0px 0px; padding-bottom: 5px;">
<a class="anchor-link" href="https://learn.adafruit.com/adafruit-raspberry-pi-lesson-1-preparing-and-sd-card-for-your-raspberry-pi/make-a-backup-image#back-it-up" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; color: #999999; display: inline-block; font-size: 14px; left: -17px; margin-top: 3px; position: absolute; text-decoration: none;"><span class="fa fa-link" style="box-sizing: border-box; display: inline-block; font-family: "fontawesome"; font-size: inherit; font-stretch: normal; line-height: 1;"></span></a><span class="anchor-link-target" id="back-it-up" style="box-sizing: border-box;"></span>Back it up!</h2>
<div style="box-sizing: border-box; color: #333333; font-family: 'gotham ssm a', 'gotham ssm b'; line-height: 20px; margin-bottom: 0px;">
Forum user, Mac user, and Adafruit Customer phil.drummond took it upon himself to find the best way to back up his system image.<br />
<br style="box-sizing: border-box;" />
And he found a fast and easy way - a script which quickly creates a clone of your running Raspberry Pi system, ON THE PI ITSELF!</div>
<div style="box-sizing: border-box; color: #333333; font-family: 'gotham ssm a', 'gotham ssm b'; line-height: 20px; margin-bottom: 0px;">
<br /></div>
<div style="box-sizing: border-box; margin-bottom: 0px;">
<h2 style="background-color: white; box-sizing: border-box; color: #333333; font-family: 'Gotham SSm A', 'Gotham SSm B'; font-size: 21px; font-weight: 400; line-height: 1; margin: 10px 0px 0px; padding-bottom: 5px;">
What You'll Need</h2>
<div style="background-color: white; box-sizing: border-box; margin-bottom: 0px;">
<ul style="box-sizing: border-box; color: #333333; font-family: 'gotham ssm a', 'gotham ssm b'; line-height: 20px; margin-bottom: 10px; margin-top: 10px;">
<li style="box-sizing: border-box;">USB SD Card Reader</li>
<li style="box-sizing: border-box;">Blank SD Card</li>
<li style="box-sizing: border-box;">Booted and Running Raspberry Pi</li>
</ul>
<div style="color: #333333; font-family: 'gotham ssm a', 'gotham ssm b'; line-height: 20px;">
<br /></div>
<div>
<h2 style="box-sizing: border-box; color: #333333; font-family: 'Gotham SSm A', 'Gotham SSm B'; font-size: 21px; font-weight: 400; line-height: 1; margin: 10px 0px 0px; padding-bottom: 5px;">
Get the Script File</h2>
<span style="color: #333333; font-family: "gotham ssm a" , "gotham ssm b";"><span style="line-height: 20px;">First, get a copy of the script file onto your Pi. You can do that in any one of several ways:</span></span><br />
<ul style="box-sizing: border-box; color: #333333; font-family: 'gotham ssm a', 'gotham ssm b'; line-height: 20px; margin-bottom: 10px; margin-top: 10px;">
<li style="box-sizing: border-box;">First, download the file to your computer</li>
</ul>
<div>
<div>
<span style="color: #333333; font-family: "gotham ssm a" , "gotham ssm b";"><span style="line-height: 20px;">If you are looking for rpi-clone, it is now on github and no longer</span></span></div>
<div>
<span style="color: #333333; font-family: "gotham ssm a" , "gotham ssm b";"><span style="line-height: 20px;">available from pastebin.</span></span></div>
<div>
<span style="color: #333333; font-family: "gotham ssm a" , "gotham ssm b";"><span style="line-height: 20px;"><br /></span></span></div>
<div>
<span style="color: #333333; font-family: "gotham ssm a" , "gotham ssm b";"><span style="line-height: 20px;">Get it with git:</span></span></div>
<div>
<span style="color: #333333; font-family: "gotham ssm a" , "gotham ssm b";"><span style="line-height: 20px;"><br /></span></span></div>
<div>
<span style="color: #333333; font-family: "gotham ssm a" , "gotham ssm b";"><span style="line-height: 20px;"> $git clone https://github.com/billw2/rpi-clone.git</span></span><br />
<br /></div>
<div>
<span style="color: #333333; font-family: "gotham ssm a" , "gotham ssm b";"><span style="line-height: 20px;"><br /></span></span></div>
<div>
<span style="color: #333333; font-family: "gotham ssm a" , "gotham ssm b";"><span style="line-height: 20px;">To view the rpi-clone README file, go to:</span></span></div>
</div>
<div style="color: #333333; font-family: 'gotham ssm a', 'gotham ssm b'; line-height: 20px;">
<div class="row-fluid build-text" style="box-sizing: border-box; padding-bottom: 20px;">
<h2 style="box-sizing: border-box; color: inherit; font-size: 21px; font-weight: 400; line-height: 1; margin: 10px 0px 0px; padding-bottom: 5px;">
Run the Script</h2>
<ol style="box-sizing: border-box; margin-bottom: 0px; margin-top: 0px;">
<li style="box-sizing: border-box;">Put the blank SD card into your USB Card Reader, and plug it into one of the PI's USB ports.</li>
<li style="box-sizing: border-box;">Open a Terminal window on the Pi</li>
<li style="box-sizing: border-box;">Navigate to the folder where you stored the script file. (If you stored the file on the Pi's Desktop, simply type 'cd Desktop')</li>
</ol>
</div>
<div class="row-fluid build-image" style="box-sizing: border-box; font-size: 14px; padding-bottom: 20px; position: relative;">
<a href="https://learn.adafruit.com/assets/10655" style="background: transparent; box-sizing: border-box; color: #00a7e9; display: block; position: relative; text-decoration: none;"><img alt="learn_raspberry_pi_script_1.png" class="10655-asset img-responsive" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 65vw, (max-width: 1365px) 47vw, 750px" src="https://cdn-learn.adafruit.com/assets/assets/000/010/655/medium800/learn_raspberry_pi_script_1.png?1377526603" srcset="https://cdn-learn.adafruit.com/assets/assets/000/010/655/medium260/learn_raspberry_pi_script_1.png?1377526603 260w,
https://cdn-learn.adafruit.com/assets/assets/000/010/655/medium640/learn_raspberry_pi_script_1.png?1377526603 640w,
https://cdn-learn.adafruit.com/assets/assets/000/010/655/medium800/learn_raspberry_pi_script_1.png?1377526603 800w,
https://cdn-learn.adafruit.com/assets/assets/000/010/655/large1024/learn_raspberry_pi_script_1.png?1377526603 1024w" style="border: 0px; box-sizing: border-box; display: block; height: auto; margin: 0px auto; max-width: 100%; text-align: center; vertical-align: middle;" /></a></div>
<div class="row-fluid build-text" style="box-sizing: border-box; padding-bottom: 20px;">
<span style="box-sizing: border-box;">When you run the script, you will have to specify the name of your SD card. Raspbian and occidentalis assign the names 'sda', sdb', etc. to SD cards found on USB. If you only have one USB card reader attached, the name of your new SD card will be 'sda'.</span>If you're not sure that sda is the right card, you can run this command to list the cards connected to your Pi. </div>
</div>
</div>
<div class="row-fluid build-text" style="box-sizing: border-box; color: #333333; font-family: 'Gotham SSm A', 'Gotham SSm B'; font-size: 14px; line-height: 20px; padding-bottom: 20px;">
<br /></div>
<div class="row-fluid build-text" style="box-sizing: border-box; color: #333333; font-family: 'gotham ssm a', 'gotham ssm b'; line-height: 20px; padding-bottom: 20px;">
<div class="build-code" style="box-sizing: border-box; padding-bottom: 20px; position: relative;">
<div class="code-copy-container" style="box-sizing: border-box; font-size: 14px; padding: 3px 7px 0px 0px; position: absolute; right: 0px; top: 0px;">
<a class="code-copy-button" href="https://learn.adafruit.com/adafruit-raspberry-pi-lesson-1-preparing-and-sd-card-for-your-raspberry-pi/make-a-backup-image#" style="background: transparent; box-sizing: border-box; color: white; font-size: 12px; text-decoration: none;"><br class="Apple-interchange-newline" />Copy Code</a></div>
<pre class="prettyprint linenums" style="background-attachment: initial; background-clip: initial; background-color: #2d2d2d; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border-radius: 0px; border: none; box-sizing: border-box; font-family: consolas, monaco, 'lucida console', 'liberation mono', 'dejavu sans mono', 'bitstream vera sans mono', 'courier new', monospace; line-height: 1.5; overflow: auto; padding: 10px; word-break: normal; word-wrap: normal;"><ol class="linenums" style="box-sizing: border-box; font-size: 13px; margin: 0px; padding: 0px;">
<li class="L0" style="box-sizing: border-box;"><span class="pln" style="box-sizing: border-box; color: #cccccc;">sudo fdisk </span><span class="pun" style="box-sizing: border-box; color: #cccccc;">-</span><span class="pln" style="box-sizing: border-box; color: #cccccc;">l</span></li>
</ol>
</pre>
</div>
<div class="row-fluid build-text" style="box-sizing: border-box; padding-bottom: 20px;">
The SD card slot with your running Pi system will show up as /dev/mmcblk0. Your blank card will be listed as /dev/sda1 (or possibly /dev/sdb1, if you have more than one USB card readers attached to the Pi).<br />
<br style="box-sizing: border-box;" />
Note that you don't enter the '1' - if your card is listed as '/dev/sda1', then you would still enter 'sda' when you run the script ('sda' is the name of the card, 'sda1' is the name of the first partition on the card).<br />
<br style="box-sizing: border-box;" />
Ok, so now you should be ready to run the commands</div>
<div class="build-code" style="box-sizing: border-box; padding-bottom: 20px; position: relative;">
<div class="code-copy-container" style="box-sizing: border-box; font-size: 14px; padding: 3px 7px 0px 0px; position: absolute; right: 0px; top: 0px;">
<a class="code-copy-button" href="https://learn.adafruit.com/adafruit-raspberry-pi-lesson-1-preparing-and-sd-card-for-your-raspberry-pi/make-a-backup-image#" style="background: transparent; box-sizing: border-box; color: white; font-size: 12px; text-decoration: none;">Copy Code</a></div>
<pre class="prettyprint linenums" style="background-attachment: initial; background-clip: initial; background-color: #2d2d2d; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border-radius: 0px; border: none; box-sizing: border-box; font-family: consolas, monaco, 'lucida console', 'liberation mono', 'dejavu sans mono', 'bitstream vera sans mono', 'courier new', monospace; line-height: 1.5; overflow: auto; padding: 10px; word-break: normal; word-wrap: normal;"><ol class="linenums" style="box-sizing: border-box; font-size: 13px; margin: 0px; padding: 0px;">
<li class="L0" style="box-sizing: border-box;"><span class="pln" style="box-sizing: border-box; color: #cccccc;">chmod </span><span class="pun" style="box-sizing: border-box; color: #cccccc;">+</span><span class="pln" style="box-sizing: border-box; color: #cccccc;">x rpi</span><span class="pun" style="box-sizing: border-box; color: #cccccc;">-</span><span class="pln" style="box-sizing: border-box; color: #cccccc;">clone</span><span class="pun" style="box-sizing: border-box; color: #cccccc;">.</span><span class="pln" style="box-sizing: border-box; color: #cccccc;">sh</span></li>
<li class="L1" style="box-sizing: border-box;"><span class="pln" style="box-sizing: border-box; color: #cccccc;">sudo </span><span class="pun" style="box-sizing: border-box; color: #cccccc;">./</span><span class="pln" style="box-sizing: border-box; color: #cccccc;">rpi_clone sda </span><span class="pun" style="box-sizing: border-box; color: #cccccc;">-</span><span class="pln" style="box-sizing: border-box; color: #cccccc;">f</span></li>
</ol>
</pre>
</div>
<div class="row-fluid build-text" style="box-sizing: border-box; padding-bottom: 20px;">
As noted earlier, the first parameter passed to the script is is the name of the target SD card, in this case 'sda'. The -f tells the script to entirely re-format the card.<br />
<br style="box-sizing: border-box;" />
The script will ask you if you're sure you want to initialize the destination card. Type 'y', and hit the return key.</div>
<div class="row-fluid build-image" style="box-sizing: border-box; padding-bottom: 20px; position: relative;">
<div style="font-size: 14px;">
<a href="https://learn.adafruit.com/assets/10648" style="background: transparent; box-sizing: border-box; color: #00a7e9; display: block; position: relative; text-decoration: none;"><img alt="learn_raspberry_pi_script_2.png" class="10648-asset img-responsive" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 65vw, (max-width: 1365px) 47vw, 750px" src="https://cdn-learn.adafruit.com/assets/assets/000/010/648/medium800/learn_raspberry_pi_script_2.png?1377525457" srcset="https://cdn-learn.adafruit.com/assets/assets/000/010/648/medium260/learn_raspberry_pi_script_2.png?1377525457 260w,
https://cdn-learn.adafruit.com/assets/assets/000/010/648/medium640/learn_raspberry_pi_script_2.png?1377525457 640w,
https://cdn-learn.adafruit.com/assets/assets/000/010/648/medium800/learn_raspberry_pi_script_2.png?1377525457 800w,
https://cdn-learn.adafruit.com/assets/assets/000/010/648/large1024/learn_raspberry_pi_script_2.png?1377525457 1024w" style="border: 0px; box-sizing: border-box; display: block; height: auto; margin: 0px auto; max-width: 100%; text-align: center; vertical-align: middle;" /></a></div>
<div style="font-size: 14px;">
<br /></div>
<div>
<div class="row-fluid build-text" style="box-sizing: border-box; padding-bottom: 20px;">
Next, the script will ask you if you want to give your new backup a label. It's not necessary to do this - just hit the return key.</div>
<div class="row-fluid build-image" style="box-sizing: border-box; font-size: 14px; padding-bottom: 20px; position: relative;">
<a href="https://learn.adafruit.com/assets/10649" style="background: transparent; box-sizing: border-box; color: #00a7e9; display: block; position: relative; text-decoration: none;"><img alt="learn_raspberry_pi_script_3.png" class="10649-asset img-responsive" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 65vw, (max-width: 1365px) 47vw, 750px" src="https://cdn-learn.adafruit.com/assets/assets/000/010/649/medium800/learn_raspberry_pi_script_3.png?1377525711" srcset="https://cdn-learn.adafruit.com/assets/assets/000/010/649/medium260/learn_raspberry_pi_script_3.png?1377525711 260w,
https://cdn-learn.adafruit.com/assets/assets/000/010/649/medium640/learn_raspberry_pi_script_3.png?1377525711 640w,
https://cdn-learn.adafruit.com/assets/assets/000/010/649/medium800/learn_raspberry_pi_script_3.png?1377525711 800w,
https://cdn-learn.adafruit.com/assets/assets/000/010/649/large1024/learn_raspberry_pi_script_3.png?1377525711 1024w" style="border: 0px; box-sizing: border-box; display: block; height: auto; margin: 0px auto; max-width: 100%; text-align: center; vertical-align: middle;" /></a></div>
<div class="row-fluid build-text" style="box-sizing: border-box; padding-bottom: 20px;">
Finally, the script will ask you if you're sure you really want to do this, before it begins creating the backup. Type 'y', and hit the return key.</div>
</div>
<div class="row-fluid build-text" style="box-sizing: border-box; padding-bottom: 20px;">
<br /></div>
<div class="row-fluid build-text" style="box-sizing: border-box; padding-bottom: 20px;">
<div class="row-fluid build-image" style="box-sizing: border-box; font-size: 14px; padding-bottom: 20px; position: relative;">
<a href="https://learn.adafruit.com/assets/10650" style="background: transparent; box-sizing: border-box; color: #00a7e9; display: block; position: relative; text-decoration: none;"><br class="Apple-interchange-newline" /><img alt="learn_raspberry_pi_script_4.png" class="10650-asset img-responsive" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 65vw, (max-width: 1365px) 47vw, 750px" src="https://cdn-learn.adafruit.com/assets/assets/000/010/650/medium800/learn_raspberry_pi_script_4.png?1377525835" srcset="https://cdn-learn.adafruit.com/assets/assets/000/010/650/medium260/learn_raspberry_pi_script_4.png?1377525835 260w,
https://cdn-learn.adafruit.com/assets/assets/000/010/650/medium640/learn_raspberry_pi_script_4.png?1377525835 640w,
https://cdn-learn.adafruit.com/assets/assets/000/010/650/medium800/learn_raspberry_pi_script_4.png?1377525835 800w,
https://cdn-learn.adafruit.com/assets/assets/000/010/650/large1024/learn_raspberry_pi_script_4.png?1377525835 1024w" style="border: 0px; box-sizing: border-box; display: block; height: auto; margin: 0px auto; max-width: 100%; text-align: center; vertical-align: middle;" /></a></div>
<div class="row-fluid build-text" style="box-sizing: border-box; padding-bottom: 20px;">
<br style="box-sizing: border-box;" />
Now it's time to wait - the process will take a little while.</div>
<div class="row-fluid build-image" style="box-sizing: border-box; font-size: 14px; padding-bottom: 20px; position: relative;">
<a href="https://learn.adafruit.com/assets/10651" style="background: transparent; box-sizing: border-box; color: #00a7e9; display: block; position: relative; text-decoration: none;"><img alt="learn_raspberry_pi_script_5.png" class="10651-asset img-responsive" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 65vw, (max-width: 1365px) 47vw, 750px" src="https://cdn-learn.adafruit.com/assets/assets/000/010/651/medium800/learn_raspberry_pi_script_5.png?1377525870" srcset="https://cdn-learn.adafruit.com/assets/assets/000/010/651/medium260/learn_raspberry_pi_script_5.png?1377525870 260w,
https://cdn-learn.adafruit.com/assets/assets/000/010/651/medium640/learn_raspberry_pi_script_5.png?1377525870 640w,
https://cdn-learn.adafruit.com/assets/assets/000/010/651/medium800/learn_raspberry_pi_script_5.png?1377525870 800w,
https://cdn-learn.adafruit.com/assets/assets/000/010/651/large1024/learn_raspberry_pi_script_5.png?1377525870 1024w" style="border: 0px; box-sizing: border-box; display: block; height: auto; margin: 0px auto; max-width: 100%; text-align: center; vertical-align: middle;" /></a></div>
<div class="row-fluid build-text" style="box-sizing: border-box; padding-bottom: 20px;">
When the process is complete, the script will ask if it should unmount the card with your new system clone/ Reply with 'y', and you're done!</div>
<div class="row-fluid build-text" style="box-sizing: border-box; padding-bottom: 20px;">
Now you can shutdown the Pi, swap the clone into the Pi's SD Card Slot, and restart - Bingo! a fully-operational clone of your Raspberry Pi system!<br />
<br style="box-sizing: border-box;" />
<h2 style="box-sizing: border-box; color: inherit; font-size: 21px; font-weight: 400; line-height: 1; margin: 10px 0px 0px; padding-bottom: 5px;">
<a class="anchor-link" href="https://learn.adafruit.com/adafruit-raspberry-pi-lesson-1-preparing-and-sd-card-for-your-raspberry-pi/make-a-backup-image#problems" style="background: transparent; box-sizing: border-box; color: #999999; display: inline-block; font-size: 14px; left: -17px; margin-top: 3px; position: absolute; text-decoration: none;"><span class="fa fa-link" style="box-sizing: border-box; display: inline-block; font-family: "fontawesome"; font-size: inherit; font-stretch: normal; line-height: 1;"></span></a><span class="anchor-link-target" id="problems" style="box-sizing: border-box;"></span>Problems?</h2>
If you see an error message like this:</div>
<div class="row-fluid build-image" style="box-sizing: border-box; font-size: 14px; padding-bottom: 20px; position: relative;">
<a href="https://learn.adafruit.com/assets/10652" style="background: transparent; box-sizing: border-box; color: #00a7e9; display: block; position: relative; text-decoration: none;"><img alt="learn_raspberry_pi_script_error1.png" class="10652-asset img-responsive" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 65vw, (max-width: 1365px) 47vw, 750px" src="https://cdn-learn.adafruit.com/assets/assets/000/010/652/medium800/learn_raspberry_pi_script_error1.png?1377525898" srcset="https://cdn-learn.adafruit.com/assets/assets/000/010/652/medium260/learn_raspberry_pi_script_error1.png?1377525898 260w,
https://cdn-learn.adafruit.com/assets/assets/000/010/652/medium640/learn_raspberry_pi_script_error1.png?1377525898 640w,
https://cdn-learn.adafruit.com/assets/assets/000/010/652/medium800/learn_raspberry_pi_script_error1.png?1377525898 800w,
https://cdn-learn.adafruit.com/assets/assets/000/010/652/large1024/learn_raspberry_pi_script_error1.png?1377525898 1024w" style="border: 0px; box-sizing: border-box; display: block; height: auto; margin: 0px auto; max-width: 100%; text-align: center; vertical-align: middle;" /></a></div>
<div class="row-fluid build-text" style="box-sizing: border-box; padding-bottom: 20px;">
<span style="font-size: 14px;">.</span>..it means that your SD card is mounted in the file system. You have to unmount it before you can proceed. In the picture, I'm writing over an earlier clone of my system, which has two partitions: /dev/sda2 and /dev/sda1. You might only have one partition.<br />
<br style="box-sizing: border-box; margin-bottom: 0px;" />
In any case, issue the umount command for each mounted partition on your destination SD card:</div>
<div class="build-code" style="box-sizing: border-box; font-size: 14px; padding-bottom: 20px; position: relative;">
<div class="code-copy-container" style="box-sizing: border-box; padding: 3px 7px 0px 0px; position: absolute; right: 0px; top: 0px;">
<a class="code-copy-button" href="https://learn.adafruit.com/adafruit-raspberry-pi-lesson-1-preparing-and-sd-card-for-your-raspberry-pi/make-a-backup-image#" style="background: transparent; box-sizing: border-box; color: white; font-size: 12px; text-decoration: none;">Copy Code</a></div>
<pre class="prettyprint linenums" style="background: rgb(45, 45, 45); border-radius: 0px; border: none; box-sizing: border-box; font-family: Consolas, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace; font-size: 13px; line-height: 1.5; overflow: auto; padding: 10px; word-break: normal; word-wrap: normal;"><ol class="linenums" style="box-sizing: border-box; margin: 0px; padding: 0px;">
<li class="L0" style="box-sizing: border-box;"><span class="pln" style="box-sizing: border-box; color: #cccccc;">sudo umount </span><span class="pun" style="box-sizing: border-box; color: #cccccc;">/</span><span class="pln" style="box-sizing: border-box; color: #cccccc;">dev</span><span class="pun" style="box-sizing: border-box; color: #cccccc;">/</span><span class="pln" style="box-sizing: border-box; color: #cccccc;">sda1</span></li>
</ol>
</pre>
</div>
<div class="row-fluid build-image" style="box-sizing: border-box; font-size: 14px; padding-bottom: 20px; position: relative;">
<a href="https://learn.adafruit.com/assets/10653" style="background: transparent; box-sizing: border-box; color: #00a7e9; display: block; position: relative; text-decoration: none;"><img alt="learn_raspberry_pi_script_error2.png" class="10653-asset img-responsive" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 65vw, (max-width: 1365px) 47vw, 750px" src="https://cdn-learn.adafruit.com/assets/assets/000/010/653/medium800/learn_raspberry_pi_script_error2.png?1377526153" srcset="https://cdn-learn.adafruit.com/assets/assets/000/010/653/medium260/learn_raspberry_pi_script_error2.png?1377526153 260w,
https://cdn-learn.adafruit.com/assets/assets/000/010/653/medium640/learn_raspberry_pi_script_error2.png?1377526153 640w,
https://cdn-learn.adafruit.com/assets/assets/000/010/653/medium800/learn_raspberry_pi_script_error2.png?1377526153 800w,
https://cdn-learn.adafruit.com/assets/assets/000/010/653/large1024/learn_raspberry_pi_script_error2.png?1377526153 1024w" style="border: 0px; box-sizing: border-box; display: block; height: auto; margin: 0px auto; max-width: 100%; text-align: center; vertical-align: middle;" /></a></div>
<div class="row-fluid build-text" style="box-sizing: border-box; padding-bottom: 20px;">
Now try to run the script again!<br />
<br />
<br />
Issue on some sdcard<br />
<br />
<h2 style="color: #172232; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 13px; line-height: 15.86px; margin: 10px 0px 4px; padding: 0px; width: 650px;">
<span style="color: inherit; font-family: "gotham ssm a" , "gotham ssm b"; font-size: 21px; font-weight: 400; line-height: 1;">How can I reclaim the full capacity of an SD Card ?</span></h2>
<div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
First, let’s take a peek at what the SD card looks like if you attempt to reclaim the space using Disk Manager as you did:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-QKc8pOSIFok/V2ST0JwBunI/AAAAAAAABxo/ZHgDSMb67zQ9TjTtKieAGLlme5bSEM2ygCLcB/s1600/diskpart1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://4.bp.blogspot.com/-QKc8pOSIFok/V2ST0JwBunI/AAAAAAAABxo/ZHgDSMb67zQ9TjTtKieAGLlme5bSEM2ygCLcB/s1600/diskpart1.png" /></a></div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
<br /></div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
<br /></div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
You can format the tiny 64M FAT32 partition, but the remainder of the SD card remains “Unallocated” after you dump the existing (and inaccessible) Linux partition. No amount of pushing or shoving in the Disk Manager application is going to fix this problem. Instead, we’re going to turn to the simple and effective DISKPART tool.</div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
Open up the Start Menu and type “diskpart” in the run box. Press enter. You’ll be prompted by the Windows UAC to authorize admin access to the DISKPART tool.</div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
A command-prompt-like window will open up, only the prompt will say “DISKPART”. At that prompt, type “list disk”.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-JN3vLKD_tKg/V2ST44LMDeI/AAAAAAAABxw/5P7MDQyK6VoTHYh61FcIx27YYJ7q8pZBQCLcB/s1600/diskpart2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://4.bp.blogspot.com/-JN3vLKD_tKg/V2ST44LMDeI/AAAAAAAABxw/5P7MDQyK6VoTHYh61FcIx27YYJ7q8pZBQCLcB/s1600/diskpart2.png" /></a></div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
<br /></div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
</div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
In the list output on our machine you can see the computer’s hard drive (119GB) and the removable SD card (14GB). It is <span style="font-weight: 600;">absolutely critical</span> you note the proper disk number. DISKPART commands are immediate and without any warning. If you type in the wrong disk number, you’re going to have a really bad time.</div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
After identifying your SD card’s disk number, enter the following command “select disk #” where # is the disk number of your SD card.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-nCHIxlyzDRE/V2ST9enoa-I/AAAAAAAABx4/8rAA8_EnlVk047qwKTeLLvS1u8dqx7e8QCLcB/s1600/diskpart3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://2.bp.blogspot.com/-nCHIxlyzDRE/V2ST9enoa-I/AAAAAAAABx4/8rAA8_EnlVk047qwKTeLLvS1u8dqx7e8QCLcB/s1600/diskpart3.png" /></a></div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
<br /></div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
</div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
Whatever commands you execute after this point will only make changes to the selected disk; now would be a good time to double check you’ve selected the right disk just to be extra safe.</div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
Next, now enter the command “clean”</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
<a href="https://1.bp.blogspot.com/-ijH2pG0ptrU/V2SUG1WR_2I/AAAAAAAAByI/qWtUZn8d1i0DUy-pkg4v_Y6QJlaNT2JywCLcB/s1600/diskpart4.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://1.bp.blogspot.com/-ijH2pG0ptrU/V2SUG1WR_2I/AAAAAAAAByI/qWtUZn8d1i0DUy-pkg4v_Y6QJlaNT2JywCLcB/s1600/diskpart4.png" /></a></div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
</div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
<br /></div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
The clean command zeroes out the sectors of the disk that contain the partition data. If you wished to zero out all data on the SD card you could use “clean all” instead, but unless you have a pressing privacy/security reason for overwriting the the entire SD card with zeros, it’s unwise to waste the read/write cycles of the flash media.</div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
After cleaning the disk, enter the following command “create partition primary”</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-Z_axPf-SeH0/V2SUQEXhkWI/AAAAAAAAByQ/TvGCrUnJxns6m4FNmUkaqn7nezTc73TpgCLcB/s1600/diskpart5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://4.bp.blogspot.com/-Z_axPf-SeH0/V2SUQEXhkWI/AAAAAAAAByQ/TvGCrUnJxns6m4FNmUkaqn7nezTc73TpgCLcB/s1600/diskpart5.png" /></a></div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
<br /></div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
</div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
The command, as the syntax implies, creates a new partition on the disk and sets it to primary. After creating the primary partition, the entire storage capacity of the SD card should be available to Windows. If we peek back into Disk Manager, we no longer see a tiny partition with a huge hunk of unallocated space, but a large partition ready to be formatted:</div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-kcd8AEHbpGs/V2SUVIjbVoI/AAAAAAAAByY/iSjPsIvUNpEx7cThFWHzLZHnn896uyRyQCLcB/s1600/diskpart6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://4.bp.blogspot.com/-kcd8AEHbpGs/V2SUVIjbVoI/AAAAAAAAByY/iSjPsIvUNpEx7cThFWHzLZHnn896uyRyQCLcB/s1600/diskpart6.png" /></a></div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
<br /></div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
</div>
<div style="color: #222222; font-family: -apple-system, ".SFNSDisplay-Regular", "Open Sans", sans-serif; font-size: 14.82px; line-height: 21px; margin-bottom: 20px; margin-top: 20px; padding: 0px;">
That’s all there is to it! A little DISKPART wizardy and the SD card is factory fresh again.</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-82381075296507972952016-04-13T13:31:00.002-07:002016-04-13T15:56:51.784-07:00How to find the hardware uuid for iPhone to update Team profile to test iPhone APP outside of Apple Store for beta test <div style="font-family: Arial, Verdana, Tahoma, sans-serif;">
<h2>
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: large;"><u>Collect iPhone UUID</u></span></h2>
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif;">As some of you might be willing to help out a developer with beta-testing their apps, he will most certainly ask you for the UUID for your device. So this is a quick three-step guide to finding your iPhone Universally Unique Identifier (or UUID) using iTunes.</span></div>
<div style="font-family: Arial, Verdana, Tahoma, sans-serif;">
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif;">While there are apps out there that will tell you what your UUID is, some will cost you money, and if all you need is the UUID, then it's pointless to download an app that does that. Instead, you can use iTunes to reveal it. Here's how.</span></div>
<div style="font-family: Arial, Verdana, Tahoma, sans-serif;">
<strong style="background-color: white;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></strong>
<strong style="background-color: white;"><span style="font-family: Arial, Helvetica, sans-serif;">1. Plug In Your iPhone</span></strong></div>
<div style="font-family: Arial, Verdana, Tahoma, sans-serif;">
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif;">Connect your iPhone to your MAC or PC and if iTunes doesn't start automatically, fire it up. Next, go to the Devices heading in the navigation panel on your left and locate your iPhone.</span></div>
<div style="font-family: Arial, Verdana, Tahoma, sans-serif;">
<strong style="background-color: white;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></strong>
<strong style="background-color: white;"><span style="font-family: Arial, Helvetica, sans-serif;">2. Find Your Serial Number</span></strong></div>
<div style="font-family: Arial, Verdana, Tahoma, sans-serif;">
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif;">Under the iPhone's Summary heading, you should see a bunch of information including the software version, your phone number and the iPhone's serial number.</span><br />
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div style="font-family: Arial, Verdana, Tahoma, sans-serif;">
<a class="cboxElement" href="http://www.appbite.com/wp-content/uploads/2010/01/itunes-serial-number.jpg" style="text-decoration: none;"><span style="background-color: white; color: black; font-family: Arial, Helvetica, sans-serif;"><img alt="" class="alignnone size-full wp-image-1876 colorbox-1875" src="http://www.appbite.com/wp-content/uploads/2010/01/itunes-serial-number-300x73.jpg" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; display: inline; margin: 0px 0px 10px; padding: 5px;" title="itunes-serial-number" /></span></a></div>
<div style="font-family: Arial, Verdana, Tahoma, sans-serif;">
<strong style="background-color: white;"><span style="font-family: Arial, Helvetica, sans-serif;">3. Reveal Your UUID</span></strong></div>
<div style="font-family: Arial, Verdana, Tahoma, sans-serif;">
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif;">If you click your Serial Number (I know it doesn't show as clickable, but just click it), that will change to <em>Identifier</em> and the string of numbers and letters following there is your UUID. Simply press CTRL+C (Windows) or Command/AppleKey + C (Mac) and it will be copied to your clipboard.</span><br />
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div style="font-family: Arial, Verdana, Tahoma, sans-serif;">
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif; text-decoration: none;"><a class="cboxElement" href="http://www.appbite.com/wp-content/uploads/2010/01/itunes-identifier-uuid.jpg" style="text-decoration: none;"><img alt="" class="alignnone size-full wp-image-1877 colorbox-1875" src="http://www.appbite.com/wp-content/uploads/2010/01/itunes-identifier-uuid-300x76.jpg" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; display: inline; margin: 0px 0px 10px; padding: 5px;" title="itunes-identifier-uuid" /></a></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<h2>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: large;"><u>Update profile with up to 99 specific device uuid</u></span></h2>
</div>
<div style="font-family: Arial, Verdana, Tahoma, sans-serif;">
<h2>
<span style="background-color: white;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: large;"><u>Exporting Your App for Testing Outside the Store</u></span></span></h2>
<div style="background-color: white; font-stretch: normal; margin-bottom: 0.833em;">
<span style="font-family: Arial, Helvetica, sans-serif;">Because testers don’t have Xcode to run your app, you create an <em class="newTerm">iOS App</em> file (a file with an <code>.ipa</code> filename extension) that they can then use to install your app on their device. Use this method to test a universal app that runs on all supported devices or test device variants that the store distributes later to users.</span></div>
<div class="notebox" style="background-color: white; border: 1px solid rgb(80, 136, 197); clear: right; margin: 1.667em 0px 1.75em; padding: 0px 0.667em 0.083em 0.75em;">
<aside><span style="font-family: Arial, Helvetica, sans-serif;"><a href="https://www.blogger.com/null" name="//apple_ref/doc/uid/TP40012582-CH8-SW8" title="Note"></a></span><div style="font-stretch: normal; margin-top: 0.583em;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-weight: 700;">Note:</span> tvOS binaries are also iOS App files with an <code>.ipa</code> filename extension.</span></div>
<div style="font-stretch: normal; margin-top: 0.583em;">
</div>
</aside></div>
<div style="background-color: white; font-stretch: normal; margin-bottom: 0.833em;">
<span style="font-weight: 700;"><span style="font-family: Arial, Helvetica, sans-serif;">To create an iOS App file for testing</span></span></div>
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif;"></span><br />
<ol class="ol" style="background-color: white; list-style-position: outside; margin: 0px 0px 0px 2.5em; padding: 0px 0px 1em 0.5em;"><figure class="item-figure" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; margin-top: 1em; padding-bottom: 1.5em; padding-top: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img alt="../Art/6_ios_createappstorepackage_1_2x.png" height="360" src="https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Art/6_ios_createappstorepackage_1_2x.png" style="margin-left: 0px;" width="647" /></span></figure>
<li class="li" style="margin-top: 0.583em;"><div style="display: inline; font-stretch: normal; margin-bottom: 0.833em; margin-top: 0.667em;">
<span style="font-family: Arial, Helvetica, sans-serif;">Open the Archives organizer (choose Organizer from the Window menu), and select the archive.</span></div>
<figure class="item-figure" style="margin-bottom: 0.833em; margin-top: 1em; padding-bottom: 1.5em; padding-top: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img alt="../Art/6_ios_archive_organizer_2x.png" height="353" src="https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Art/6_ios_archive_organizer_2x.png" style="margin-left: 0px;" width="640" /></span></figure></li>
<li class="li" style="margin-top: 0.583em;"><div style="display: inline; font-stretch: normal; margin-bottom: 0.833em; margin-top: 0.667em;">
<span style="font-family: Arial, Helvetica, sans-serif;">Click the Export button, select an export option, and click Next.</span></div>
<div style="font-stretch: normal; margin-bottom: 0.833em; margin-top: 0.667em;">
<span style="font-family: Arial, Helvetica, sans-serif;">To distribute your app to users with designated devices, select “Save for Ad Hoc Deployment.” The app will be code signed with the distribution certificate.</span></div>
<div style="font-stretch: normal; margin-bottom: 0.833em; margin-top: 0.667em;">
<span style="font-family: Arial, Helvetica, sans-serif;">To distribute your app for internal testing, select “Save for Development Deployment.” The app will be code signed with your development certificate.</span></div>
</li>
<li class="li" style="margin-top: 0.583em;"><div style="display: inline; font-stretch: normal; margin-bottom: 0.833em; margin-top: 0.667em;">
<span style="font-family: Arial, Helvetica, sans-serif;">In the dialog that appears, choose a team from the pop-up menu and click Choose.</span></div>
<div style="font-stretch: normal; margin-bottom: 0.833em; margin-top: 0.667em;">
<span style="font-family: Arial, Helvetica, sans-serif;">If necessary, Xcode creates the needed signing identity and provisioning profile for you.</span></div>
<figure class="item-figure" style="margin-bottom: 0.833em; margin-top: 1em; padding-bottom: 1.5em; padding-top: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img alt="../Art/6_ios_export_choose_team_2x.png" height="360" src="https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Art/6_ios_export_choose_team_2x.png" style="margin-left: 0px;" width="647" /></span></figure></li>
<li class="li" style="margin-top: 0.583em;"><div style="display: inline; font-stretch: normal; margin-bottom: 0.833em; margin-top: 0.667em;">
<span style="font-family: Arial, Helvetica, sans-serif;">In the Device Support dialog, choose whether to export the universal app or a variant for a specific device, and click Next.</span></div>
<ul class="ul" style="list-style: disc outside; margin: 0px 0px 0.833em 1.35em; padding: 0px 0px 0.5em;">
<li class="li" style="margin-top: 0.583em;"><div style="display: inline; font-stretch: normal; margin-bottom: 0.833em; margin-top: 0.667em;">
<span style="font-family: Arial, Helvetica, sans-serif;">If you want to run the app on any supported device, select “Export one app for all compatible devices.”</span></div>
</li>
<li class="li" style="margin-top: 0.583em;"><div style="display: inline; font-stretch: normal; margin-bottom: 0.833em; margin-top: 0.667em;">
<span style="font-family: Arial, Helvetica, sans-serif;">If you want to test all device variances, select “Export for specific devices” and choose “All compatible device variants” from the pop-up menu.</span></div>
</li>
<li class="li" style="margin-top: 0.583em;"><div style="display: inline; font-stretch: normal; margin-bottom: 0.833em; margin-top: 0.667em;">
<span style="font-family: Arial, Helvetica, sans-serif;">If you want to test a specific device variant, select “Export a thinned app for a specific device” and choose the device family from the pop-up menu.</span></div>
</li>
</ul>
</li>
</ol>
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif;"><br /></span>
<header class="entry-header" style="box-sizing: inherit; line-height: 29.25px;"><h2 style="box-sizing: inherit; line-height: 1.2; margin: 0px 0px 10px;">
<span style="font-family: Arial, Helvetica, sans-serif; font-size: large;"><u>Deploy IPA to test devices</u></span></h2>
</header><span style="background-color: white; font-family: Arial, Helvetica, sans-serif;"></span><br />
<div class="entry-content" itemprop="text" style="box-sizing: inherit;">
<div style="box-sizing: inherit; line-height: 29.25px; margin-bottom: 28px; padding: 0px;">
<span style="font-weight: 700;"><span style="font-family: Arial, Helvetica, sans-serif;">Method # 1 – Using iTunes.</span></span></div>
<div style="box-sizing: inherit; line-height: 29.25px; margin-bottom: 28px; padding: 0px;">
<span style="font-family: Arial, Helvetica, sans-serif;">iTunes too provides a functionality to directly install ipa apps on your device. Perform the following steps to install ipa apps through iTunes –</span></div>
<ul style="box-sizing: inherit; margin: 0px 0px 28px 40px; padding: 0px;">
<li style="box-sizing: inherit; line-height: 29.25px; list-style-type: disc;"><span style="font-family: Arial, Helvetica, sans-serif;">Connect your Phone to computer and launch iTunes.</span></li>
<li style="box-sizing: inherit; line-height: 29.25px; list-style-type: disc;"><span style="font-family: Arial, Helvetica, sans-serif;">Drag the app’s .ipa file into iTunes library.</span></li>
<li style="box-sizing: inherit; line-height: 29.25px; list-style-type: disc;"><span style="font-family: Arial, Helvetica, sans-serif;">Click on Sync and done, that’s it . If the app was earlier backed up from the same device, it would be installed without any fuss else you need to make sure there's a provisioning profile associated with the app embedded in it generated with the device uuid.</span></li>
</ul>
<div style="box-sizing: inherit; line-height: 29.25px; margin-bottom: 28px; padding: 0px;">
<span style="box-sizing: inherit; font-weight: 700;"><span style="font-family: Arial, Helvetica, sans-serif;">Method # 2 – iFunbox</span></span></div>
<figure class="wp-caption alignleft" style="box-sizing: inherit; float: left; line-height: 29.25px; margin: 0px 24px 24px 0px; max-width: 100%; width: 776px;"><span style="font-family: Arial, Helvetica, sans-serif;"><img alt="" class="" height="418" src="http://i2.wp.com/i.imgur.com/XOgB3TZ.jpg?resize=776%2C477" style="border: 0px; box-sizing: inherit; height: auto; max-width: 100%;" width="680" /></span><figcaption class="wp-caption-text" style="box-sizing: inherit; font-weight: 700; text-align: center;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></figcaption><figcaption class="wp-caption-text" style="box-sizing: inherit; font-weight: 700; text-align: center;"><span style="font-family: Arial, Helvetica, sans-serif;">install ipa through iFunbox</span></figcaption></figure><div style="box-sizing: inherit; line-height: 29.25px; margin-bottom: 28px; padding: 0px;">
<span style="font-family: Arial, Helvetica, sans-serif;">iFunbox is yet another easy method to install ipa files/apps on your iPhone. Perform the following steps to install Apps on your iPad/iPhone through ifunbox –</span></div>
<ul style="box-sizing: inherit; line-height: 29.25px; margin: 0px 0px 28px 40px; padding: 0px;">
<li style="box-sizing: inherit; list-style-type: disc;"><span style="font-family: Arial, Helvetica, sans-serif;">Download and install ifunbox from <a href="http://i-funbox.com/" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; box-sizing: inherit; transition: all 0.1s ease-in-out;" target="_blank">i-funbox.com</a> if not already installed.</span></li>
<li style="box-sizing: inherit; list-style-type: disc;"><span style="font-family: Arial, Helvetica, sans-serif;">Launch iFunbox and connect your iPhone/iPad/iPod.</span></li>
<li style="box-sizing: inherit; list-style-type: disc;"><span style="font-family: Arial, Helvetica, sans-serif;">Now navigate to the File Browser tab as shown in the figure and select “<span style="box-sizing: inherit; font-weight: 700;">User Applications” </span>(Highlighted in the same figure).</span></li>
<li style="box-sizing: inherit; list-style-type: disc;"><span style="font-family: Arial, Helvetica, sans-serif;">Now click on “<span style="box-sizing: inherit; font-weight: 700;">Install App” </span>button, select the ipa or apmx file of app which you want to install and click on Open!</span></li>
<li style="box-sizing: inherit; list-style-type: disc;"><span style="font-family: Arial, Helvetica, sans-serif;">Yo! The app will be installed successfully.</span></li>
</ul>
</div>
</div>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-32318267153101748842016-04-11T16:30:00.004-07:002016-04-11T16:30:45.034-07:00SVG to PNG using InkscapeI really like to use <a href="https://inkscape.org/en/about/features/">Inkscape </a>to generate Icon for iOS or Android.<br />
When using SVG you can create multiple size icons all looking great using a small script like this one<br />
<br />
<br />
@echo off<br />
SETLOCAL<br />
set Programs="%ProgramFiles%"<br />
if "%ProgramFiles(x86)%" NEQ "" (<br />
set Programs="%ProgramFiles(x86)%"<br />
)<br />
REM Trim the double-quotes<br />
set Programs=%Programs:~1,-1%<br />
<br />
SET INKSCAPE=%Programs%\Inkscape\Inkscape.com<br />
<br />
echo.%~dp0<br />
echo.%INKSCAPE%<br />
pause<br />
pushd graphics<br />
"%INKSCAPE%" --export-png=target.png --export-area-drawing source.svg -w 48 -h 48<br />
popd<br />
<br />
ENDLOCALThomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-63567951147213863562016-03-18T16:51:00.003-07:002016-03-18T16:51:54.147-07:00mount usb 2.0 stick HDD raspberry pi<span class="J-J5-Ji" id=":1xo"></span><br />
<h2 class="hP" id=":1xp" tabindex="-1">
<div style="font-size: 12.8px;">
<span style="background-color: #fafafa; color: #333333; font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 13px; line-height: 19.24px;">sudo apt-get install </span><span style="background-color: #fafafa; color: #333333; font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 13px; font-style: italic; line-height: 19.24px;">ntfs-3g</span><span style="background-color: #fafafa; color: #333333; font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 13px; line-height: 19.24px;"><br /></span></div>
<div style="font-size: 12.8px;">
<span style="background-color: #fafafa; color: #333333; font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 13px; font-style: italic; line-height: 19.24px;">sudo mkdir /media/usbdrive</span></div>
<span style="background-color: #fafafa; color: #333333; font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 13px; line-height: 19.24px;">sudo <span class="il">mount</span> -t ntfs-3g -o uid=pi,gid=pi /dev/sdb1 /media/usbdrive/</span></h2>
<h2 class="hP" id=":1xp" tabindex="-1">
<br /><div style="font-size: 12.8px;">
<span style="color: #333333; font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"><span style="line-height: 19.24px;">extra in /etc/fstab</span></span></div>
<div style="font-size: 12.8px;">
<span style="background-color: #fafafa; color: #333333; font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 13px; line-height: 19.24px;">/dev/sdb1 /media/usbdrive ntfs-3g uid=pi,gid=pi 0 0</span></div>
</h2>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-15686825308722320452016-03-09T16:49:00.000-08:002016-03-09T16:49:49.580-08:00Raspberry Pi Temperature & Humidity Network Monitor<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<div class="photoset" data-item-id="SA6M8DHHOSOXLO4" data-item-url="http://www.instructables.com/id/Raspberry-Pi-Temperature-Humidity-Network-Monitor/" id="photoset-SA6M8DHHOSOXLO4" style="background-color: #f6f6f6; border: 1px solid rgb(191, 191, 191); line-height: 0; margin-bottom: 35px; min-height: 109px; padding: 22px; position: relative; text-align: center;">
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SA6M8DHHOSOXLO4" data-fancybox-href="http://cdn.instructables.com/FE0/9Y6L/HOSP3Z6L/FE09Y6LHOSP3Z6L.LARGE.jpg" href="http://www.instructables.com/file/FE09Y6LHOSP3Z6L/" style="color: #e86c00; text-decoration: none;"><img alt="Picture of Raspberry Pi Temperature & Humidity Network Monitor" data-image-id="FE09Y6LHOSP3Z6L" data-large-image="http://cdn.instructables.com/FE0/9Y6L/HOSP3Z6L/FE09Y6LHOSP3Z6L.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FE0/9Y6L/HOSP3Z6L/FE09Y6LHOSP3Z6L.MEDIUM.jpg" data-notes="[]" data-orig-height="2448" data-orig-width="3264" data-original="http://cdn.instructables.com/FE0/9Y6L/HOSP3Z6L/FE09Y6LHOSP3Z6L.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FE0/9Y6L/HOSP3Z6L/FE09Y6LHOSP3Z6L.SMALL.jpg" src="http://cdn.instructables.com/FE0/9Y6L/HOSP3Z6L/FE09Y6LHOSP3Z6L.MEDIUM.jpg" style="border: 0px; height: auto; max-width: 3264px; vertical-align: middle; width: 600px;" /></a></div>
</div>
</div>
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SA6M8DHHOSOXLO4" data-fancybox-href="http://cdn.instructables.com/FAT/O04O/HOSLKHJ0/FATO04OHOSLKHJ0.LARGE.jpg" href="http://www.instructables.com/file/FATO04OHOSLKHJ0/" style="color: #e86c00; text-decoration: none;"><img alt="IMG_2294.jpg" class="lazy-img" data-image-id="FATO04OHOSLKHJ0" data-large-image="http://cdn.instructables.com/FAT/O04O/HOSLKHJ0/FATO04OHOSLKHJ0.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FAT/O04O/HOSLKHJ0/FATO04OHOSLKHJ0.MEDIUM.jpg" data-notes="[]" data-orig-height="2448" data-orig-width="3264" data-original="http://cdn.instructables.com/FAT/O04O/HOSLKHJ0/FATO04OHOSLKHJ0.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FAT/O04O/HOSLKHJ0/FATO04OHOSLKHJ0.SMALL.jpg" src="http://cdn.instructables.com/FAT/O04O/HOSLKHJ0/FATO04OHOSLKHJ0.MEDIUM.jpg" style="border: 0px; display: inline; height: auto; max-width: 3264px; vertical-align: middle; width: 600px;" /></a></div>
</div>
</div>
</div>
<div class="step-body" itemprop="articleBody" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
<div style="margin-bottom: 10px; margin-top: 3px;">
Please note that there's a Git repo for code at:</div>
<div style="margin-bottom: 10px; margin-top: 3px;">
<a href="https://github.com/jervine/rpi-temp-humid-monitor" rel="nofollow" style="color: #e86c00; text-decoration: none;">https://github.com/jervine/rpi-temp-humid-monitor</a></div>
<div style="margin-bottom: 10px; margin-top: 3px;">
If you'd like the latest fixes or would like to contribute. Thanks Jonny Ervine!</div>
<div style="margin-bottom: 10px; margin-top: 3px;">
<br />I had some issues with Kingston SD Cards, but the SanDisk cards I'm using now have run for weeks without issues, so I'm changing the parts list to reflect that.</div>
<div style="margin-bottom: 10px; margin-top: 3px;">
Also, after some 49 days, 16 hours, the display flatlines, as the reading routines start returning the same number over and over again. A reboot clears it, so just reboot once a month until I figure out what's up.</div>
<div style="margin-bottom: 10px; margin-top: 3px;">
<br />Over the past summer, my vacation home had a small water leak for three months, and I realized that had I been measuring the humidity in the effected area, I'd have<br />seen it go to 100% for a long time and I could have dispatched someone to fix the small problem before it became a big one.<br />And since I've been playing with Raspberry Pi computers for a while now, and saw an inexpensive temperature/humidity sensor on AdaFruit, I had all the pieces I needed<br />to implement an inexpensive network-connected monitor.<br />The Bill Of Materials (BOM):<br />1) Raspberry Pi Model B<br />2) Case<br />3) SD Card<br />4) Temperature/Humidity sensor<br />5 ) Power Supply (I use PoE splitters, but any 5V 1A Micro-USB supply will work)<br />I used the following exact parts, but obvious substitutions can be made to match local conditions and the state of your junk box. Shipping and the availability of bundles<br />may effect your final price.<br />$35.00 RPi <a href="http://www.newark.com/raspberry-pi/raspbrry-modb-512m/model-b-assembled-board-only/dp/43W5302" rel="nofollow" style="color: #e86c00; text-decoration: none;">http://www.newark.com/raspberry-pi/raspbrry-modb-...</a><br />$ 8.12 Case <a href="http://thepihut.com/products/classic-raspberry-pi-case" rel="nofollow" style="color: #e86c00; text-decoration: none;">http://thepihut.com/products/classic-raspberry-pi...</a> (5.99 Euros)<br />$ 6.99 SD Card (Sandisk, not Kingston)<br />$15.00 Sensor <a href="http://www.adafruit.com/products/393" rel="nofollow" style="color: #e86c00; text-decoration: none;">http://www.adafruit.com/products/393</a><br />$15.99 PoE Splitter <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16833997213" rel="nofollow" style="color: #e86c00; text-decoration: none;">http://www.newegg.com/Product/Product.aspx?Item=N...</a><br />And a few other miscellaneous things like hand tools, soldering iron, hot melt glue gun, small pieces of plastic wood, etc.<br />Step</div>
</div>
<div class="gpt-ad" id="gpt-ad-native-middle">
</div>
</div>
<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<h2 class="step-title" id="step1" style="color: inherit; font-family: inherit; font-size: 22px; line-height: normal; margin: 12px 0px; padding: 0px; text-rendering: optimizeLegibility;">
Step 1: Physical assembly</h2>
<div class="photoset" data-item-id="S4RQFVCHOSOXLO6" data-item-url="http://www.instructables.com/id/Raspberry-Pi-Temperature-Humidity-Network-Monitor/step1/Physical-assembly/" id="photoset-S4RQFVCHOSOXLO6" style="background-color: #f6f6f6; border: 1px solid rgb(191, 191, 191); line-height: 0; margin-bottom: 35px; min-height: 109px; padding: 22px; position: relative; text-align: center;">
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-S4RQFVCHOSOXLO6" data-fancybox-href="http://cdn.instructables.com/F2Y/MPB3/HOSOPC1R/F2YMPB3HOSOPC1R.LARGE.jpg" href="http://www.instructables.com/file/F2YMPB3HOSOPC1R/" style="color: #e86c00; text-decoration: none;"><img alt="Picture of Physical assembly" data-image-id="F2YMPB3HOSOPC1R" data-large-image="http://cdn.instructables.com/F2Y/MPB3/HOSOPC1R/F2YMPB3HOSOPC1R.LARGE.jpg" data-medium-image="http://cdn.instructables.com/F2Y/MPB3/HOSOPC1R/F2YMPB3HOSOPC1R.MEDIUM.jpg" data-notes="[]" data-orig-height="2448" data-orig-width="3264" data-original="http://cdn.instructables.com/F2Y/MPB3/HOSOPC1R/F2YMPB3HOSOPC1R.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/F2Y/MPB3/HOSOPC1R/F2YMPB3HOSOPC1R.SMALL.jpg" src="http://cdn.instructables.com/F2Y/MPB3/HOSOPC1R/F2YMPB3HOSOPC1R.MEDIUM.jpg" style="border: 0px; height: auto; max-width: 3264px; vertical-align: middle; width: 600px;" /></a></div>
</div>
</div>
<div class="photoset-row cols-2" style="height: 221px; margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; padding-right: 2.5px; position: relative; vertical-align: top; width: 300px;">
<div class="photoset-item photoset-image" style="display: inline-block; height: 221px; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-S4RQFVCHOSOXLO6" data-fancybox-href="http://cdn.instructables.com/FI1/56AO/HOSVZUE6/FI156AOHOSVZUE6.LARGE.jpg" href="http://www.instructables.com/file/FI156AOHOSVZUE6/" style="color: #e86c00; text-decoration: none;"><img alt="IMG_2300.jpg" class="lazy-img" data-image-id="FI156AOHOSVZUE6" data-large-image="http://cdn.instructables.com/FI1/56AO/HOSVZUE6/FI156AOHOSVZUE6.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FI1/56AO/HOSVZUE6/FI156AOHOSVZUE6.MEDIUM.jpg" data-notes="[]" data-orig-height="2448" data-orig-width="3264" data-original="http://cdn.instructables.com/FI1/56AO/HOSVZUE6/FI156AOHOSVZUE6.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FI1/56AO/HOSVZUE6/FI156AOHOSVZUE6.SMALL.jpg" src="http://cdn.instructables.com/FI1/56AO/HOSVZUE6/FI156AOHOSVZUE6.MEDIUM.jpg" style="border: 0px; display: inline; height: auto; margin-top: 0px; max-width: none; vertical-align: middle; width: 297.5px;" /></a></div>
</div>
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; padding-left: 2.5px; position: relative; vertical-align: top; width: 300px;">
<div class="photoset-item photoset-image" style="display: inline-block; height: 221px; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-S4RQFVCHOSOXLO6" data-fancybox-href="http://cdn.instructables.com/FDS/2C0N/HOSLXG5O/FDS2C0NHOSLXG5O.LARGE.jpg" href="http://www.instructables.com/file/FDS2C0NHOSLXG5O/" style="color: #e86c00; text-decoration: none;"><img alt="IMG_2303.jpg" class="lazy-img" data-image-id="FDS2C0NHOSLXG5O" data-large-image="http://cdn.instructables.com/FDS/2C0N/HOSLXG5O/FDS2C0NHOSLXG5O.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FDS/2C0N/HOSLXG5O/FDS2C0NHOSLXG5O.MEDIUM.jpg" data-notes="[]" data-orig-height="2448" data-orig-width="3264" data-original="http://cdn.instructables.com/FDS/2C0N/HOSLXG5O/FDS2C0NHOSLXG5O.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FDS/2C0N/HOSLXG5O/FDS2C0NHOSLXG5O.SMALL.jpg" src="http://cdn.instructables.com/FDS/2C0N/HOSLXG5O/FDS2C0NHOSLXG5O.MEDIUM.jpg" style="border: 0px; display: inline; height: auto; margin-top: 0px; max-width: none; vertical-align: middle; width: 297.5px;" /></a></div>
</div>
</div>
<div class="photoset-row cols-2" style="height: 221px; margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; padding-right: 2.5px; position: relative; vertical-align: top; width: 300px;">
<div class="photoset-item photoset-image" style="display: inline-block; height: 221px; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-S4RQFVCHOSOXLO6" data-fancybox-href="http://cdn.instructables.com/FJW/CNP1/HOSVZUE2/FJWCNP1HOSVZUE2.LARGE.jpg" href="http://www.instructables.com/file/FJWCNP1HOSVZUE2/" style="color: #e86c00; text-decoration: none;"><img alt="IMG_2307.jpg" class="lazy-img" data-image-id="FJWCNP1HOSVZUE2" data-large-image="http://cdn.instructables.com/FJW/CNP1/HOSVZUE2/FJWCNP1HOSVZUE2.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FJW/CNP1/HOSVZUE2/FJWCNP1HOSVZUE2.MEDIUM.jpg" data-notes="[]" data-orig-height="2448" data-orig-width="3264" data-original="http://cdn.instructables.com/FJW/CNP1/HOSVZUE2/FJWCNP1HOSVZUE2.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FJW/CNP1/HOSVZUE2/FJWCNP1HOSVZUE2.SMALL.jpg" src="http://cdn.instructables.com/FJW/CNP1/HOSVZUE2/FJWCNP1HOSVZUE2.MEDIUM.jpg" style="border: 0px; display: inline; height: auto; margin-top: 0px; max-width: none; vertical-align: middle; width: 297.5px;" /></a></div>
</div>
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; padding-left: 2.5px; position: relative; vertical-align: top; width: 300px;">
<div class="photoset-item photoset-image" style="display: inline-block; height: 221px; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-S4RQFVCHOSOXLO6" data-fancybox-href="http://cdn.instructables.com/FG9/EQ81/HOSLK9HW/FG9EQ81HOSLK9HW.LARGE.jpg" href="http://www.instructables.com/file/FG9EQ81HOSLK9HW/" style="color: #e86c00; text-decoration: none;"><img alt="IMG_2311.jpg" class="lazy-img" data-image-id="FG9EQ81HOSLK9HW" data-large-image="http://cdn.instructables.com/FG9/EQ81/HOSLK9HW/FG9EQ81HOSLK9HW.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FG9/EQ81/HOSLK9HW/FG9EQ81HOSLK9HW.MEDIUM.jpg" data-notes="[]" data-orig-height="2448" data-orig-width="3264" data-original="http://cdn.instructables.com/FG9/EQ81/HOSLK9HW/FG9EQ81HOSLK9HW.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FG9/EQ81/HOSLK9HW/FG9EQ81HOSLK9HW.SMALL.jpg" src="http://cdn.instructables.com/FG9/EQ81/HOSLK9HW/FG9EQ81HOSLK9HW.MEDIUM.jpg" style="border: 0px; display: inline; height: auto; margin-top: 0px; max-width: none; vertical-align: middle; width: 297.5px;" /></a></div>
</div>
</div>
</div>
<div class="step-body" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
Split the case, find the hardware bag inside, and set the rubber feet aside for later.<br /><br />Attach the Raspberry Pi to the case bottom with the supplied hardware.<br /><br />Remove the GPIO knockout with a razor blade or Xacto knife and snap the two case halves together.<br /><br />To keep the power dissipation of the power supply and Raspberry Pi from effecting the sensor readings, I cut a piece of Azek plastic lumber about 1.1 x 2.4 x 0.75 inches as a standoff.<br /><br />Heat up your hot-melt glue gun and stack the parts as in the picture. You'll have a few seconds to make the alignment perfect before the glue sets, so get the alignment close before you press the parts together. Be careful not to use so much glue that it extrudes from the edges of the seams or extrudes into the case, where it might interfere with the SD card connector.<br /><br />1) Glue the sensor to the standoff<br /><br />2) Glue the standoff to the top half of the case. Be careful not to block the LED cutouts on the one side or the ribbon cable cutout for the camera on the other side.<br /><br />3) Glue the case bottom to the top of the PoE adapter. Make sure the "LAN Out" connector is on the same side as the Raspberry Pi Ethernet adapter.<br /><br />4) Stick the 4 rubber feet to the bottom of the power adapter.<br /><br />5) Ensure the voltage-output selection switch is set to 5V. Put a dab of hot-melt glue in the switch to prevent it from being changed and destroying your Raspberry Pi.<br /></div>
<div class="clearfix" id="double-inline-ads">
<div class="gpt-ad pull-left" id="gpt-ad-inline-med-1" style="display: inline-block; float: left; margin-right: 5px;">
</div>
<div class="gpt-ad pull-right" id="gpt-ad-inline-med-2" style="display: inline-block; float: right; margin-right: 5px;">
</div>
</div>
</div>
<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<h2 class="step-title" id="step2" style="color: inherit; font-family: inherit; font-size: 22px; line-height: normal; margin: 12px 0px; padding: 0px; text-rendering: optimizeLegibility;">
Step 2: Electrical Assembly</h2>
<div class="photoset" data-item-id="SJJG3H1HOSOXLW1" data-item-url="http://www.instructables.com/id/Raspberry-Pi-Temperature-Humidity-Network-Monitor/step2/Electrical-Assembly/" id="photoset-SJJG3H1HOSOXLW1" style="background-color: #f6f6f6; border: 1px solid rgb(191, 191, 191); line-height: 0; margin-bottom: 35px; min-height: 109px; padding: 22px; position: relative; text-align: center;">
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SJJG3H1HOSOXLW1" data-fancybox-href="http://cdn.instructables.com/FX4/X56B/HOSOPC1N/FX4X56BHOSOPC1N.LARGE.jpg" href="http://www.instructables.com/file/FX4X56BHOSOPC1N/" style="color: #e86c00; text-decoration: none;"><img alt="Picture of Electrical Assembly" data-image-id="FX4X56BHOSOPC1N" data-large-image="http://cdn.instructables.com/FX4/X56B/HOSOPC1N/FX4X56BHOSOPC1N.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FX4/X56B/HOSOPC1N/FX4X56BHOSOPC1N.MEDIUM.jpg" data-notes="[]" data-orig-height="2448" data-orig-width="3264" data-original="http://cdn.instructables.com/FX4/X56B/HOSOPC1N/FX4X56BHOSOPC1N.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FX4/X56B/HOSOPC1N/FX4X56BHOSOPC1N.SMALL.jpg" src="http://cdn.instructables.com/FX4/X56B/HOSOPC1N/FX4X56BHOSOPC1N.MEDIUM.jpg" style="border: 0px; height: auto; max-width: 3264px; vertical-align: middle; width: 600px;" /></a></div>
</div>
</div>
<div class="photoset-row cols-2" style="height: 221px; margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; padding-right: 2.5px; position: relative; vertical-align: top; width: 300px;">
<div class="photoset-item photoset-image" style="display: inline-block; height: 221px; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SJJG3H1HOSOXLW1" data-fancybox-href="http://cdn.instructables.com/FB6/F63L/HOSKU286/FB6F63LHOSKU286.LARGE.jpg" href="http://www.instructables.com/file/FB6F63LHOSKU286/" style="color: #e86c00; text-decoration: none;"><img alt="IMG_2313.jpg" class="lazy-img" data-image-id="FB6F63LHOSKU286" data-large-image="http://cdn.instructables.com/FB6/F63L/HOSKU286/FB6F63LHOSKU286.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FB6/F63L/HOSKU286/FB6F63LHOSKU286.MEDIUM.jpg" data-notes="[]" data-orig-height="2448" data-orig-width="3264" data-original="http://cdn.instructables.com/FB6/F63L/HOSKU286/FB6F63LHOSKU286.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FB6/F63L/HOSKU286/FB6F63LHOSKU286.SMALL.jpg" src="http://cdn.instructables.com/FB6/F63L/HOSKU286/FB6F63LHOSKU286.MEDIUM.jpg" style="border: 0px; display: inline; height: auto; margin-top: 0px; max-width: none; vertical-align: middle; width: 297.5px;" /></a></div>
</div>
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; padding-left: 2.5px; position: relative; vertical-align: top; width: 300px;">
<div class="photoset-item photoset-image" style="display: inline-block; height: 221px; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SJJG3H1HOSOXLW1" data-fancybox-href="http://cdn.instructables.com/FHQ/W4EB/HOSLKHHK/FHQW4EBHOSLKHHK.LARGE.jpg" href="http://www.instructables.com/file/FHQW4EBHOSLKHHK/" style="color: #e86c00; text-decoration: none;"><img alt="IMG_2314.jpg" class="lazy-img" data-image-id="FHQW4EBHOSLKHHK" data-large-image="http://cdn.instructables.com/FHQ/W4EB/HOSLKHHK/FHQW4EBHOSLKHHK.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FHQ/W4EB/HOSLKHHK/FHQW4EBHOSLKHHK.MEDIUM.jpg" data-notes="[]" data-orig-height="2448" data-orig-width="3264" data-original="http://cdn.instructables.com/FHQ/W4EB/HOSLKHHK/FHQW4EBHOSLKHHK.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FHQ/W4EB/HOSLKHHK/FHQW4EBHOSLKHHK.SMALL.jpg" src="http://cdn.instructables.com/FHQ/W4EB/HOSLKHHK/FHQW4EBHOSLKHHK.MEDIUM.jpg" style="border: 0px; display: inline; height: auto; margin-top: 0px; max-width: none; vertical-align: middle; width: 297.5px;" /></a></div>
</div>
</div>
<div class="photoset-row cols-2" style="height: 221px; margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; padding-right: 2.5px; position: relative; vertical-align: top; width: 300px;">
<div class="photoset-item photoset-image" style="display: inline-block; height: 221px; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SJJG3H1HOSOXLW1" data-fancybox-href="http://cdn.instructables.com/FH7/9E5C/HOSVZUDX/FH79E5CHOSVZUDX.LARGE.jpg" href="http://www.instructables.com/file/FH79E5CHOSVZUDX/" style="color: #e86c00; text-decoration: none;"><img alt="IMG_2316.jpg" class="lazy-img" data-image-id="FH79E5CHOSVZUDX" data-large-image="http://cdn.instructables.com/FH7/9E5C/HOSVZUDX/FH79E5CHOSVZUDX.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FH7/9E5C/HOSVZUDX/FH79E5CHOSVZUDX.MEDIUM.jpg" data-notes="[]" data-orig-height="2448" data-orig-width="3264" data-original="http://cdn.instructables.com/FH7/9E5C/HOSVZUDX/FH79E5CHOSVZUDX.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FH7/9E5C/HOSVZUDX/FH79E5CHOSVZUDX.SMALL.jpg" src="http://cdn.instructables.com/FH7/9E5C/HOSVZUDX/FH79E5CHOSVZUDX.MEDIUM.jpg" style="border: 0px; display: inline; height: auto; margin-top: 0px; max-width: none; vertical-align: middle; width: 297.5px;" /></a></div>
</div>
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; padding-left: 2.5px; position: relative; vertical-align: top; width: 300px;">
<div class="photoset-item photoset-image" style="display: inline-block; height: 221px; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SJJG3H1HOSOXLW1" data-fancybox-href="http://cdn.instructables.com/FPU/THU8/HOSLKHHB/FPUTHU8HOSLKHHB.LARGE.jpg" href="http://www.instructables.com/file/FPUTHU8HOSLKHHB/" style="color: #e86c00; text-decoration: none;"><img alt="IMG_2319.jpg" class="lazy-img" data-image-id="FPUTHU8HOSLKHHB" data-large-image="http://cdn.instructables.com/FPU/THU8/HOSLKHHB/FPUTHU8HOSLKHHB.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FPU/THU8/HOSLKHHB/FPUTHU8HOSLKHHB.MEDIUM.jpg" data-notes="[]" data-orig-height="2448" data-orig-width="3264" data-original="http://cdn.instructables.com/FPU/THU8/HOSLKHHB/FPUTHU8HOSLKHHB.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FPU/THU8/HOSLKHHB/FPUTHU8HOSLKHHB.SMALL.jpg" src="http://cdn.instructables.com/FPU/THU8/HOSLKHHB/FPUTHU8HOSLKHHB.MEDIUM.jpg" style="border: 0px; display: inline; height: auto; margin-top: 0px; max-width: none; vertical-align: middle; width: 297.5px;" /></a></div>
</div>
</div>
</div>
<div class="step-body" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
The White wire from the sensor is a spare ground, and is not needed. Cut it off inside the sensor case, being careful not to cut any of the other wires.<br /><br />Braid the other three wires to keep them together, and cut them off about 3.5 inches long.<br /><br />Prepare a 5-pin single inline female connector (cut from https://www.sparkfun.com/products/115 or equivalent), and solder the wires to it:<br /><br />1) Red (+3.3V)<br />2) No Connection<br />3) No Connection<br />4) Yellow (Data)<br />5) Black (Ground)<br /><br />Plug the connector into the GPIO on the Raspberry Pi so that pin 1 on the connector (red wire) is on pin 1 of the GPIO connector (label P1 on the board, upper right in the picture). Note that the Red wire is on GPIO Pin 1 (+3.3V), the Yellow wire is on GPIO pin 7 (GPIO 4), and the Black wire is on GPIO Pin 9 (Ground).<br /><br />Tuck the excess wire into the case.<br /><br />Use a short CAT5 cable (something like http://www.monoprice.com/Product?c_id=102&cp_id=10232&cs_id=1023201&p_id=7505 ) to connect the LAN OUT on the PoE splitter and the Raspberry Pi Ethernet jack. Twist it up to make it stay close to the case.<br /><br />Take the PoE output cable and a Micro-USB connector or cable and solder them together. If using an AdaFruit http://www.adafruit.com/products/1390 Micro-USB connector, wire it up as shown at http://learn.adafruit.com/assets/12402 , if using a cut-off cable, determine +5 and Gnd wires with a multimeter. Note that the TP-Link wire with the white stripe is POSITIVE.<br /><br /> </div>
</div>
<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<h2 class="step-title" id="step3" style="color: inherit; font-family: inherit; font-size: 22px; line-height: normal; margin: 12px 0px; padding: 0px; text-rendering: optimizeLegibility;">
Step 3: Raspberry Pi software setup</h2>
<div class="photoset" data-item-id="SKW757FHOSOXQ8P" data-item-url="http://www.instructables.com/id/Raspberry-Pi-Temperature-Humidity-Network-Monitor/step3/Raspberry-Pi-software-setup/" id="photoset-SKW757FHOSOXQ8P" style="background-color: #f6f6f6; border: 1px solid rgb(191, 191, 191); line-height: 0; margin-bottom: 35px; min-height: 109px; padding: 22px; position: relative; text-align: center;">
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SKW757FHOSOXQ8P" data-fancybox-href="http://cdn.instructables.com/FHZ/JUYC/HOUFZIBT/FHZJUYCHOUFZIBT.LARGE.jpg" href="http://www.instructables.com/file/FHZJUYCHOUFZIBT/" style="color: #e86c00; text-decoration: none;"><img alt="Picture of Raspberry Pi software setup" data-image-id="FHZJUYCHOUFZIBT" data-large-image="http://cdn.instructables.com/FHZ/JUYC/HOUFZIBT/FHZJUYCHOUFZIBT.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FHZ/JUYC/HOUFZIBT/FHZJUYCHOUFZIBT.MEDIUM.jpg" data-notes="[]" data-orig-height="1206" data-orig-width="1608" data-original="http://cdn.instructables.com/FHZ/JUYC/HOUFZIBT/FHZJUYCHOUFZIBT.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FHZ/JUYC/HOUFZIBT/FHZJUYCHOUFZIBT.SMALL.jpg" src="http://cdn.instructables.com/FHZ/JUYC/HOUFZIBT/FHZJUYCHOUFZIBT.MEDIUM.jpg" style="border: 0px; height: auto; max-width: 1608px; vertical-align: middle; width: 600px;" /></a></div>
</div>
</div>
</div>
<div class="step-body" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
Getting the basic Raspberry Pi software up and running has been documented elsewhere, but basically, go to:<br />http://www.raspberrypi.org/downloads<br />download the latest NOOBS (v1.3.2 as of this writing)<br />Format the SD card using the SD card tool at https://www.sdcard.org/downloads/formatter_4/<br />Unzip the NOOBS file and put the contents at the root of the SD card.<br />Insert the SD card into the Raspberry Pi<br />Connect a keyboard, monitor, mouse, and LAN cable to the Raspberry Pi and connect the power supply (when you plug the PoE splitter into the LAN cable, the Raspberry Pi will power up).<br /><br />Select the Raspian distribution and install it.<br />While that's installing, select English-US keyboard, which autoselects US Keymap<br /><br />On first boot, the raspi-config utility will run.<br />Select Console Login as the default on boot<br />Change Locale to en_US UTF-8<br />Set timezone for your location<br />Set keyboard to Generic 105-key, English US<br />Enable the camera<br />change the hostname to something memorable (I used 'rpithon' for Raspberry Pi Temp/Humid On Net)<br />set 16M memory split as we'll be running headless<br />Enable SSH<br />reboot<br /><br />Now you can either continue to use the console or ssh to it from another machine. From my Mac I can just say:<br />ssh pi@rpithon<br />and log in using the password 'raspberry'. If your router doesn't do the DNS to help you find 'rpithon' then make note of the IP address on the console and use that instead.<br /><br />Update everything (this will take a while):<br /><br />sudo apt-get update<br />sudo apt-get upgrade<br />sudo rpi-update<br /><br />and reboot<br /><br />Since this is going to be a LAN-only device, I get sick of playing "Mother May I?" with sudo, and I want to avoid any permissions problems with the additional software, so let's enable the root user and delete the pi user:<br /><br />sudo passwd root<br /><rootpassword> repeated twice<br />exit<br /><br />log back in as root user (or ssh root@rpithon) using the password selected above<br /><br />remove pi user:<br /><br />deluser -remove-home pi<br /><br />I prefer Emacs, and don't want all the X-Windows stuff, so:<br /><br />apt-get install emacs23-nox<br /><br />Tell it to check the disk (SD Card) every time it boots:<br /><br />tune2fs -c 1 /dev/mmcblk0p6<br /><br />emacs /etc/ssh/sshd_config<br /><br />change X11Forwarding to no<br />UseDNS no<br />ClientAliveInterval 60<br /><br />service ssh restart<br /></rootpassword></div>
</div>
<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<h2 class="step-title" id="step4" style="color: inherit; font-family: inherit; font-size: 22px; line-height: normal; margin: 12px 0px; padding: 0px; text-rendering: optimizeLegibility;">
Step 4: Setting up LAMP server (web server)</h2>
<div class="photoset" data-item-id="SPMN81NHOSOXQB2" data-item-url="http://www.instructables.com/id/Raspberry-Pi-Temperature-Humidity-Network-Monitor/step4/Setting-up-LAMP-server-web-server/" id="photoset-SPMN81NHOSOXQB2" style="background-color: #f6f6f6; border: 1px solid rgb(191, 191, 191); line-height: 0; margin-bottom: 35px; min-height: 109px; padding: 22px; position: relative; text-align: center;">
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SPMN81NHOSOXQB2" data-fancybox-href="http://cdn.instructables.com/FDQ/L9L1/HOUFZID3/FDQL9L1HOUFZID3.LARGE.jpg" href="http://www.instructables.com/file/FDQL9L1HOUFZID3/" style="color: #e86c00; text-decoration: none;"><img alt="Picture of Setting up LAMP server (web server)" data-image-id="FDQL9L1HOUFZID3" data-large-image="http://cdn.instructables.com/FDQ/L9L1/HOUFZID3/FDQL9L1HOUFZID3.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FDQ/L9L1/HOUFZID3/FDQL9L1HOUFZID3.MEDIUM.jpg" data-notes="[]" data-orig-height="1650" data-orig-width="1275" data-original="http://cdn.instructables.com/FDQ/L9L1/HOUFZID3/FDQL9L1HOUFZID3.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FDQ/L9L1/HOUFZID3/FDQL9L1HOUFZID3.SMALL.jpg" src="http://cdn.instructables.com/FDQ/L9L1/HOUFZID3/FDQL9L1HOUFZID3.MEDIUM.jpg" style="border: 0px; height: auto; max-width: 1275px; vertical-align: middle; width: 479px;" /></a></div>
</div>
</div>
</div>
<div class="step-body" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
So we want to be able to see the graphs we'll be generating (below), so we need to install a LAMP server.<br /><br />LAMP: /Linux/Apache/MySQL/PHP&Perl<br /><br />Linux is the operating system you are using (Raspian is a version of Debian, which is one of the common flavors of Linux)<br />Apache is the name of the web server software<br />MySQL is a SQL (Standard Query Language) database interface. Databases sound really scary, but they are easy to use for simple things once you get used to them.<br />PHP and Perl are programming languages that are commonly used with websites, though we'll be using the Raspberry Pi standard Python for graphing the data and 'creating' the website.<br /><br />apt-get install apache2 php5 mysql-client mysql-server vsftpd<br /><br />This takes a while to install. Midway through it'll ask you for a MySQL password, pick one memorable, I'll use 'password' for this tutorial.<br /><br />Now you should be able to browse to http://rpithon (or http://<ip address=""> if the DNS doesn't work) and see a demo web page. Try to edit /var/www/index.html and see if your changes show up when you refresh the webpage.</ip></div>
</div>
<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<h2 class="step-title" id="step5" style="color: inherit; font-family: inherit; font-size: 22px; line-height: normal; margin: 12px 0px; padding: 0px; text-rendering: optimizeLegibility;">
Step 5: ez_setup, MySQL, matplotlib</h2>
<div class="photoset" data-item-id="S426SC5HOSOXQBJ" data-item-url="http://www.instructables.com/id/Raspberry-Pi-Temperature-Humidity-Network-Monitor/step5/ezsetup-MySQL-matplotlib/" id="photoset-S426SC5HOSOXQBJ" style="background-color: #f6f6f6; border: 1px solid rgb(191, 191, 191); line-height: 0; margin-bottom: 35px; min-height: 109px; padding: 22px; position: relative; text-align: center;">
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-S426SC5HOSOXQBJ" data-fancybox-href="http://cdn.instructables.com/FDK/HP7I/HOUG6APU/FDKHP7IHOUG6APU.LARGE.jpg" href="http://www.instructables.com/file/FDKHP7IHOUG6APU/" style="color: #e86c00; text-decoration: none;"><img alt="Picture of ez_setup, MySQL, matplotlib" data-image-id="FDKHP7IHOUG6APU" data-large-image="http://cdn.instructables.com/FDK/HP7I/HOUG6APU/FDKHP7IHOUG6APU.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FDK/HP7I/HOUG6APU/FDKHP7IHOUG6APU.MEDIUM.jpg" data-notes="[]" data-orig-height="139" data-orig-width="687" data-original="http://cdn.instructables.com/FDK/HP7I/HOUG6APU/FDKHP7IHOUG6APU.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FDK/HP7I/HOUG6APU/FDKHP7IHOUG6APU.SMALL.jpg" src="http://cdn.instructables.com/FDK/HP7I/HOUG6APU/FDKHP7IHOUG6APU.MEDIUM.jpg" style="border: 0px; height: auto; max-width: 687px; vertical-align: middle; width: 600px;" /></a></div>
</div>
</div>
</div>
<div class="step-body" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
ez_setup is a Python program that loads some nice addons (think of it as apt-get on steroids)<br /><br />wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py<br />python ez_setup.py<br /><br />These next steps install some integration between Python and MySQL:<br /><br />apt-get install python-mysqldb<br />apt-get install libmysqlclient-dev<br />easy_install MySQL-python<br /><br />We'll be using the wonderful, powerful, and free(!) matplotlib for graphing our data, though we won't be using much of its power.<br /><br />apt-get install libblas-dev liblapack-dev python-dev libatlas-base-dev gfortran python-setuptools python-scipy python-matplotlib<br /></div>
</div>
<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<h2 class="step-title" id="step6" style="color: inherit; font-family: inherit; font-size: 22px; line-height: normal; margin: 12px 0px; padding: 0px; text-rendering: optimizeLegibility;">
Step 6: WiringPi - GPIO interface</h2>
<div class="photoset" data-item-id="SDSZ7FMHOSOXQDJ" data-item-url="http://www.instructables.com/id/Raspberry-Pi-Temperature-Humidity-Network-Monitor/step6/WiringPi-GPIO-interface/" id="photoset-SDSZ7FMHOSOXQDJ" style="background-color: #f6f6f6; border: 1px solid rgb(191, 191, 191); line-height: 0; margin-bottom: 35px; min-height: 109px; padding: 22px; position: relative; text-align: center;">
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SDSZ7FMHOSOXQDJ" data-fancybox-href="http://cdn.instructables.com/F2Y/61LK/HOUG8KCV/F2Y61LKHOUG8KCV.LARGE.jpg" href="http://www.instructables.com/file/F2Y61LKHOUG8KCV/" style="color: #e86c00; text-decoration: none;"><img alt="Picture of WiringPi - GPIO interface" data-image-id="F2Y61LKHOUG8KCV" data-large-image="http://cdn.instructables.com/F2Y/61LK/HOUG8KCV/F2Y61LKHOUG8KCV.LARGE.jpg" data-medium-image="http://cdn.instructables.com/F2Y/61LK/HOUG8KCV/F2Y61LKHOUG8KCV.MEDIUM.jpg" data-notes="[]" data-orig-height="295" data-orig-width="600" data-original="http://cdn.instructables.com/F2Y/61LK/HOUG8KCV/F2Y61LKHOUG8KCV.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/F2Y/61LK/HOUG8KCV/F2Y61LKHOUG8KCV.SMALL.jpg" src="http://cdn.instructables.com/F2Y/61LK/HOUG8KCV/F2Y61LKHOUG8KCV.MEDIUM.jpg" style="border: 0px; height: auto; max-width: 600px; vertical-align: middle; width: 600px;" /></a></div>
</div>
</div>
</div>
<div class="step-body" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
Gordon Henderson has created a wonderful programming interface for the GPIO pins, including some drivers for the esoteric interface that our Temperature/Humidity sensor uses. See http://wiringpi.com/ for more details.<br /><br />git clone git://git.drogon.net/wiringPi<br />cd wiringPi<br />./build<br />cd examples<br />emacs rht03.c (change the line #define RHT03_PIN 0 to #define RHT03_PIN 7 for the GPIO pin we're using)<br />make rht03<br />./rht03<br />(you should get continuous temperature and humidity readings)<br /><br />now we know our hardware is working, let's write our own program...</div>
</div>
<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<h2 class="step-title" id="step7" style="color: inherit; font-family: inherit; font-size: 22px; line-height: normal; margin: 12px 0px; padding: 0px; text-rendering: optimizeLegibility;">
Step 7: Set up a database and a table</h2>
<div class="photoset" data-item-id="SW57UQPHOSOXQEG" data-item-url="http://www.instructables.com/id/Raspberry-Pi-Temperature-Humidity-Network-Monitor/step7/Set-up-a-database-and-a-table/" id="photoset-SW57UQPHOSOXQEG" style="background-color: #f6f6f6; border: 1px solid rgb(191, 191, 191); line-height: 0; margin-bottom: 35px; min-height: 109px; padding: 22px; position: relative; text-align: center;">
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SW57UQPHOSOXQEG" data-fancybox-href="http://cdn.instructables.com/FJO/KVTD/HOUG6AQ3/FJOKVTDHOUG6AQ3.LARGE.jpg" href="http://www.instructables.com/file/FJOKVTDHOUG6AQ3/" style="color: #e86c00; text-decoration: none;"><img alt="Picture of Set up a database and a table" data-image-id="FJOKVTDHOUG6AQ3" data-large-image="http://cdn.instructables.com/FJO/KVTD/HOUG6AQ3/FJOKVTDHOUG6AQ3.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FJO/KVTD/HOUG6AQ3/FJOKVTDHOUG6AQ3.MEDIUM.jpg" data-notes="[]" data-orig-height="57" data-orig-width="110" data-original="http://cdn.instructables.com/FJO/KVTD/HOUG6AQ3/FJOKVTDHOUG6AQ3.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FJO/KVTD/HOUG6AQ3/FJOKVTDHOUG6AQ3.SMALL.jpg" src="http://cdn.instructables.com/FJO/KVTD/HOUG6AQ3/FJOKVTDHOUG6AQ3.MEDIUM.jpg" style="border: 0px; height: auto; max-width: 110px; vertical-align: middle; width: 110px;" /></a></div>
</div>
</div>
</div>
<div class="step-body" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
So we have database software, but there's no database, or tables, so let's create them:<br /><br />Open the MySQL command interface:<br /><br />mysql -ppassword <-- br="" mysql="" password="" picked="" previously="" the="" you=""><br />[...]<br /><br />Create a new database, called Monitoring<br /><br />mysql> create database Monitoring;<br />Query OK, 1 row affected (0.00 sec)<br /><br />Select that as our current database<br /><br />mysql> use Monitoring;<br />Database changed<br /><br />Create a single table in the database called TempHumid, which will contain the Unix Epoch (seconds since 1970) and Temperature and Humidity readings<br /><br />mysql>create table TempHumid (ComputerTime INTEGER UNSIGNED,Temperature DECIMAL(5,1), Humidity DECIMAL(5,1));<br />Query OK, 0 rows affected (1.70 sec)<br /><br />Done with MySQL, exit back to the command prompt.<br /><br />mysql> exit<br />Bye<br /></--></div>
</div>
<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<h2 class="step-title" id="step8" style="color: inherit; font-family: inherit; font-size: 22px; line-height: normal; margin: 12px 0px; padding: 0px; text-rendering: optimizeLegibility;">
Step 8: Add readings to the database</h2>
<div class="step-body" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
<div style="margin-bottom: 10px; margin-top: 3px;">
Because the timing is tight on the sensor protocol, we're going to use C code to communicate with the sensor and add readings to the database.<br /><br />So go to the root user's default directory:<br /><br />cd ~<br /><br />copy the Makefile (instructions on how to build the code we're going to create)<br /><br />cp wiringPi/examples/Makefile .<br /><br />emacs makeFile<br />change the two lines below to match this:<br /><br />INCLUDE = -I/usr/local/include,/usr/include/mysql<br /><br />LDFLAGS = -L/usr/local/lib,/usr/lib/arm-linux-gnueabihf -lmysqlclient -lpthread -lz -lm -lrt -ldl<br /><br />Now copy th.c (included here) into your default directory. Change the password on line 68 from "password" to whatever you chose as the MySQL password.<br /><br />When you compile it:<br /><br />make th<br /><br />you'll get a couple of warnings about declarations of exit, but it'll work fine.<br /><br />Now you can run the program by typing:<br /><br />./th<br /><br />It waits for a 60-second interval (minute) to end, then reads the sensor, inserts the time and sensor readings into the database, and loops forever.<br /><br />Once we have that working properly, we want it to start whenever the Raspberry Pi starts up:<br /><br />emacs /etc/rc.local<br />insert:<br /><br />/root/th >> /root/th.log &<br /><br />before the line that reads "exit 0"<br /><br />reboot and see if th.log grows by one line per minute:<br /><br />tail -f th.log<br /><br />You can confirm that the data is getting into the database with:<br /><br />mysql -ppassword<br />use Monitoring;<br />select * from TempHumid;<br /><br />You should get a list of all values in the database.</div>
</div>
<div class="ible-files" id="rich-embed-files" style="margin-top: 40px;">
</div>
<ul class="ible-files unstyled" id="attachments" style="list-style: none; margin: 40px 0px 0px; padding: 0px;">
<li class="file-info clearfix" style="background-color: #f9f9f9; border-radius: 4px; border: 1px solid rgb(221, 221, 221); line-height: normal; margin: 4px 4px 4px 0px; padding: 6px 0px 3px 6px;"><a download="th.c" href="http://www.instructables.com/files/orig/FV1/SE8A/HOSLXFJA/FV1SE8AHOSLXFJA.c" style="color: #e86c00; text-decoration: none;"><img alt="th.c" src="http://www.instructables.com/static/defaultIMG/file.TINY.gif" style="border: 0px; height: auto; margin-right: 3px; max-width: 100%; vertical-align: middle;" /> <span class="title" style="color: #333333; font-size: 16px; font-weight: 700; vertical-align: middle;">th.c</span></a></li>
</ul>
</div>
<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<h2 class="step-title" id="step9" style="color: inherit; font-family: inherit; font-size: 22px; line-height: normal; margin: 12px 0px; padding: 0px; text-rendering: optimizeLegibility;">
Step 9: Graph data from the database</h2>
<div class="photoset" data-item-id="SOU0K3KHOSOXQIQ" data-item-url="http://www.instructables.com/id/Raspberry-Pi-Temperature-Humidity-Network-Monitor/step9/Graph-data-from-the-database/" id="photoset-SOU0K3KHOSOXQIQ" style="background-color: #f6f6f6; border: 1px solid rgb(191, 191, 191); line-height: 0; margin-bottom: 35px; min-height: 109px; padding: 22px; position: relative; text-align: center;">
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SOU0K3KHOSOXQIQ" data-fancybox-href="http://cdn.instructables.com/F28/E8B1/HOUG1FCP/F28E8B1HOUG1FCP.LARGE.jpg" href="http://www.instructables.com/file/F28E8B1HOUG1FCP/" style="color: #e86c00; text-decoration: none;"><img alt="Picture of Graph data from the database" data-image-id="F28E8B1HOUG1FCP" data-large-image="http://cdn.instructables.com/F28/E8B1/HOUG1FCP/F28E8B1HOUG1FCP.LARGE.jpg" data-medium-image="http://cdn.instructables.com/F28/E8B1/HOUG1FCP/F28E8B1HOUG1FCP.MEDIUM.jpg" data-notes="[]" data-orig-height="600" data-orig-width="800" data-original="http://cdn.instructables.com/F28/E8B1/HOUG1FCP/F28E8B1HOUG1FCP.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/F28/E8B1/HOUG1FCP/F28E8B1HOUG1FCP.SMALL.jpg" src="http://cdn.instructables.com/F28/E8B1/HOUG1FCP/F28E8B1HOUG1FCP.MEDIUM.jpg" style="border: 0px; height: auto; max-width: 800px; vertical-align: middle; width: 600px;" /></a></div>
</div>
</div>
</div>
<div class="step-body" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
We're going to use Python for pulling readings out of the database and graph them with matplotlib. Log in as root.<br /><br />Set up the directory structure we'll be using:<br />mkdir Graph<br />cd Graph<br />mkdir graphics<br /><br />copy GraphTH.py into the Graph directory<br />Change the password on line 40:<br />DBconn = mdb.connect('localhost', 'root', 'password', 'Monitoring')<br />to match the MySQL password you set previously.<br />You can also set <location_name> on line 81 to match your desired location name<br /><br />Try running it:<br /><br />python GraphTH.py<br /><br />It will get the last 24 hours of readings from the database, reorganize the data, throw out obvious bad data, create a graph of the results, and copy TH.png to /var/www so you should be able to see a new graph time you run GraphTH.py at http://rpithon/TH.png<br /><br />Now we want this to run every minute, so:<br />export EDITOR=emacs<br />crontab -e<br />Add the line:<br />* * * * * /usr/bin/python /root/Graph/GraphTH.py >> /root/Graph/GraphTH.log<br />at the bottom of the file.<br /><br />Now GraphTH.py should run every minute, and if you update http://rpithon/TH.png (or http://<ip address="">/TH.png you should see it change about once a minute.<br /><br />In the example above I covered the sensor with a damp Kleenex while it dried as a test.</ip></location_name></div>
<div class="ible-files" id="rich-embed-files" style="margin-top: 40px;">
</div>
<ul class="ible-files unstyled" id="attachments" style="list-style: none; margin: 40px 0px 0px; padding: 0px;">
<li class="file-info clearfix" style="background-color: #f9f9f9; border-radius: 4px; border: 1px solid rgb(221, 221, 221); line-height: normal; margin: 4px 4px 4px 0px; padding: 6px 0px 3px 6px;"><a download="GraphTH.py" href="http://www.instructables.com/files/orig/FV1/QMSB/HOUGGUUM/FV1QMSBHOUGGUUM.py" style="color: #e86c00; text-decoration: none;"><img alt="GraphTH.py" src="http://www.instructables.com/static/defaultIMG/file.TINY.gif" style="border: 0px; height: auto; margin-right: 3px; max-width: 100%; vertical-align: middle;" /> <span class="title" style="color: #333333; font-size: 16px; font-weight: 700; vertical-align: middle;">GraphTH.py</span></a></li>
</ul>
</div>
<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<h2 class="step-title" id="step10" style="color: inherit; font-family: inherit; font-size: 22px; line-height: normal; margin: 12px 0px; padding: 0px; text-rendering: optimizeLegibility;">
Step 10: Monitor more than one location</h2>
<div class="photoset" data-item-id="S3VIBQWHOUFXLCD" data-item-url="http://www.instructables.com/id/Raspberry-Pi-Temperature-Humidity-Network-Monitor/step10/Monitor-more-than-one-location/" id="photoset-S3VIBQWHOUFXLCD" style="background-color: #f6f6f6; border: 1px solid rgb(191, 191, 191); line-height: 0; margin-bottom: 35px; min-height: 109px; padding: 22px; position: relative; text-align: center;">
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-S3VIBQWHOUFXLCD" data-fancybox-href="http://cdn.instructables.com/FGR/EWQN/HOUFXLE5/FGREWQNHOUFXLE5.LARGE.jpg" href="http://www.instructables.com/file/FGREWQNHOUFXLE5/" style="color: #e86c00; text-decoration: none;"><img alt="Picture of Monitor more than one location" data-image-id="FGREWQNHOUFXLE5" data-large-image="http://cdn.instructables.com/FGR/EWQN/HOUFXLE5/FGREWQNHOUFXLE5.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FGR/EWQN/HOUFXLE5/FGREWQNHOUFXLE5.MEDIUM.jpg" data-notes="[]" data-orig-height="1650" data-orig-width="1275" data-original="http://cdn.instructables.com/FGR/EWQN/HOUFXLE5/FGREWQNHOUFXLE5.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FGR/EWQN/HOUFXLE5/FGREWQNHOUFXLE5.SMALL.jpg" src="http://cdn.instructables.com/FGR/EWQN/HOUFXLE5/FGREWQNHOUFXLE5.MEDIUM.jpg" style="border: 0px; height: auto; max-width: 1275px; vertical-align: middle; width: 479px;" /></a></div>
</div>
</div>
</div>
<div class="step-body" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
So I built five of these boxes for various locations, and on the LAMP server of one of them, added the following TH.html<br /><br /><br /><br /><html xmlns="http://www.w3.org/1999/xhtml"><br /><br /> <head><br /> <br /> <br /> <title>Temperature and Humidity readings</title><br /> </head><br /><br /> <body><br /> <div id="outline">
<br /> <div id="caption">
<br /><h1>
<br /> <br /><br /> Temperature and Humidity<br /> <br /><br /> </h1>
</div>
<br /> <div id="text">
<br /> <br /> <br /><br /> Sensor locations:<br /> <br /><br /> <br /><br /> White - A Room<br /> <br /><br /> Green - Another Room<br /> <br /><br /> Blue - A Place To Monitor<br /> <br /><br /> Purple - Another Place<br /> <br /><br /> Orange - Somewhere Else<br /> <br /><br /> <br /><br /> Graphs are updated every minute.<br /> <br /> <br />
<br /> </div>
</div>
<br /> </body><br /> <a href="http://rpithon-wht/TH.png" nbsp=""><br /><img align="center" height="240" src="http://rpithon-wht/TH.png" width="320" /></a><br /> <a href="http://rpithon-grn/TH.png" nbsp=""><br /><img align="center" height="240" src="http://rpithon-grn/TH.png" width="320" /></a><br /> <a href="http://rpithon-blu/TH.png" nbsp=""><br /><img align="center" height="240" src="http://rpithon-blu/TH.png" width="320" /></a><br /> <a href="http://rpithon-pur/TH.png" nbsp=""><br /><img align="center" height="240" src="http://rpithon-pur/TH.png" width="320" /></a><br /> <a href="http://rpithon-org/TH.png" nbsp=""><br /><img align="center" height="240" src="http://rpithon-org/TH.png" width="320" /></a></html><br /><br />so now I can point my browser at: http://rpithon-wht/TH and see all of the graphs updated every minute.</div>
</div>
<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<h2 class="step-title" id="step11" style="color: inherit; font-family: inherit; font-size: 22px; line-height: normal; margin: 12px 0px; padding: 0px; text-rendering: optimizeLegibility;">
Step 11: Extras - Camera</h2>
<div class="photoset" data-item-id="SAJ0ZXZHOSOXQJD" data-item-url="http://www.instructables.com/id/Raspberry-Pi-Temperature-Humidity-Network-Monitor/step11/Extras-Camera/" id="photoset-SAJ0ZXZHOSOXQJD" style="background-color: #f6f6f6; border: 1px solid rgb(191, 191, 191); line-height: 0; margin-bottom: 35px; min-height: 109px; padding: 22px; position: relative; text-align: center;">
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SAJ0ZXZHOSOXQJD" data-fancybox-href="http://cdn.instructables.com/FLX/D8J4/HOSLK9G9/FLXD8J4HOSLK9G9.LARGE.jpg" href="http://www.instructables.com/file/FLXD8J4HOSLK9G9/" style="color: #e86c00; text-decoration: none;"><img alt="Picture of Extras - Camera" data-image-id="FLXD8J4HOSLK9G9" data-large-image="http://cdn.instructables.com/FLX/D8J4/HOSLK9G9/FLXD8J4HOSLK9G9.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FLX/D8J4/HOSLK9G9/FLXD8J4HOSLK9G9.MEDIUM.jpg" data-notes="[]" data-orig-height="2448" data-orig-width="3264" data-original="http://cdn.instructables.com/FLX/D8J4/HOSLK9G9/FLXD8J4HOSLK9G9.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FLX/D8J4/HOSLK9G9/FLXD8J4HOSLK9G9.SMALL.jpg" src="http://cdn.instructables.com/FLX/D8J4/HOSLK9G9/FLXD8J4HOSLK9G9.MEDIUM.jpg" style="border: 0px; height: auto; max-width: 3264px; vertical-align: middle; width: 600px;" /></a></div>
</div>
</div>
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SAJ0ZXZHOSOXQJD" data-fancybox-href="http://cdn.instructables.com/F0B/ESNY/HOUG52V9/F0BESNYHOUG52V9.LARGE.jpg" href="http://www.instructables.com/file/F0BESNYHOUG52V9/" style="color: #e86c00; text-decoration: none;"><img alt="image.jpg" class="lazy-img" data-image-id="F0BESNYHOUG52V9" data-large-image="http://cdn.instructables.com/F0B/ESNY/HOUG52V9/F0BESNYHOUG52V9.LARGE.jpg" data-medium-image="http://cdn.instructables.com/F0B/ESNY/HOUG52V9/F0BESNYHOUG52V9.MEDIUM.jpg" data-notes="[]" data-orig-height="1944" data-orig-width="2592" data-original="http://cdn.instructables.com/F0B/ESNY/HOUG52V9/F0BESNYHOUG52V9.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/F0B/ESNY/HOUG52V9/F0BESNYHOUG52V9.SMALL.jpg" src="http://cdn.instructables.com/F0B/ESNY/HOUG52V9/F0BESNYHOUG52V9.MEDIUM.jpg" style="border: 0px; display: inline; height: auto; max-width: 2592px; vertical-align: middle; width: 600px;" /></a></div>
</div>
</div>
</div>
<div class="step-body" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
You remember how we enabled the camera module when we installed the Raspian operating system? Now we can add a Raspberry Pi Camera module:<br /><br />$25 http://www.newark.com/raspberry-pi/rpi-camera-board/add-on-brd-camera-module-raspberry/dp/69W0689<br /><br />Just feed the camera cable through the slot in the top case and plug it into the connector on the Raspberry Pi as per the instructions at http://www.raspberrypi.org/camera using the connector next to the Ethernet port, with the tinned leads pointing away from the Ethernet connector.<br /><br />I used another piece of Azek to position the camera with some hot melt glue, but there are obviously a lot of options.<br /><br />Now you can use the camera module to let you see into the area you are monitoring for temperature and humidity. From another computer you can do something like:<br /><br />ssh root@rpithon 'raspistill -o image.jpg'<br />scp root@rpithon:image.jpg .<br /><br />Or have a cron job save a new file to the webserver on a regular basis!<br /><br />In addition to the camera, there are lots of other peripherals and functions you can add to the Raspberry Pi, let your imagination guide you!</div>
</div>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-77112525954771547532016-03-09T15:52:00.001-08:002016-03-09T15:52:37.993-08:00PiPoE - powering a Raspberry Pi over Ethernet<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<div class="photoset" data-item-id="SREAOFXHYC6I1XT" data-item-url="http://www.instructables.com/id/PiPoE-powering-a-Raspberry-Pi-over-Ethernet/" id="photoset-SREAOFXHYC6I1XT" style="background-color: #f6f6f6; border: 1px solid rgb(191, 191, 191); line-height: 0; margin-bottom: 35px; min-height: 109px; padding: 22px; position: relative; text-align: center;">
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link selected" data-fancybox-group="photoset-gallery-SREAOFXHYC6I1XT" data-fancybox-href="http://cdn.instructables.com/FSX/T345/HYNYKY3U/FSXT345HYNYKY3U.LARGE.jpg" href="http://www.instructables.com/file/FSXT345HYNYKY3U/" style="color: #cf6000; cursor: pointer; outline-offset: -2px; outline: 0px; text-decoration: none;"><img alt="Picture of PiPoE - powering a Raspberry Pi over Ethernet" data-image-id="FSXT345HYNYKY3U" data-large-image="http://cdn.instructables.com/FSX/T345/HYNYKY3U/FSXT345HYNYKY3U.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FSX/T345/HYNYKY3U/FSXT345HYNYKY3U.MEDIUM.jpg" data-notes="[]" data-orig-height="1932" data-orig-width="2209" data-original="http://cdn.instructables.com/FSX/T345/HYNYKY3U/FSXT345HYNYKY3U.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FSX/T345/HYNYKY3U/FSXT345HYNYKY3U.SMALL.jpg" src="http://cdn.instructables.com/FSX/T345/HYNYKY3U/FSXT345HYNYKY3U.MEDIUM.jpg" style="border: 0px; height: auto; max-width: 2209px; vertical-align: middle; width: 600px;" /></a></div>
</div>
</div>
</div>
<div class="step-body" itemprop="articleBody" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
<div style="margin-bottom: 10px; margin-top: 3px;">
This project enables a Raspberry Pi, , or other small computer to be powered over an Ethernet cable. This very handy if you have a Pi somewhere where getting mains power to it is difficult, or if you want to run several devices from one central UPS.</div>
<div style="margin-bottom: 10px; margin-top: 3px;">
It's cheap and quite simple to put together, with just one slightly tricky bit of soldering...</div>
<div style="margin-bottom: 10px; margin-top: 3px;">
<span style="font-weight: 700;"><br /></span></div>
</div>
<div class="gpt-ad" id="gpt-ad-native-middle">
</div>
</div>
<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<h2 class="step-title" id="step1" style="color: inherit; font-family: inherit; font-size: 22px; line-height: normal; margin: 12px 0px; padding: 0px; text-rendering: optimizeLegibility;">
Step 1: About Power over Ethernet</h2>
<div class="step-body" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
<div style="margin-bottom: 10px; margin-top: 3px;">
<em>If you want to get straight on with building, skip this bit!</em></div>
<div style="margin-bottom: 10px; margin-top: 3px;">
The basic principles of Power over Ethernet (PoE) are straighforward: at one end of the cable, either near the network hub or built into it, is an 'injector' which takes DC power and the network signals, and combines them onto one cable. At the far end of the cable is a 'splitter' which does the reverse, taking the cable input and producing a DC power output and a network connection.</div>
<div style="margin-bottom: 10px; margin-top: 3px;">
There are two main types of PoE systems. 'Active' systems have circuitry at both ends so that the injector only turns power on when a compatible device is detected on the cable. This is the sort you'll find on commercial network switches with PoE built in. 'Passive' systems are commonly found in cheaper applications (e.g. home CCTV) - here the power is applied all the time and no detection circuitry is used.</div>
<div style="margin-bottom: 10px; margin-top: 3px;">
A passive system uses spare wires in a CAT-5 network cable to supply power - a 10- or 100-Mbit Ethernet connection only needs 4 of the 8 available wires to operate, leaving 4 free for power. Gigabit Ethernet connections need all 8, so don't work with passive PoE. Fortunately just about all Gigabit devices will fall back to 100-Mbit operation if only 4 wires are connected.</div>
<div style="margin-bottom: 10px; margin-top: 3px;">
This project uses a simple passive PoE arrangement. The only refinement is to use a higher DC supply voltage (12-24V) than the Pi needs, and to step it down to 5V at the Pi end. The advantages to doing this are:</div>
<ul style="margin: 0px 0px 9px 25px; padding: 0px;">
<li style="line-height: normal;">supplying 5V directly at one end of the cable means the Pi would get less than 5V, due to the resistance in the cable. This would make the Pi less reliable as the cable got longer.</li>
<li style="line-height: normal;">the current in the cable is less, meaning that less electrical power is wasted.</li>
<li style="line-height: normal;">the step-down regulator provides (some) protection for the Pi if the cable is mis-connected.</li>
</ul>
</div>
<div class="clearfix" id="double-inline-ads">
<div class="gpt-ad pull-left" id="gpt-ad-inline-med-1" style="display: inline-block; float: left; margin-right: 5px;">
</div>
<div class="gpt-ad pull-right" id="gpt-ad-inline-med-2" style="display: inline-block; float: right; margin-right: 5px;">
</div>
</div>
</div>
<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<h2 class="step-title" id="step2" style="color: inherit; font-family: inherit; font-size: 22px; line-height: normal; margin: 12px 0px; padding: 0px; text-rendering: optimizeLegibility;">
Step 2: You will need...</h2>
<div class="photoset" data-item-id="SASEFA5HYFNRBWI" data-item-url="http://www.instructables.com/id/PiPoE-powering-a-Raspberry-Pi-over-Ethernet/step2/You-will-need/" id="photoset-SASEFA5HYFNRBWI" style="background-color: #f6f6f6; border: 1px solid rgb(191, 191, 191); line-height: 0; margin-bottom: 35px; min-height: 109px; padding: 22px; position: relative; text-align: center;">
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SASEFA5HYFNRBWI" data-fancybox-href="http://cdn.instructables.com/F4U/XNTW/HYG04MHH/F4UXNTWHYG04MHH.LARGE.jpg" href="http://www.instructables.com/file/F4UXNTWHYG04MHH/" style="color: #e86c00; text-decoration: none;"><img alt="Picture of You will need..." data-image-id="F4UXNTWHYG04MHH" data-large-image="http://cdn.instructables.com/F4U/XNTW/HYG04MHH/F4UXNTWHYG04MHH.LARGE.jpg" data-medium-image="http://cdn.instructables.com/F4U/XNTW/HYG04MHH/F4UXNTWHYG04MHH.MEDIUM.jpg" data-notes="[]" data-orig-height="1901" data-orig-width="1876" data-original="http://cdn.instructables.com/F4U/XNTW/HYG04MHH/F4UXNTWHYG04MHH.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/F4U/XNTW/HYG04MHH/F4UXNTWHYG04MHH.SMALL.jpg" src="http://cdn.instructables.com/F4U/XNTW/HYG04MHH/F4UXNTWHYG04MHH.MEDIUM.jpg" style="border: 0px; height: auto; max-width: 1876px; vertical-align: middle; width: 600px;" /></a></div>
</div>
</div>
<div class="photoset-row cols-2" style="height: 394px; margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; padding-right: 2.5px; position: relative; vertical-align: top; width: 300px;">
<div class="photoset-item photoset-image" style="display: inline-block; height: 394px; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SASEFA5HYFNRBWI" data-fancybox-href="http://cdn.instructables.com/F4G/PKKR/HYNYKYL3/F4GPKKRHYNYKYL3.LARGE.jpg" href="http://www.instructables.com/file/F4GPKKRHYNYKYL3/" style="color: #e86c00; text-decoration: none;"><img alt="IMG_1043.JPG" class="lazy-img" data-image-id="F4GPKKRHYNYKYL3" data-large-image="http://cdn.instructables.com/F4G/PKKR/HYNYKYL3/F4GPKKRHYNYKYL3.LARGE.jpg" data-medium-image="http://cdn.instructables.com/F4G/PKKR/HYNYKYL3/F4GPKKRHYNYKYL3.MEDIUM.jpg" data-notes="[]" data-orig-height="2592" data-orig-width="1936" data-original="http://cdn.instructables.com/F4G/PKKR/HYNYKYL3/F4GPKKRHYNYKYL3.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/F4G/PKKR/HYNYKYL3/F4GPKKRHYNYKYL3.SMALL.jpg" src="http://cdn.instructables.com/F4G/PKKR/HYNYKYL3/F4GPKKRHYNYKYL3.MEDIUM.jpg" style="border: 0px; display: inline; height: auto; margin-top: 0px; max-width: none; vertical-align: middle; width: 297.5px;" /></a></div>
</div>
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; padding-left: 2.5px; position: relative; vertical-align: top; width: 300px;">
<div class="photoset-item photoset-image" style="display: inline-block; height: 394px; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SASEFA5HYFNRBWI" data-fancybox-href="http://cdn.instructables.com/FFK/Y85Q/HYG04PB4/FFKY85QHYG04PB4.LARGE.jpg" href="http://www.instructables.com/file/FFKY85QHYG04PB4/" style="color: #e86c00; text-decoration: none;"><img alt="IMG_1029 Network tester.jpg" class="lazy-img" data-image-id="FFKY85QHYG04PB4" data-large-image="http://cdn.instructables.com/FFK/Y85Q/HYG04PB4/FFKY85QHYG04PB4.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FFK/Y85Q/HYG04PB4/FFKY85QHYG04PB4.MEDIUM.jpg" data-notes="[]" data-orig-height="2592" data-orig-width="1936" data-original="http://cdn.instructables.com/FFK/Y85Q/HYG04PB4/FFKY85QHYG04PB4.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FFK/Y85Q/HYG04PB4/FFKY85QHYG04PB4.SMALL.jpg" src="http://cdn.instructables.com/FFK/Y85Q/HYG04PB4/FFKY85QHYG04PB4.MEDIUM.jpg" style="border: 0px; display: inline; height: auto; margin-top: 0px; max-width: none; vertical-align: middle; width: 297.5px;" /></a></div>
</div>
</div>
</div>
<div class="step-body" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
<div style="margin-bottom: 10px; margin-top: 3px;">
The project uses these components:</div>
<ul style="margin: 0px 0px 9px 25px; padding: 0px;">
<li style="line-height: normal;">A DC power supply - any voltage between 12V and 24V, regulated or unregulated, will do. In my tests, powering a Raspberry Pi used under 200mA at 15V, so make sure the supply is rated at least 250mA (at 15V) or 300mA (at 12V) for each Pi you will be powering.</li>
<li style="line-height: normal;">A passive PoE injector box. The one in the pictures was £7 on Amazon for a 4-port one - many other types are available.</li>
<li style="line-height: normal;">A short length of CAT5 cable with a RJ45 plug attached. (I cut the end off a short Ethernet patch lead where the plug on the other end had broken).</li>
<li style="line-height: normal;">A DC-DC step down converter module. (Search for 'LM2596' on Amazon or eBay - the one shown in the pictures was about £2).</li>
<li style="line-height: normal;">A PCB-mounting RJ45 socket.</li>
<li style="line-height: normal;">A two-pin 0.1" pitch socket (for a Raspberry Pi), or DC jack plug (for Beaglebone)</li>
<li style="line-height: normal;">A small piece of prototyping pad board. (Note this has to be <em>pad</em> board not strip board).</li>
<li style="line-height: normal;">Wire, cable ties</li>
</ul>
<div style="margin-bottom: 10px; margin-top: 3px;">
You will also need these tools:</div>
<ul style="margin: 0px 0px 9px 25px; padding: 0px;">
<li style="line-height: normal;">Fine-tipped soldering iron + solder</li>
<li style="line-height: normal;">Wire cutters, strippers, pliers, etc.</li>
<li style="line-height: normal;">A multimeter</li>
<li style="line-height: normal;">A drill with small (1mm) bits - a Dremel is ideal</li>
<li style="line-height: normal;">Optional: a network cable tester(see photo)</li>
</ul>
</div>
</div>
<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<h2 class="step-title" id="step3" style="color: inherit; font-family: inherit; font-size: 22px; line-height: normal; margin: 12px 0px; padding: 0px; text-rendering: optimizeLegibility;">
Step 3: Solder in the RJ45 socket</h2>
<div class="photoset" data-item-id="SB4P1K0HYG04MXO" data-item-url="http://www.instructables.com/id/PiPoE-powering-a-Raspberry-Pi-over-Ethernet/step3/Solder-in-the-RJ45-socket/" id="photoset-SB4P1K0HYG04MXO" style="background-color: #f6f6f6; border: 1px solid rgb(191, 191, 191); line-height: 0; margin-bottom: 35px; min-height: 109px; padding: 22px; position: relative; text-align: center;">
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SB4P1K0HYG04MXO" data-fancybox-href="http://cdn.instructables.com/FF3/TTK9/HYG04O8W/FF3TTK9HYG04O8W.LARGE.jpg" href="http://www.instructables.com/file/FF3TTK9HYG04O8W/" style="color: #e86c00; text-decoration: none;"><img alt="Picture of Solder in the RJ45 socket" data-image-id="FF3TTK9HYG04O8W" data-large-image="http://cdn.instructables.com/FF3/TTK9/HYG04O8W/FF3TTK9HYG04O8W.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FF3/TTK9/HYG04O8W/FF3TTK9HYG04O8W.MEDIUM.jpg" data-notes="[]" data-orig-height="2592" data-orig-width="1936" data-original="http://cdn.instructables.com/FF3/TTK9/HYG04O8W/FF3TTK9HYG04O8W.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FF3/TTK9/HYG04O8W/FF3TTK9HYG04O8W.SMALL.jpg" src="http://cdn.instructables.com/FF3/TTK9/HYG04O8W/FF3TTK9HYG04O8W.MEDIUM.jpg" style="border: 0px; height: auto; max-width: 1936px; vertical-align: middle; width: 463px;" /></a></div>
</div>
</div>
</div>
<div class="step-body" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
<div style="margin-bottom: 10px; margin-top: 3px;">
Life is never just <em>easy</em>, and the first problem is getting an RJ45 socket soldered into some 0.1"-pitch pad board.</div>
<div style="margin-bottom: 10px; margin-top: 3px;">
One row of pins will fit fine, but the other is offset, and you need to drill out holes in the board until they go in. Also, the plastic mounting lugs will need a bigger hole. The end result isn't pretty, but if you get 4 pins in OK, the socket will be pretty solid.</div>
</div>
</div>
<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<h2 class="step-title" id="step4" style="color: inherit; font-family: inherit; font-size: 22px; line-height: normal; margin: 12px 0px; padding: 0px; text-rendering: optimizeLegibility;">
Step 4: Wire up the DC-DC converter</h2>
<div class="photoset" data-item-id="SDCHH9UHYNYKZFC" data-item-url="http://www.instructables.com/id/PiPoE-powering-a-Raspberry-Pi-over-Ethernet/step4/Wire-up-the-DC-DC-converter/" id="photoset-SDCHH9UHYNYKZFC" style="background-color: #f6f6f6; border: 1px solid rgb(191, 191, 191); line-height: 0; margin-bottom: 35px; min-height: 109px; padding: 22px; position: relative; text-align: center;">
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SDCHH9UHYNYKZFC" data-fancybox-href="http://cdn.instructables.com/FHA/03LH/HYNYKZL9/FHA03LHHYNYKZL9.LARGE.jpg" href="http://www.instructables.com/file/FHA03LHHYNYKZL9/" style="color: #e86c00; text-decoration: none;"><img alt="Picture of Wire up the DC-DC converter " data-image-id="FHA03LHHYNYKZL9" data-large-image="http://cdn.instructables.com/FHA/03LH/HYNYKZL9/FHA03LHHYNYKZL9.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FHA/03LH/HYNYKZL9/FHA03LHHYNYKZL9.MEDIUM.jpg" data-notes="[]" data-orig-height="1936" data-orig-width="2592" data-original="http://cdn.instructables.com/FHA/03LH/HYNYKZL9/FHA03LHHYNYKZL9.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FHA/03LH/HYNYKZL9/FHA03LHHYNYKZL9.SMALL.jpg" src="http://cdn.instructables.com/FHA/03LH/HYNYKZL9/FHA03LHHYNYKZL9.MEDIUM.jpg" style="border: 0px; height: auto; max-width: 2592px; vertical-align: middle; width: 600px;" /></a></div>
</div>
</div>
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SDCHH9UHYNYKZFC" data-fancybox-href="http://cdn.instructables.com/FHG/QJDL/HYNYL07E/FHGQJDLHYNYL07E.LARGE.jpg" href="http://www.instructables.com/file/FHGQJDLHYNYL07E/" style="color: #e86c00; text-decoration: none;"><img alt="IMG_1023.JPG" class="lazy-img" data-image-id="FHGQJDLHYNYL07E" data-large-image="http://cdn.instructables.com/FHG/QJDL/HYNYL07E/FHGQJDLHYNYL07E.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FHG/QJDL/HYNYL07E/FHGQJDLHYNYL07E.MEDIUM.jpg" data-notes="[]" data-orig-height="2592" data-orig-width="1936" data-original="http://cdn.instructables.com/FHG/QJDL/HYNYL07E/FHGQJDLHYNYL07E.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FHG/QJDL/HYNYL07E/FHGQJDLHYNYL07E.SMALL.jpg" src="http://cdn.instructables.com/FHG/QJDL/HYNYL07E/FHGQJDLHYNYL07E.MEDIUM.jpg" style="border: 0px; display: inline; height: auto; max-width: 1936px; vertical-align: middle; width: 463px;" /></a></div>
</div>
</div>
</div>
<div class="step-body" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
<div style="margin-bottom: 10px; margin-top: 3px;">
The DC-DC converter module can now be mounted on the board. The one I bought had its input and output connections in the corners, which let me attach it using four Molex pins (see photo). Put the pins in right places in the pad board, then lower the module down over them, and soldered the top of each pin to the module. Then turn it all over and solder the bottom of each pin to the pad board.</div>
<div style="margin-bottom: 10px; margin-top: 3px;">
The next stage is wiring the converter's input to the RJ45 socket. This is best done by following the photo: the back row of pins on the socket are numbers 1,3,5,7 (left to right), and the front row are 2,4,6,8. You'll need to connect both pins 4 and 5 to the converter's +V input, and 7 and 8 to the -V (or Ground) input. These are the red and black wires, respectively, in the photo.</div>
<div style="margin-bottom: 10px; margin-top: 3px;">
At this stage, I would strongly recommend checking the connections are correct using a multimeter:</div>
<ul style="margin: 0px 0px 9px 25px; padding: 0px;">
<li style="line-height: normal;">connect the board to the PoE injector unit using a short RJ45 cable (make sure it's not a 'crossover' cable)</li>
<li style="line-height: normal;">check that the -V on the converter module is connected to the -V or ground on the injector's input socket</li>
<li style="line-height: normal;">check that the +V on the converter is connected to +V on the injector</li>
<li style="line-height: normal;">check for short circuits between the +V and -V on the converter</li>
</ul>
<div style="margin-bottom: 10px; margin-top: 3px;">
If all is well, apply power to the PoE injector and check that there is a corresponding voltage between the +V and -V input to the DC-DC converter. If so, check that you have +5V on the output terminals of the converter. (The module I bought had a trimmer to adjust the output voltage). <span style="font-weight: 700;">Please check the converter output voltage</span> before wiring this to the Pi, as the Pi will be damaged if it is too high.</div>
</div>
</div>
<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<h2 class="step-title" id="step5" style="color: inherit; font-family: inherit; font-size: 22px; line-height: normal; margin: 12px 0px; padding: 0px; text-rendering: optimizeLegibility;">
Step 5: Wire up the Ethernet connection</h2>
<div class="photoset" data-item-id="SEMW71IHYO8MQE5" data-item-url="http://www.instructables.com/id/PiPoE-powering-a-Raspberry-Pi-over-Ethernet/step5/Wire-up-the-Ethernet-connection/" id="photoset-SEMW71IHYO8MQE5" style="background-color: #f6f6f6; border: 1px solid rgb(191, 191, 191); line-height: 0; margin-bottom: 35px; min-height: 109px; padding: 22px; position: relative; text-align: center;">
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SEMW71IHYO8MQE5" data-fancybox-href="http://cdn.instructables.com/FYI/D2AJ/HYPO07AM/FYID2AJHYPO07AM.LARGE.jpg" href="http://www.instructables.com/file/FYID2AJHYPO07AM/" style="color: #e86c00; text-decoration: none;"><img alt="Picture of Wire up the Ethernet connection" data-image-id="FYID2AJHYPO07AM" data-large-image="http://cdn.instructables.com/FYI/D2AJ/HYPO07AM/FYID2AJHYPO07AM.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FYI/D2AJ/HYPO07AM/FYID2AJHYPO07AM.MEDIUM.jpg" data-notes="[]" data-orig-height="1024" data-orig-width="1371" data-original="http://cdn.instructables.com/FYI/D2AJ/HYPO07AM/FYID2AJHYPO07AM.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FYI/D2AJ/HYPO07AM/FYID2AJHYPO07AM.SMALL.jpg" src="http://cdn.instructables.com/FYI/D2AJ/HYPO07AM/FYID2AJHYPO07AM.MEDIUM.jpg" style="border: 0px; height: auto; max-width: 1371px; vertical-align: middle; width: 600px;" /></a></div>
</div>
</div>
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SEMW71IHYO8MQE5" data-fancybox-href="http://cdn.instructables.com/FMN/QNGG/HYPO07IW/FMNQNGGHYPO07IW.LARGE.jpg" href="http://www.instructables.com/file/FMNQNGGHYPO07IW/" style="color: #e86c00; text-decoration: none;"><img alt="IMG_1028.JPG" class="lazy-img" data-image-id="FMNQNGGHYPO07IW" data-large-image="http://cdn.instructables.com/FMN/QNGG/HYPO07IW/FMNQNGGHYPO07IW.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FMN/QNGG/HYPO07IW/FMNQNGGHYPO07IW.MEDIUM.jpg" data-notes="[]" data-orig-height="2592" data-orig-width="1936" data-original="http://cdn.instructables.com/FMN/QNGG/HYPO07IW/FMNQNGGHYPO07IW.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FMN/QNGG/HYPO07IW/FMNQNGGHYPO07IW.SMALL.jpg" src="http://cdn.instructables.com/FMN/QNGG/HYPO07IW/FMNQNGGHYPO07IW.MEDIUM.jpg" style="border: 0px; display: inline; height: auto; max-width: 1936px; vertical-align: middle; width: 463px;" /></a></div>
</div>
</div>
</div>
<div class="step-body" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
<div style="margin-bottom: 10px; margin-top: 3px;">
Here comes the tricky bit!</div>
<div style="margin-bottom: 10px; margin-top: 3px;">
Start by cutting off one end of the spare Ethernet cable, leaving about 20-25cm of the cable attached to one of the plugs. Strip off about 3cm the outer sheath, exposing the 8 cores in the cable, then strip a few mm from the end of each core.</div>
<div style="margin-bottom: 10px; margin-top: 3px;">
The Ethernet connection is made by connecting pins 1, 2, 3 and 6 on the RJ45 socket to the same pins on the plug. The standard ("T568B") wire colours for these are as follows:</div>
<ul style="margin: 0px 0px 9px 25px; padding: 0px;">
<li style="line-height: normal;">Pin 1 - white + orange stripe</li>
<li style="line-height: normal;">Pin 2 - orange</li>
<li style="line-height: normal;">Pin 3 - white + green stripe</li>
<li style="line-height: normal;">Pin 6 - green</li>
</ul>
<div style="margin-bottom: 10px; margin-top: 3px;">
It is worth checking (with a multimeter) that your cable follows these <em>before</em>soldering the wires in, as it'll be messy to put right afterwards. Once you have picked out the four wires you need, the other four can be snipped off, as they should be left unconnected.</div>
<div style="margin-bottom: 10px; margin-top: 3px;">
To attach the wires to the pins of the RJ45 socket, I found it helpful to drill out four of the holes in the pad board so the wires could be fed through from the top side. This holds them in the right place for soldering, and will provide some strain relief when assembled.</div>
<div style="margin-bottom: 10px; margin-top: 3px;">
When you're done, the socket should look something like the photograph (except, hopefully, a bit neater). To hold the cable in place, I drilled a couple of small slots in the pad board, then threaded through a small cable tie.</div>
</div>
</div>
<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<h2 class="step-title" id="step6" style="color: inherit; font-family: inherit; font-size: 22px; line-height: normal; margin: 12px 0px; padding: 0px; text-rendering: optimizeLegibility;">
Step 6: Connect power to the Pi</h2>
<div class="photoset" data-item-id="S1PX7THHYO8MQJA" data-item-url="http://www.instructables.com/id/PiPoE-powering-a-Raspberry-Pi-over-Ethernet/step6/Connect-power-to-the-Pi/" id="photoset-S1PX7THHYO8MQJA" style="background-color: #f6f6f6; border: 1px solid rgb(191, 191, 191); line-height: 0; margin-bottom: 35px; min-height: 109px; padding: 22px; position: relative; text-align: center;">
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-S1PX7THHYO8MQJA" data-fancybox-href="http://cdn.instructables.com/F07/GCJD/HYNYKY8Z/F07GCJDHYNYKY8Z.LARGE.jpg" href="http://www.instructables.com/file/F07GCJDHYNYKY8Z/" style="color: #e86c00; text-decoration: none;"><img alt="Picture of Connect power to the Pi" data-image-id="F07GCJDHYNYKY8Z" data-large-image="http://cdn.instructables.com/F07/GCJD/HYNYKY8Z/F07GCJDHYNYKY8Z.LARGE.jpg" data-medium-image="http://cdn.instructables.com/F07/GCJD/HYNYKY8Z/F07GCJDHYNYKY8Z.MEDIUM.jpg" data-notes="[]" data-orig-height="2592" data-orig-width="1936" data-original="http://cdn.instructables.com/F07/GCJD/HYNYKY8Z/F07GCJDHYNYKY8Z.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/F07/GCJD/HYNYKY8Z/F07GCJDHYNYKY8Z.SMALL.jpg" src="http://cdn.instructables.com/F07/GCJD/HYNYKY8Z/F07GCJDHYNYKY8Z.MEDIUM.jpg" style="border: 0px; height: auto; max-width: 1936px; vertical-align: middle; width: 463px;" /></a></div>
</div>
</div>
</div>
<div class="step-body" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
<div style="margin-bottom: 10px; margin-top: 3px;">
The Raspberry Pi can be most easily powered by connecting to the power pins on the GPIO header. The (original) Model A and B headers are described at<a href="http://www.raspberrypi.org/documentation/usage/gpio/" rel="nofollow" style="color: #e86c00; text-decoration: none;">http://www.raspberrypi.org/documentation/usage/gpi...</a> , and the newer Model B+ header is shown at <a href="http://www.element14.com/community/docs/DOC-68203/l/raspberry-pi-b-gpio-40-pin-block-pinout" rel="nofollow" style="color: #e86c00; text-decoration: none;">http://www.element14.com/community/docs/DOC-68203/...</a></div>
<div style="margin-bottom: 10px; margin-top: 3px;">
For either model, pins 4 (+5V) and 6 (Ground) are suitable connection points. I used a simple 2-pin 0.1" socket (Multicomp 2212S-02SG-85 from<a href="http://cpc.farnell.com/" rel="nofollow" style="color: #e86c00; text-decoration: none;">http://cpc.farnell.com</a>) wired as shown in the photo: the red wire is +5V and the green is ground. You may want to protect the connections with heat-shrink sleeving or a blob of silicone.</div>
</div>
</div>
<div class="step-container" style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px; padding-bottom: 26px;">
<h2 class="step-title" id="step7" style="color: inherit; font-family: inherit; font-size: 22px; line-height: normal; margin: 12px 0px; padding: 0px; text-rendering: optimizeLegibility;">
Step 7: Test and go!</h2>
<div class="photoset" data-item-id="SA969LTHYPO0889" data-item-url="http://www.instructables.com/id/PiPoE-powering-a-Raspberry-Pi-over-Ethernet/step7/Test-and-go/" id="photoset-SA969LTHYPO0889" style="background-color: #f6f6f6; border: 1px solid rgb(191, 191, 191); line-height: 0; margin-bottom: 35px; min-height: 109px; padding: 22px; position: relative; text-align: center;">
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SA969LTHYPO0889" data-fancybox-href="http://cdn.instructables.com/F5Y/NQQF/HYS100AW/F5YNQQFHYS100AW.LARGE.jpg" href="http://www.instructables.com/file/F5YNQQFHYS100AW/" style="color: #e86c00; text-decoration: none;"><img alt="Picture of Test and go!" data-image-id="F5YNQQFHYS100AW" data-large-image="http://cdn.instructables.com/F5Y/NQQF/HYS100AW/F5YNQQFHYS100AW.LARGE.jpg" data-medium-image="http://cdn.instructables.com/F5Y/NQQF/HYS100AW/F5YNQQFHYS100AW.MEDIUM.jpg" data-notes="[]" data-orig-height="1338" data-orig-width="2324" data-original="http://cdn.instructables.com/F5Y/NQQF/HYS100AW/F5YNQQFHYS100AW.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/F5Y/NQQF/HYS100AW/F5YNQQFHYS100AW.SMALL.jpg" src="http://cdn.instructables.com/F5Y/NQQF/HYS100AW/F5YNQQFHYS100AW.MEDIUM.jpg" style="border: 0px; height: auto; max-width: 2324px; vertical-align: middle; width: 600px;" /></a></div>
</div>
</div>
<div class="photoset-row cols-1" style="margin-bottom: 5px;">
<div class="photoset-cell image-cell" style="box-sizing: border-box; display: inline-block; position: relative; vertical-align: top;">
<div class="photoset-item photoset-image" style="display: inline-block; overflow: hidden; position: relative; zoom: 1;">
<a class="photoset-link" data-fancybox-group="photoset-gallery-SA969LTHYPO0889" data-fancybox-href="http://cdn.instructables.com/FSN/RJLD/HYS100EM/FSNRJLDHYS100EM.LARGE.jpg" href="http://www.instructables.com/file/FSNRJLDHYS100EM/" style="color: #e86c00; text-decoration: none;"><img alt="IMG_1048 whole system.JPG" class="lazy-img" data-image-id="FSNRJLDHYS100EM" data-large-image="http://cdn.instructables.com/FSN/RJLD/HYS100EM/FSNRJLDHYS100EM.LARGE.jpg" data-medium-image="http://cdn.instructables.com/FSN/RJLD/HYS100EM/FSNRJLDHYS100EM.MEDIUM.jpg" data-notes="[]" data-orig-height="1433" data-orig-width="2535" data-original="http://cdn.instructables.com/FSN/RJLD/HYS100EM/FSNRJLDHYS100EM.MEDIUM.jpg" data-pin-no-hover="true" data-small-image="http://cdn.instructables.com/FSN/RJLD/HYS100EM/FSNRJLDHYS100EM.SMALL.jpg" src="http://cdn.instructables.com/FSN/RJLD/HYS100EM/FSNRJLDHYS100EM.MEDIUM.jpg" style="border: 0px; display: inline; height: auto; max-width: 2535px; vertical-align: middle; width: 600px;" /></a></div>
</div>
</div>
</div>
<div class="step-body" style="font-size: 17px; line-height: 1.3em; margin: 20px; word-wrap: break-word;">
<div style="margin-bottom: 10px; margin-top: 3px;">
It's a good idea to give the wiring a final check before hooking up the Pi. Using a network tester or multimeter, check that lines 1, 2, 3 and 6 are connected through the RJ45 socket to the RJ45 plug (see photo). <span style="font-weight: 700;">Do not connect the network tester to the PoE injector when it is powered on</span>, as it will fry the LEDs in the tester.</div>
<div style="margin-bottom: 10px; margin-top: 3px;">
The whole system can now be assembled. The 'input' side of the PoE injector (marked 'LAN' in the photo) connects to a network hub / router. The 'output' side connects to the splitter board via a network cable (usually this will be much longer, of course). The RJ45 plug and power lead from the splitter board go to the Pi - double check the connection to the GPIO header before powering on.</div>
<div style="margin-bottom: 10px; margin-top: 3px;">
If all is well the Pi will boot when you apply power to the PoE injector, and it will have a connection to your network. Success!</div>
</div>
</div>
<br />Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-48582219840090979542016-03-03T20:32:00.002-08:002016-08-18T14:26:01.237-07:00iOS APP or LIBRARY with source code - a must HAVE<div style="background-color: white; box-sizing: border-box; margin-bottom: 10px;">
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Imageless Gradient Buttons </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">A subclass of UIButton that provides imageless gradients. Drop-in compatible with any project.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://code.google.com/archive/p/iphonegradientbuttons"><span class="s3">https:</span><span class="s1">//code.google.com/archive/p/iphonegradientbuttons</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">MKNumberBadgeView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A UIView subclass that mimics the look and feel of the red Springboard and UIBarButtonItem </span><span class="s4">'badges'</span><span class="s1">. Since it</span><span class="s4">'s a UIView, it can be overlaid on any other item.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/michaelkamprath/iPhoneMK/"><span class="s3">https:</span><span class="s1">//github.com/michaelkamprath/iPhoneMK/</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">PDColoredProgressview </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">An UIProgressview subclass with support </span><span class="s2">for</span><span class="s1"> setting a tint color instead of the boring </span><span class="s2">default</span><span class="s1"> blue.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/PascalW/PDColoredProgressview"><span class="s3">https:</span><span class="s1">//github.com/PascalW/PDColoredProgressview</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Gloss-Caustic Shader </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Reproduces the oft-seen glossy gradient effect</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/royratcliffe/gloss-caustic-shader"><span class="s3">https:</span><span class="s1">//github.com/royratcliffe/gloss-caustic-shader</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">WEPopover </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Generic popover implementation </span><span class="s2">for</span><span class="s1"> iOS with same API as the UIPopoverController </span><span class="s2">for</span><span class="s1"> the iPad, but configurable with custom background and available </span><span class="s2">for</span><span class="s1"> iPhone as well.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/werner77/WEPopover"><span class="s3">https:</span><span class="s1">//github.com/werner77/WEPopover</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">iOSPlot </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Draw line charts and pie charts in iOS.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/honcheng/iOSPlot"><span class="s3">https:</span><span class="s1">//github.com/honcheng/iOSPlot</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">MeterView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Dashboard-style gauges </span><span class="s2">for</span><span class="s1"> iOS.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/frankus/MeterView"><span class="s3">https:</span><span class="s1">//github.com/frankus/MeterView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">NAMapKit </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Allows you to use custom maps in iphone applications and attempts to mimics some of the behaviour of the MapKit framework.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/neilang/NAMapKit"><span class="s3">https:</span><span class="s1">//github.com/neilang/NAMapKit</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">TreeMapKit </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A tree map implementation </span><span class="s2">for</span><span class="s1"> Cocoa Touch. You can display tree maps in iPhone, iPod touch and iPad.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/yatsu/treemapkit"><span class="s3">https:</span><span class="s1">//github.com/yatsu/treemapkit</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">MNColorSelectionViewController </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A color picker </span><span class="s2">for</span><span class="s1"> iOS that tries to mimic the color picker Apple uses in the iWork iOS applications.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://bitbucket.org/aquarius/mnkit/"><span class="s3">https:</span><span class="s1">//bitbucket.org/aquarius/mnkit/</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">DCRoundSwitch </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">DCRoundSwitch is designed to be a drop in replacement </span><span class="s2">for</span><span class="s1"> UISwitch. It is styled </span><span class="s4">'modern'</span><span class="s1"> so will unify the look of your apps into the future whilst retaining backwards capability. Drawing is done in CoreGraphics so no images are required.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/domesticcatsoftware/DCRoundSwitch"><span class="s3">https:</span><span class="s1">//github.com/domesticcatsoftware/DCRoundSwitch</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">RSColorPicker </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Easy to use, simple to customize. HSV Color picker </span><span class="s2">for</span><span class="s1"> iPhone and iPad. Uses delegation and allows full control over brightness.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/RSully/RSColorPicker"><span class="s3">https:</span><span class="s1">//github.com/RSully/RSColorPicker</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">NDRotator </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">iOS GUI control element, representing a dial or touch disc.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/nathanday/ndrotator"><span class="s3">https:</span><span class="s1">//github.com/nathanday/ndrotator</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">XBPageCurl </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A page curl animation/transition </span><span class="s2">for</span><span class="s1"> views in iOS that intends to mimic the behavior of the pages in apps like iBooks and GoogleMaps </span><span class="s2">for</span><span class="s1"> iOS.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/xissburg/XBPageCurl"><span class="s3">https:</span><span class="s1">//github.com/xissburg/XBPageCurl</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">OCMapView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Simple and easy to use clustering mapView </span><span class="s2">for</span><span class="s1"> iOS.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/yinkou/OCMapView"><span class="s3">https:</span><span class="s1">//github.com/yinkou/OCMapView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">iRate </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A handy class that prompts users of your iPhone or Mac App Store app to rate your application after using it </span><span class="s2">for</span><span class="s1"> a </span><span class="s2">while</span><span class="s1">. Similar to Appirater, but with a simpler, cleaner interface and automatic support </span><span class="s2">for</span><span class="s1"> iOS fast application switching</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/nicklockwood/iRate"><span class="s3">https:</span><span class="s1">//github.com/nicklockwood/iRate</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">PSStackedView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Open source implementation of Twitter/iPad stacked ui - done right.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/steipete/PSStackedView"><span class="s3">https:</span><span class="s1">//github.com/steipete/PSStackedView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">F3BarGauge </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">customizable LED/LCD-like bar gauge </span><span class="s2">for</span><span class="s1"> iOS.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/ChiefPilot/F3BarGauge"><span class="s3">https:</span><span class="s1">//github.com/ChiefPilot/F3BarGauge</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">MotionJpegImageView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Generic UIImageView subclass designed to load and play Motion-JPEG streams such as commonly used with IP cameras, etc.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/mateagar/Motion-JPEG-Image-View-for-iOS"><span class="s3">https:</span><span class="s1">//github.com/mateagar/Motion-JPEG-Image-View-for-iOS</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">F3Swirly </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">The control uses Quartz </span><span class="s4">2</span><span class="s1">D and Core Animation to provide a reasonable level of performance with virtually no CPU overhead required </span><span class="s2">for</span><span class="s1"> the animation. The number of segments, segment color, segment thickness, rotation rate, and text can all be customized.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/ChiefPilot/F3Swirly"><span class="s3">https:</span><span class="s1">//github.com/ChiefPilot/F3Swirly</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">YLProgressBar </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Custom progress bar </span><span class="s2">for</span><span class="s1"> iOS (iPhone, iPad) with an animated background. It is build using the Core Graphics framework.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/YannickL/YLProgressBar"><span class="s3">https:</span><span class="s1">//github.com/YannickL/YLProgressBar</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">TweetBot like UIAlertView and UIActionSheet replacement </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p3">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s3">if you</span><span class="s1">'re sick and tired of the old UIActionSheet and UIAlertView'</span><span class="s3">s look or just can</span><span class="s1">'t do what you want with them, these classes are the answer to your prayers.</span></span></div>
<div class="p3">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s3">The classes can be easily customized to your look and feel and they</span><span class="s1">'re even easier to use than the iOS API classes because they use blocks for the actions, not a freaking delegate.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/gpambrozio/BlockAlertsAnd-ActionSheets"><span class="s3">https:</span><span class="s1">//github.com/gpambrozio/BlockAlertsAnd-ActionSheets</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">F3PlotStrip </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Plotting strip </span><span class="s2">for</span><span class="s1"> dynamic data which can also be used as a sparkline. Data may be supplied one value at a time (as when reading sensor or other data) or can be supplied as an NSArray (as when using as a sparkline). Color, plot width, etc. are all customizable. The control can also update a UILabel (or derivative) instance dynamically when values are added, and a user-specified format string allows you to control the formatting of the displayed value.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/ChiefPilot/F3PlotStrip"><span class="s3">https:</span><span class="s1">//github.com/ChiefPilot/F3PlotStrip</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Touchposé </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Touchposé is a set of classes </span><span class="s2">for</span><span class="s1"> iOS that renders screen touches when a device is connected to a mirrored display. Touchposé adds a transparent overlay to your app’s UI; all touch events cause semi-transparent circles to be rendered on the overlay—an essential tool when demoing an app with a projector (with an iPad </span><span class="s4">2</span><span class="s1"> or iPhone </span><span class="s4">4</span><span class="s1">S).</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/toddreed/Touchpose"><span class="s3">https:</span><span class="s1">//github.com/toddreed/Touchpose</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">UICircularSlider </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">an iOS UISlider which displays value in a circle / pie.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/Zedenem/UICircularSlider"><span class="s3">https:</span><span class="s1">//github.com/Zedenem/UICircularSlider</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">AURosetteView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">A good looking, animated share button.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/emilwojtaszek/AURosetteView"><span class="s3">https:</span><span class="s1">//github.com/emilwojtaszek/AURosetteView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">DAAnisotropicImage </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">DAAnisotropicImage is an anisotropic UIImage generator. Specifically, </span><span class="s2">for</span><span class="s1"> a metallic slider knob.</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">It was built to be an imitation of the volume slider thumb image in Apple</span><span class="s4">'s iOS 6.0 Music app.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/danielamitay/DAAnisotropicImage"><span class="s3">https:</span><span class="s1">//github.com/danielamitay/DAAnisotropicImage</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">KGauge </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">iOS UI component to display gauges with skins and different configuration options</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/xslim/TKGauge"><span class="s3">https:</span><span class="s1">//github.com/xslim/TKGauge</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">GPUImage </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p3">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s3">It</span><span class="s1">'s a framework that filters still images and video using openGL 2.0 filters. Similar to the XBImageFilters. There are already a ton of filters written for GPUImage including edge detection, lots of overlays, cartoon filters, etc</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/BradLarson/GPUImage"><span class="s3">https:</span><span class="s1">//github.com/BradLarson/GPUImage</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">FRD3DBarChart </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A </span><span class="s4">3</span><span class="s1">D bar chart control made with GLKit.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/sebastienwindal/FRD3DBarChart"><span class="s3">https:</span><span class="s1">//github.com/sebastienwindal/FRD3DBarChart</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">MTAnimatedLabel </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">MTAnimatedLabel, a UILabel subclass that supports animation like the iPhone lock screen.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/mturner1721/MTAnimatedLabel"><span class="s3">https:</span><span class="s1">//github.com/mturner1721/MTAnimatedLabel</span></a></span></div>
<div class="p2">
<span style="font-family: georgia, "times new roman", serif;"> </span><br />
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">PMCalendar </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Yet another calendar component </span><span class="s2">for</span><span class="s1"> iOS. Compatible with iOS </span><span class="s4">4.0</span><span class="s1"> (iPhone & iPad) and higher.</span></span></div>
<br />
<div class="p1">
</div>
<br />
<div class="p1" style="orphans: 2; text-align: start; text-indent: 0px; widows: 2;">
<div style="-webkit-text-stroke-width: 0px; color: black; font-family: Times; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: normal; letter-spacing: normal; line-height: normal; margin: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">
<span class="s1" style="font-family: georgia, "times new roman", serif;">PMCalendar supports selection of multiple dates within one or several months, could appear as a popover (</span><span class="s2" style="font-family: georgia, "times new roman", serif;">if</span><span class="s1" style="font-family: georgia, "times new roman", serif;"> you used UIPopoverController before, you</span><span class="s4" style="font-family: georgia, "times new roman", serif;">'ll find PMCalendar management very similar), supports orientation changes out of the box and does not require any third party frameworks.</span></div>
<div style="margin: 0px;">
<span class="s4" style="font-family: georgia, times new roman, serif;"><a href="https://github.com/kovpas/PMCalendar">https://github.com/kovpas/PMCalendar</a></span></div>
<div style="-webkit-text-stroke-width: 0px; color: black; font-family: Times; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: normal; letter-spacing: normal; line-height: normal; margin: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">
<span class="s4" style="font-family: georgia, "times new roman", serif;"><br /></span></div>
</div>
</div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Easy to use as a modalview at app launch </span><span class="s2">for</span><span class="s1"> example.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/mtonio91/AMLoginViewController"><span class="s3">https:</span><span class="s1">//github.com/mtonio91/AMLoginViewController</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Simple iCloud file management. Read, write, load, list files across devices.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/elpsk/iCloud-Helper"><span class="s3">https:</span><span class="s1">//github.com/elpsk/iCloud-Helper</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">INTULocationManager makes it easy to get the device</span><span class="s4">'s current location on iOS.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/intuit/LocationManager"><span class="s3">https:</span><span class="s1">//github.com/intuit/LocationManager</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">It`s just a simple and flat Digital Clock.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/minsOne/DigitClock"><span class="s3">https:</span><span class="s1">//github.com/minsOne/DigitClock</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">BRFlabbyTable is a set of classes that allow you to add a bouncy and distorted effect on a cell frame </span><span class="s2">while</span><span class="s1"> the table is scrolling. The </span><span class="s5">"flabbiness"</span><span class="s1"> of the cells is based on the speed of scrolling. Upon pressing and dragging, the highlighted cell grows around the touch area</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/brocoo/BRFlabbyTable"><span class="s3">https:</span><span class="s1">//github.com/brocoo/BRFlabbyTable</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A Star algorithm implementation </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/williamklein/A-Star-algorithm-for-iOS"><span class="s3">https:</span><span class="s1">//github.com/williamklein/A-Star-algorithm-for-iOS</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Visualize touches, pans and </span><span class="s2">long</span><span class="s1"> presses on your iPhone or iPad useful when recording video tutorial</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/conopsys/COSTouchVisualizer"><span class="s3">https:</span><span class="s1">//github.com/conopsys/COSTouchVisualizer</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Tabbed Split View Controller </span><span class="s2">for</span><span class="s1"> iPad is a custom split view controller, with vertical left tabbar control </span><span class="s2">for</span><span class="s1"> navigation between master view controllers. Tabbar contains tabs </span><span class="s2">for</span><span class="s1"> navigation between view controllers and actions buttons </span><span class="s2">for</span><span class="s1"> some actions (</span><span class="s2">for</span><span class="s1"> example, exit from application). Also it can be used without tabbar control as customizable alternative UISplitViewController.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/sergik-ru/SMTabbedSplitViewController"><span class="s3">https:</span><span class="s1">//github.com/sergik-ru/SMTabbedSplitViewController</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Custom UIButton effect inspired by Google Material Design</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/zoonooz/ZFRippleButton"><span class="s3">https:</span><span class="s1">//github.com/zoonooz/ZFRippleButton</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p3">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s3">Flat colors taken from Google</span><span class="s1">'s Material Design: Paper. <a href="http://www.google.com/design/spec/style/color.html">http://www.google.com/design/spec/style/color.html</a></span></span></div>
<div class="p3">
<a href="https://github.com/bfeher/BFPaperColors" style="font-family: georgia, "times new roman", serif;"><span class="s3" style="font-family: georgia, "times new roman", serif;">https:</span><span class="s1" style="font-family: georgia, "times new roman", serif;">//github.com/bfeher/BFPaperColors</span></a><br />
<br /></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Switch is a UIControl subclass that creates a UISwitch like control with provided image.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/taruntyagi697/Switch"><span class="s3">https:</span><span class="s1">//github.com/taruntyagi697/Switch</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">View showing circular chart with customizable number and range of colors on outer ring with background transparency/colors configuration. There is also an option to show legend. You can customize legends labels & dots, change its position (top/bottom/left/right). Call heightForChartSize: method on legendView to get height </span><span class="s2">for</span><span class="s1"> selected width and chart radius.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/natalia-osa/CircleStatus"><span class="s3">https:</span><span class="s1">//github.com/natalia-osa/CircleStatus</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">This is a simple popup menu </span><span class="s2">for</span><span class="s1"> iOS. Inspired by iOS7 grouping folder (loook alike) in the springboard. Is is purely based on UIView. Includes flats looks, callbacks using blocks & several options </span><span class="s2">for</span><span class="s1"> curved corners & flat corners, bordered popup. This control supports paging using scrolls, so that user can add n number of menu items to the popUp. Any menu when selected creates a ripple effect on the tapped item</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/balram3429/btSimplePopUp"><span class="s3">https:</span><span class="s1">//github.com/balram3429/btSimplePopUp</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Easily present the latest changes and features to your users on app updates.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/mdznr/What-s-New"><span class="s3">https:</span><span class="s1">//github.com/mdznr/What-s-New</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Internet Connection Indicator </span><span class="s2">for</span><span class="s1"> iOS application. Shows you when there</span><span class="s4">'s now internet connection.</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Will improve the chance you get accepted to the App Store, </span><span class="s2">for</span><span class="s1"> apple requires you to warn the user when there</span><span class="s4">'s no connection.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/samuelbeek/SMBInternetConnectionIndicator"><span class="s3">https:</span><span class="s1">//github.com/samuelbeek/SMBInternetConnectionIndicator</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">an iOS table view of </span><span class="s4">2014</span><span class="s1"> world cup countries by groups, to save the mechanical works related to </span><span class="s4">2014</span><span class="s1"> world cup app</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/airbob/iOS-tableview-of-2014-world-cup"><span class="s3">https:</span><span class="s1">//github.com/airbob/iOS-tableview-of-2014-world-cup</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Secret app like text animation</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/zipme/RQShineLabel"><span class="s3">https:</span><span class="s1">//github.com/zipme/RQShineLabel</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">This is a UIBarButtonItem category to add a badge icon on any UIBarButtonItem.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/mikeMTOL/UIBarButtonItem-Badge"><span class="s3">https:</span><span class="s1">//github.com/mikeMTOL/UIBarButtonItem-Badge</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">An easy way to show historical price graphs </span><span class="s2">for</span><span class="s1"> any stock.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/jconst/JCStockGraph"><span class="s3">https:</span><span class="s1">//github.com/jconst/JCStockGraph</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">UIControl subclass like iOS </span><span class="s4">7</span><span class="s1"> Phone app button</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/mrcrow/MRoundedButton"><span class="s3">https:</span><span class="s1">//github.com/mrcrow/MRoundedButton</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">UIColor Category </span><span class="s2">for</span><span class="s1"> Brand Colors</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/dkhamsing/BrandColors"><span class="s3">https:</span><span class="s1">//github.com/dkhamsing/BrandColors</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">ACPReminder provides automatic local notifications.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/antoniocasero/ACPReminder"><span class="s3">https:</span><span class="s1">//github.com/antoniocasero/ACPReminder</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">SQL and SQLite database manage on iOS made easy. Create, open, rename and delete databases with AFSQLManager, a block-driven iOS SQL and SQLite manager class. Perform queries never has been that easy!</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/AlvaroFranco/AFSQLManager"><span class="s3">https:</span><span class="s1">//github.com/AlvaroFranco/AFSQLManager</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">You can add a near </span><span class="s5">"Linear Shadow Color"</span><span class="s1"> choosing a color like [UIColor redColor] or you can use </span><span class="s5">"Linear Shadow"</span><span class="s1"> based on a photo, this will find the average color and add a shadow.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/nthegedus/NHLinearShadow"><span class="s3">https:</span><span class="s1">//github.com/nthegedus/NHLinearShadow</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">A progress view showing percentage complete in an easy to customize animated popup view. If you supply an array of UIColors, the popup view will animate the color change as the progress bar updates</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/alskipp/ASProgressPopUpView"><span class="s3">https:</span><span class="s1">//github.com/alskipp/ASProgressPopUpView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">This demo application extracts frames from videos.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/DipenPanchasara/FrameExtractor"><span class="s3">https:</span><span class="s1">//github.com/DipenPanchasara/FrameExtractor</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A flat and light implementation of UIButton </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/barbosa/GBFlatButton"><span class="s3">https:</span><span class="s1">//github.com/barbosa/GBFlatButton</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">UICollectionViewLayout subclass </span><span class="s2">for</span><span class="s1"> displaying electronic program guide.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/inspace-io/INSElectronicProgramGuideLayout"><span class="s3">https:</span><span class="s1">//github.com/inspace-io/INSElectronicProgramGuideLayout</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Easy to use </span><span class="s2">auto</span><span class="s1">-hiding notice bar below Navigation Bar</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/ask-fm/AFMInfoBanner"><span class="s3">https:</span><span class="s1">//github.com/ask-fm/AFMInfoBanner</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Material Design Icons are the official open-source icons featured in the Google Material Design specification.</span></span></div>
<div class="p3">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s3">What</span><span class="s1">'s included?</span></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">SVG versions of all icons in both </span><span class="s4">24</span><span class="s1">px and </span><span class="s4">48</span><span class="s1">px flavours</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">SVG and CSS sprites of all icons</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s4">1</span><span class="s1">x, </span><span class="s4">2</span><span class="s1">x icons targeted at the Web (PNG)</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s4">1</span><span class="s1">x, </span><span class="s4">2</span><span class="s1">x, </span><span class="s4">3</span><span class="s1">x icons targeted at iOS (PNG)</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Hi-dpi versions of all icons (hdpi, mdpi, xhdpi, xxhdpi, xxxhdpi) (PNG)</span></span></div>
<div class="p4">
<a href="https://github.com/google/material-design-icons"><span class="s3" style="font-family: "georgia" , "times new roman" , serif; font-size: small; line-height: 1.1;">https:</span><span class="s1" style="font-family: "georgia" , "times new roman" , serif; font-size: small; line-height: 1.1;">//github.com/google/material-design-icons</span></a></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Interesting SGProgressIndicator multiple inner circle</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/salvatoregraf/SGProgressIndicator"><span class="s3">https:</span><span class="s1">//github.com/salvatoregraf/SGProgressIndicator</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">MMPulseView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/adad184/MMPulseView"><span class="s3">https:</span><span class="s1">//github.com/adad184/MMPulseView</span></a></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">A simple view to show circle pulse in a loop</span></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A simple line chart library </span><span class="s2">for</span><span class="s1"> iOS that is easily adjustable (size, color, line width, label displayed,...). It comes with a nice and subtle appearing animation.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/ArthurGuibert/FSLineChart"><span class="s3">https:</span><span class="s1">//github.com/ArthurGuibert/FSLineChart</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Animated Alert View written in Objective-C, which can be used as a UIAlertView or UIAlertController replacement</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/dogo/SCLAlertView"><span class="s3">https:</span><span class="s1">//github.com/dogo/SCLAlertView</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A replacement class </span><span class="s2">for</span><span class="s1"> CLLocationManager </span><span class="s2">for</span><span class="s1"> when you want to easily fetch just once the current device location</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/icanzilb/OneShotLocationManager"><span class="s3">https:</span><span class="s1">//github.com/icanzilb/OneShotLocationManager</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">A simple way to debug your view hierarchy</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/tapthaker/DebugView"><span class="s3">https:</span><span class="s1">//github.com/tapthaker/DebugView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Objective-C library </span><span class="s2">for</span><span class="s1"> detecting running device model and screen size.</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">With the newer </span><span class="s6"></span><span class="s1"> devices, developers have more work to </span><span class="s2">do</span><span class="s1">. This library simplifies their job by allowing them to get information about the running device and easily target the ones they want.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/sebyddd/SDVersion"><span class="s3">https:</span><span class="s1">//github.com/sebyddd/SDVersion</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Color blindness simulation in real time </span><span class="s2">for</span><span class="s1"> iOS apps.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/shilgapira/Vangogh"><span class="s3">https:</span><span class="s1">//github.com/shilgapira/Vangogh</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Unlike other similar controls with low performance and lagging with UITableView. MIBadgeButton is badge button with high UITableView/UICollectionView performance. iOS custom button badge designed </span><span class="s2">for</span><span class="s1"> iOS </span><span class="s4">6</span><span class="s1"> & </span><span class="s4">7</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/mustafaibrahim989/MIBadgeButton"><span class="s3">https:</span><span class="s1">//github.com/mustafaibrahim989/MIBadgeButton</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">JYGraphView is an easy way to graph data in a simple and minimalist style. It is easy to get up and running and highly customisable. The sample app helps you configure your desired graph</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/johnyorke/JYGraphView"><span class="s3">https:</span><span class="s1">//github.com/johnyorke/JYGraphView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">MALoggingViewController is a real-time pseudo-console you can embed in your application, perfect </span><span class="s2">for</span><span class="s1"> testing and debugging in the real world.</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Whether you are determining the reliability of network traffic </span><span class="s2">while</span><span class="s1"> driving through areas with poor service, testing push notifications on ad-hoc builds </span><span class="s2">while</span><span class="s1"> not connected to Xcode, or working out those pesky Core Location bugs, there</span><span class="s4">'s no need to carry around half of your development environment with you.</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">No more driving around town with the Xcode console open, or having to handle logging to files and emailing them later to figure out what the heck happened - you can see all the data on your device, anywhere, in real time.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/mamaral/MALoggingViewController"><span class="s3">https:</span><span class="s1">//github.com/mamaral/MALoggingViewController</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p3">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s3">A drop in solution to show UIView</span><span class="s1">'s size. Only one line code to use it</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/adad184/MMPlaceHolder"><span class="s3">https:</span><span class="s1">//github.com/adad184/MMPlaceHolder</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">A UIColor category that returns the opposite value from any color</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/jxtmo/ComplementaryColor"><span class="s3">https:</span><span class="s1">//github.com/jxtmo/ComplementaryColor</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Replacement </span><span class="s2">for</span><span class="s1"> UIActionSheet on iOS </span><span class="s4">7</span><span class="s1">, with customizable fonts and colors, and block-based actions.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/jaredsinclair/JTSActionSheet"><span class="s3">https:</span><span class="s1">//github.com/jaredsinclair/JTSActionSheet</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Convert any UIImage to ascii art</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/bkoc/BKAsciiImage"><span class="s3">https:</span><span class="s1">//github.com/bkoc/BKAsciiImage</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Pick color with image view.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/Darktt/ColorPicker"><span class="s3">https:</span><span class="s1">//github.com/Darktt/ColorPicker</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">AFMSlidingCell is UITableViewCell subclass </span><span class="s2">for</span><span class="s1"> showing any kind of buttons underneath the cell, revealable by swipe. It is a common way of displaying any cell-related actions (e.g. deletion) without overloading </span><span class="s2">default</span><span class="s1"> UI.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/ask-fm/AFMSlidingCell"><span class="s3">https:</span><span class="s1">//github.com/ask-fm/AFMSlidingCell</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Detects the hardware, software and display of the current iOS or Mac OS X device at runtime.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/lmirosevic/GBDeviceInfo"><span class="s3">https:</span><span class="s1">//github.com/lmirosevic/GBDeviceInfo</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Checks </span><span class="s2">if</span><span class="s1"> there is a newer version of your app in the AppStore and alerts the user to update the app.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/emotality/ATAppUpdater"><span class="s3">https:</span><span class="s1">//github.com/emotality/ATAppUpdater</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Cool-iOS-Camera is a customizable and modern camera implementation that resolution adaptable to all iOS devices.</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Features: - Extremely simple and easy to use - Customizable interface - Code-made UI assets that </span><span class="s2">do</span><span class="s1"> not loose resolution quality & resize dynamically depending on the screen size of the device. - Added animations to the UI elements </span><span class="s2">for</span><span class="s1"> a more intuitive and responsive feel. - Overlays over any presented view controller or view - Made </span><span class="s2">for</span><span class="s1"> iPhone & iPad - Built </span><span class="s2">for</span><span class="s1"> iOS </span><span class="s4">8</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/GabrielAlva/Cool-iOS-Camera"><span class="s3">https:</span><span class="s1">//github.com/GabrielAlva/Cool-iOS-Camera</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">A mesmerizing view with lots of options. It is meant to be used with BFRadialWaveHUD, but you are free to take it :)</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/bfeher/BFRadialWaveView"><span class="s3">https:</span><span class="s1">//github.com/bfeher/BFRadialWaveView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">A progress HUD using BFRadialWaveView.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/bfeher/BFRadialWaveHUD"><span class="s3">https:</span><span class="s1">//github.com/bfeher/BFRadialWaveHUD</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Summon Uber from your app with </span><span class="s4">2</span><span class="s1"> lines of code.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/gpolak/GPUberView"><span class="s3">https:</span><span class="s1">//github.com/gpolak/GPUberView</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">GTrack is a lightweight Objective-C wrapper around the Google Analytics </span><span class="s2">for</span><span class="s1"> iOS SDK with some extra goodies.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/gemr/GTrack"><span class="s3">https:</span><span class="s1">//github.com/gemr/GTrack</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">iPerspective is a iOS librarie of control with augmented reality.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s3">https:</span><span class="s1">//github.com/ericpinet/iPerspective</span></span></div>
<div class="p3">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s3">JTMaterialSwitch is google</span><span class="s1">'s material design like switch UI with animation features.</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">This library has cool and sophisticated animations, ripple effect and bounce effect. Also, customizable properties can be tweaked behaviors and enhance your application UI richer and cooler.</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">With this library, you can easily implement material design </span><span class="s2">switch</span><span class="s1"> to your app.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/JunichiT/JTMaterialSwitch"><span class="s3">https:</span><span class="s1">//github.com/JunichiT/JTMaterialSwitch</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">This is a modification to ZFPlotChart that includes line, bar, and scatter plot options</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/sunnysideprodcorp/Objective-C_Modified_ZFPlot"><span class="s3">https:</span><span class="s1">//github.com/sunnysideprodcorp/Objective-C_Modified_ZFPlot</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Simple, easy to use and customizable loading indicator (loader) </span><span class="s2">for</span><span class="s1"> iOS applications.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/BLPoonia/BLLoader"><span class="s3">https:</span><span class="s1">//github.com/BLPoonia/BLLoader</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Makes Copy Xcode Issue Description Easily, Support Finding Answers in Google or StackOverflow Directly</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/hanton/CopyIssue-Xcode-Plugin"><span class="s3">https:</span><span class="s1">//github.com/hanton/CopyIssue-Xcode-Plugin</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">An Objective-C clone of github/ariok/BWWalkthrough using only XIB files, no storyboards</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/n6xej/CSWXIBWalkThrough"><span class="s3">https:</span><span class="s1">//github.com/n6xej/CSWXIBWalkThrough</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A simple horizontal ColorPicker </span><span class="s2">for</span><span class="s1"> iOS apps. Easy to add in your project.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/Cclleemm/CRColorPicker"><span class="s3">https:</span><span class="s1">//github.com/Cclleemm/CRColorPicker</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">LMGaugeView is a simple and customizable gauge control </span><span class="s2">for</span><span class="s1"> iOS.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/lminhtm/LMGaugeView"><span class="s3">https:</span><span class="s1">//github.com/lminhtm/LMGaugeView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Replacement </span><span class="s2">for</span><span class="s1"> UIAlertController/UIAlertView with support </span><span class="s2">for</span><span class="s1"> content views and UI customization.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/nealyoung/NYAlertViewController"><span class="s3">https:</span><span class="s1">//github.com/nealyoung/NYAlertViewController</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Support rotation and click event, Support replace image.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/lijingcheng/JCWheelView"><span class="s3">https:</span><span class="s1">//github.com/lijingcheng/JCWheelView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">iOS pull to refresh </span><span class="s2">for</span><span class="s1"> UIScrollView, UITableView and UICollectionView</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/Friend-LGA/LGRefreshView"><span class="s3">https:</span><span class="s1">//github.com/Friend-LGA/LGRefreshView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">AlertView with PickerView and Switch</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/danny-source/DYAlertPickerViewDemo"><span class="s3">https:</span><span class="s1">//github.com/danny-source/DYAlertPickerViewDemo</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">JTAlertView is the new wonderful dialog/HUD/alert kind of View. It was also designed to cover user’s needs during customization. Created with delightful combination of image, parallax and pop effects, JTAlertView improves your user experience.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/kubatru/JTAlertView"><span class="s3">https:</span><span class="s1">//github.com/kubatru/JTAlertView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A menu implementation with a slide in menu similar to Medium</span><span class="s4">'s menu.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/edwinbosire/DropMenu"><span class="s3">https:</span><span class="s1">//github.com/edwinbosire/DropMenu</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">DGActivityIndicatorView is a great way to make loading spinners in your application look nicer. It contains </span><span class="s4">6</span><span class="s1"> different indicator view styles.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/gontovnik/DGActivityIndicatorView"><span class="s3">https:</span><span class="s1">//github.com/gontovnik/DGActivityIndicatorView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">BTBalloon is a custom UIView subclass that will display text and optionally an image and/or button in a balloon style popup. You could use this view as tool tips to highlight various parts of your apps UI, or create an interactive tutorial (see example project). Think of BTBalloon views as being a cross-between UIAlertView and UIPopover.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/brightec/BTBalloon"><span class="s3">https:</span><span class="s1">//github.com/brightec/BTBalloon</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A Comprehensive PathFinding Library </span><span class="s2">for</span><span class="s1"> Objective-C</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/wbcyclist/PathFindingForObjC"><span class="s3">https:</span><span class="s1">//github.com/wbcyclist/PathFindingForObjC</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">The LGSublimationView is a view that has a cool paging animation on its UIScrollView. The effect it gives off is that there are views behind the scroll view that don</span><span class="s4">'t scroll with the scroll view. Rather, when the scroll view pages, they cross disolve into one another</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/lukegeiger/LGSublimationView"><span class="s3">https:</span><span class="s1">//github.com/lukegeiger/LGSublimationView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A Floating Action Button inspired from Google inbox </span><span class="s2">for</span><span class="s1"> iOS.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/gizmoboy7/VCFloatingActionButton"><span class="s3">https:</span><span class="s1">//github.com/gizmoboy7/VCFloatingActionButton</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A simple color slider </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/RGSSoftware/RGSColorSlider"><span class="s3">https:</span><span class="s1">//github.com/RGSSoftware/RGSColorSlider</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">MaterialDesignSymbolObjC</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/tichise/MaterialDesignSymbolObjC"><span class="s3">https:</span><span class="s1">//github.com/tichise/MaterialDesignSymbolObjC</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Icon font library </span><span class="s2">for</span><span class="s1"> Objective C</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/tichise/EntypoSymbolObjC"><span class="s3">https:</span><span class="s1">//github.com/tichise/EntypoSymbolObjC</span></a></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Themis</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Crypto library </span><span class="s2">for</span><span class="s1"> storage and messaging </span><span class="s2">for</span><span class="s1"> ObjC, Android, С++, JS, Python, Ruby and PHP <a href="https://www.cossacklabs.com/">https:</a></span><span class="s7"><a href="https://www.cossacklabs.com/">//www.cossacklabs.com/ </a></span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/cossacklabs/themis"><span class="s3">https:</span><span class="s1">//github.com/cossacklabs/themis</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">UzysAnimatedGifPullToRefresh</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Add PullToRefresh using animated GIF to any scrollView with just simple code </span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/uzysjung/UzysAnimatedGifPullToRefresh"><span class="s3">https:</span><span class="s1">//github.com/uzysjung/UzysAnimatedGifPullToRefresh</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">VBFPopFlatButton</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Flat button with </span><span class="s4">9</span><span class="s1"> different states using POP</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/victorBaro/VBFPopFlatButton"><span class="s3">https:</span><span class="s1">//github.com/victorBaro/VBFPopFlatButton</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">MZTimerLabel</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A handy class </span><span class="s2">for</span><span class="s1"> iOS to use UILabel as a countdown timer or stopwatch just like in Apple Clock App. </span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/mineschan/MZTimerLabel"><span class="s3">https:</span><span class="s1">//github.com/mineschan/MZTimerLabel</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">CZPicker</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">a picker view shown as a popup </span><span class="s2">for</span><span class="s1"> iOS in Objective-C </span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/chenzeyu/CZPicker"><span class="s3">https:</span><span class="s1">//github.com/chenzeyu/CZPicker</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">VLDContextSheet</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Context menu similar to the one in the Pinterest iOS app </span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/vangelov/VLDContextSheet"><span class="s3">https:</span><span class="s1">//github.com/vangelov/VLDContextSheet</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s4">4160</span><span class="s1"> open source UI components</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s2">for</span><span class="s1"> iOS and OS X.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://www.cocoacontrols.com/"><span class="s3">https:</span><span class="s1">//www.cocoacontrols.com</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">VolumeControl</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">VolumeControl is a custom volume control </span><span class="s2">for</span><span class="s1"> iPhone featuring a well-designed round slider</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/12Rockets/VolumeControl"><span class="s3">https:</span><span class="s1">//github.com/12Rockets/VolumeControl</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Actionsheetpicker-</span><span class="s4">3.0</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Quickly reproduce the dropdown UIPickerView / ActionSheet functionality from Safari on iPhone/ iOS / CocoaTouch</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="http://skywinder.github.io/ActionSheetPicker-3.0/"><span class="s3">http:</span><span class="s1">//skywinder.github.io/ActionSheetPicker-3.0/</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">ValueStepper</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">A Stepper object that displays its value.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/BalestraPatrick/ValueStepper"><span class="s3">https:</span><span class="s1">//github.com/BalestraPatrick/ValueStepper</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">SWRevealViewController</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A UIViewController subclass </span><span class="s2">for</span><span class="s1"> presenting side view controllers inspired on the FaceBook and Wunderlist apps, done right !</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/John-Lluch/SWRevealViewController"><span class="s3">https:</span><span class="s1">//github.com/John-Lluch/SWRevealViewController</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">CBZSplashView</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Twitter style Splash Screen View. Grows to reveal the Initial view behind </span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/callumboddy/CBZSplashView"><span class="s3">https:</span><span class="s1">//github.com/callumboddy/CBZSplashView</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">GaugeKit</span></span></div>
<div class="p3">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s3">Kit </span><span class="s2">for</span><span class="s3"> building custom gauges + easy reproducible Apple</span><span class="s1">'s style ring gauges. <a href="https://www.cocoacontrols.com/controls/gaugekit">https://www.cocoacontrols.com/controls/gaugekit </a> </span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/skywinder/GaugeKit"><span class="s3">https:</span><span class="s1">//github.com/skywinder/GaugeKit</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">AESCrypt-ObjC - Simple AES encryption / decryption </span><span class="s2">for</span><span class="s1"> iOS and OS X</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/Gurpartap/AESCrypt-ObjC"><span class="s3">https:</span><span class="s1">//github.com/Gurpartap/AESCrypt-ObjC</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Simple class </span><span class="s2">for</span><span class="s1"> iOS that shows nice popup windows.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/psy2k/NMPopUpView"><span class="s3">https:</span><span class="s1">//github.com/psy2k/NMPopUpView</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">This iOS framework allows settings to be in-app in addition to or instead of being in the Settings app.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/futuretap/InAppSettingsKit"><span class="s3">https:</span><span class="s1">//github.com/futuretap/InAppSettingsKit</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Easy to use and customizable messages/notifications </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/KrauseFx/TSMessages"><span class="s3">https:</span><span class="s1">//github.com/KrauseFx/TSMessages</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">iOS </span><span class="s4">7</span><span class="s1"> radial animated progress view.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/mehfuzh/MHRadialProgressView"><span class="s3">https:</span><span class="s1">//github.com/mehfuzh/MHRadialProgressView</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">CircleProgressView</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/CardinalNow/iOS-CircleProgressView"><span class="s3">https:</span><span class="s1">//github.com/CardinalNow/iOS-CircleProgressView</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A curated list of awesome iOS frameworks, libraries, tutorials, Xcode plugins, components and much more. The list is divided into categories such as Frameworks, Components, Testing and others, open source projects, free and paid services. There is no pre-established order of items in each category, the order is </span><span class="s2">for</span><span class="s1"> contribution. If you want to contribute, please read the guide.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/vsouza/awesome-ios/blob/master/README.md#activity-indicator"><span class="s3">https:</span><span class="s1">//github.com/vsouza/awesome-ios/blob/master/README.md#activity-indicator</span></a></span></div>
<div class="p4">
<br /></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">OLGhostAlertView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">OLGhostAlertView allows you to present a translucent view with a title and an optional message on the bottom of the screen. Use it to inform your user about temporary issues that </span><span class="s2">do</span><span class="s1"> not require any immediate action and are not blocking the flow of your app.</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">OLGhostAlertView can have a title and an optional message, in a way similar to UIAlertView. It automatically fades out after a configurable time interval and, by </span><span class="s2">default</span><span class="s1">, can be dismissed with a tap. It can automatically adapt its size according to the device it</span><span class="s4">'s being deployed on, user interface orientation and length of the strings passed to it.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/ondalabs/OLGhostAlertView"><span class="s3">https:</span><span class="s1">//github.com/ondalabs/OLGhostAlertView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">ColorPopover </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A ColorPopover is a very simple component </span><span class="s2">for</span><span class="s1"> iPhone/iPad that provides a </span><span class="s5">"Popover"</span><span class="s1"> color picker.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/gazolla/ColorPopover"><span class="s3">https:</span><span class="s1">//github.com/gazolla/ColorPopover</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">DSFavIconManager </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">DSFavIconManager is a complete solution </span><span class="s2">for</span><span class="s1"> displaying favicons.</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Features:</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Download a favicon from the URL. Fast and concurrent.</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Cache icons in memory and in disk. It doesn</span><span class="s4">'t uses a full blown HTML parser.</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Optional fall-back to apple touch icons </span><span class="s2">for</span><span class="s1"> retina displays.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/Discontinuity-srl/DSFavIconManager"><span class="s3">https:</span><span class="s1">//github.com/Discontinuity-srl/DSFavIconManager</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">PTSSpringBoard </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A springboard implementation, as know from the Apple iOS main screen. Supports moving and deletion of items. Work with all interface orientations and </span><span class="s2">for</span><span class="s1"> different screen-sizes. Was tested with the iPhone (should work on the iPad too).</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">The PTSSpringBoard uses a UITableView like delegation pattern to communicate with its data source and delegate.</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">The code is documented - and the demo project should demonstrate the possibilities of the class.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/ppanopticon/PTSSpringboard"><span class="s3">https:</span><span class="s1">//github.com/ppanopticon/PTSSpringboard</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">KGModal </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">KGModal is an easy drop in control that allows you to display any view in a modal popup. The modal will automatically scale to fit the content view and center it on screen with nice animations!</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/kgn/KGModal"><span class="s3">https:</span><span class="s1">//github.com/kgn/KGModal</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">ALRadial </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p3">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s3">ALRadial is meant to replicate the radial menu</span><span class="s1">'s found in the path ios app. a central button is used to display many buttons flung out in a circle.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s3">video: http:</span><span class="s1">//youtu.be/9uszKz4Ct8U</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/alattis/ALRadial"><span class="s3">https:</span><span class="s1">//github.com/alattis/ALRadial</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">KYArcTab </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p2">
<span class="s1" style="font-family: georgia, "times new roman", serif;">Arcing tab view controller with toggle animation. Supports </span><span class="s4" style="font-family: georgia, "times new roman", serif;">2</span><span class="s1" style="font-family: georgia, "times new roman", serif;"> to </span><span class="s4" style="font-family: georgia, "times new roman", serif;">4</span><span class="s1" style="font-family: georgia, "times new roman", serif;"> tabs. What</span><span class="s4" style="font-family: georgia, "times new roman", serif;">'s more, you can swipe left or right to toggle the views.</span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">B.t.w, this control is separated from iPokeMon (a PokéMon game on iOS with Location Based Service), you can take a look at the demo video how cool it is!</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/Kjuly/KYArcTab"><span class="s3">https:</span><span class="s1">//github.com/Kjuly/KYArcTab</span></a></span></span><br />
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">SocialAccounts </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">SocialAccounts is an iOS framework that provides an easy way to manage social network accounts</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/aporat/SocialAccounts"><span class="s3">https:</span><span class="s1">//github.com/aporat/SocialAccounts</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">MLPAutoCompleteTextField </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">MLPAutoCompleteTextField is a subclass of UITextField that behaves like a typical UITextField with one notable exception: it manages a drop down table of autocomplete suggestions that update as the user types.</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">As of version </span><span class="s4">1.3</span><span class="s1"> there is also support </span><span class="s2">for</span><span class="s1"> showing the autocomplete table as an accessory view of the keyboard</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/EddyBorja/MLPAutoCompleteTextField"><span class="s3">https:</span><span class="s1">//github.com/EddyBorja/MLPAutoCompleteTextField</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">RFQuiltLayout </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">RFQuiltLayout is a subclass of UICollectionViewLayout that positions various sized cells like a mason laying bricks.</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Fast</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Insert/Delete animation friendly</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Dynamic layouts however you</span><span class="s4">'d like them.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/bryceredd/RFQuiltLayout"><span class="s3">https:</span><span class="s1">//github.com/bryceredd/RFQuiltLayout</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">TB_CircularSlider </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">This is a circular slider to select a value from </span><span class="s4">0</span><span class="s1"> to </span><span class="s4">360.</span><span class="s1"> The control is a subclass of UIControl and it is drawn using Core Graphics.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/ariok/TB_CircularSlider"><span class="s3">https:</span><span class="s1">//github.com/ariok/TB_CircularSlider</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">MBSpacialViewController </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Create a gesture-driven map of view controllers in </span><span class="s4">2</span><span class="s1">D space.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/mobitar/MBSpacialViewController"><span class="s3">https:</span><span class="s1">//github.com/mobitar/MBSpacialViewController</span></a></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">ActionSheet </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">An easy to use and customize replacement to the stock UIActionSheet </span><span class="s4">4</span><span class="s1"> buttons max</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/JLoewy/JLActionSheet"><span class="s3">https:</span><span class="s1">//github.com/JLoewy/JLActionSheet</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">MDRadialProgress </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">A custom UIView useful to represent progress in discrete steps.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/mdinacci/MDRadialProgress"><span class="s3">https:</span><span class="s1">//github.com/mdinacci/MDRadialProgress</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">DMX Dip </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A DMX Dip (switcher) </span><span class="s2">for</span><span class="s1"> iOS useful </span><span class="s2">for</span><span class="s1"> addressing DMX devices. A different toggle/</span><span class="s2">switch</span><span class="s1"> control</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Implementation example in an iPhone storyboard (binary <==> decimal)</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Easy integration (external XIB/Class) Getter method Direct editing with keyboard Toogles</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/Cclleemm/DMXDip"><span class="s3">https:</span><span class="s1">//github.com/Cclleemm/DMXDip</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">MTZTiltReflectionSlider </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A UISlider subclass mimicking and improving the tilt controlled slider added to Music.app in iOS </span><span class="s4">6</span></span></div>
<div class="p3">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s3">The knob changes it</span><span class="s1">'s lighting reflection based on the motion of the device.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/mdznr/MTZTiltReflectionSlider"><span class="s3">https:</span><span class="s1">//github.com/mdznr/MTZTiltReflectionSlider</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">ILAlertView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/isaaclimdc/ILAlertView"><span class="s3">https:</span><span class="s1">//github.com/isaaclimdc/ILAlertView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">LARSBar </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">An oddly-named UISlider subclass which mimics the EQ slider found on Twitter</span><span class="s4">'s #music app.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/larsacus/LARSBar"><span class="s3">https:</span><span class="s1">//github.com/larsacus/LARSBar</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">FontAwesomeKit </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/PrideChung/FontAwesomeKit"><span class="s3">https:</span><span class="s1">//github.com/PrideChung/FontAwesomeKit</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">SIAlertView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">An UIAlertView replacement with block syntax and fancy transition styles. As seen in Grid Diary.</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">ETActivityIndicatorView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A Windows Phone-like activity indicator </span><span class="s2">for</span><span class="s1"> iOS.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/EugeneTrapeznikov/ETActivityIndicatorView"><span class="s3">https:</span><span class="s1">//github.com/EugeneTrapeznikov/ETActivityIndicatorView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">WTGlyphFontSet </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/waterlou/WTGlyphFontSet"><span class="s3">https:</span><span class="s1">//github.com/waterlou/WTGlyphFontSet</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">RESideMenu </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">iOS </span><span class="s4">7</span><span class="s1"> style side menu inspired by Dribble shots (first and second)</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/romaonthego/RESideMenu"><span class="s3">https:</span><span class="s1">//github.com/romaonthego/RESideMenu</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">RCHGestureGuide </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">A tool to display gesture hints to your users on any area of user interface area of your application.</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Allow the user to dismiss and remove guides </span><span class="s2">for</span><span class="s1"> different areas of your applications and re-enable them on demand.</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Easily customize the icons and animations.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/robinhayward/RCHGestureGuide"><span class="s3">https:</span><span class="s1">//github.com/robinhayward/RCHGestureGuide</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">JATickerView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Customizable scrolling LED ticker library </span><span class="s2">for</span><span class="s1"> iPhone and iPad.</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Authentic digital LED ticker - display stock quotes, sports scores, the latest headlines, or more in your app- just provide the data.</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Customize the ticker speed and light bulb colors.</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Digital symbols </span><span class="s2">for</span><span class="s1"> English included, with API hooks to provide localized ticker symbols in any language.</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Customize individual ticker bulbs with your own images.</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Compatible back to iOS </span><span class="s4">4.3</span><span class="s1">.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/jayayres/JATicker-iOS"><span class="s3">https:</span><span class="s1">//github.com/jayayres/JATicker-iOS</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">SevenSwitch </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">iOS7 style drop in replacement </span><span class="s2">for</span><span class="s1"> UISwitch.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/bvogelzang/SevenSwitch"><span class="s3">https:</span><span class="s1">//github.com/bvogelzang/SevenSwitch</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">JSController </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A set of classes that make it easy to build a controller UI </span><span class="s2">for</span><span class="s1"> games.</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Written purely in UIKit</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">All controls are both delegate based and/or pollable.</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">D-Pad class with full </span><span class="s4">8</span><span class="s1"> directions, background and direction images can be swapped out</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Push Button class with configurable background images</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Analogue stick class that uses a normalized -</span><span class="s4">1.0</span><span class="s1"> to </span><span class="s4">1.0</span><span class="s1"> scale and supports inverted Y axis. Background and handle images can be swapped out.</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Can be used within Interface Builder, just drag a UIView onto your XIB and set it</span><span class="s4">'s class as JSDPad, JSButton or JSAnalogueStick. You can set it'</span><span class="s1">s delegate from within interface builder as well as its position and size.</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">This project uses ARC. If your project does not use ARC, you will need to add the compiler flag -fobjc-arc to each of the JSController classes used in your project. This can be done in the Compile Sources build phase in the project settings</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/jasarien/JSController"><span class="s3">https:</span><span class="s1">//github.com/jasarien/JSController</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">MMProgressHUD </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">An easy to use HUD interface with personality.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/mutualmobile/MMProgressHUD"><span class="s3">https:</span><span class="s1">//github.com/mutualmobile/MMProgressHUD</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">ESCObservable </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">An iOS eventing framework (alternative to using NSNotificationCenter or delegates </span><span class="s2">for</span><span class="s1"> eventing). Includes an example HSB color picker app (as seen in screenshot) showing how to make use of the framework in application code and unit tests.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/JARinteractive/ESCObservable"><span class="s3">https:</span><span class="s1">//github.com/JARinteractive/ESCObservable</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Colors </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A collection of predefined UIColors you can use in your apps. Just include the Colours.h/.m files and you</span><span class="s4">'ll have a slew of new colors to use</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/bennyguitar/Colours"><span class="s3">https:</span><span class="s1">//github.com/bennyguitar/Colours</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Powerful data driven content manager </span><span class="s2">for</span><span class="s1"> UITableView</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/romaonthego/RETableViewManager"><span class="s3">https:</span><span class="s1">//github.com/romaonthego/RETableViewManager</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">ALBatteryView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Simple view composed by a battery image and a view that fill the battery with the current battery level</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/andrealufino/ALBatteryView"><span class="s3">https:</span><span class="s1">//github.com/andrealufino/ALBatteryView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">RATreeView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">RATreeView is a class designed to support implementation of the Tree View on IOS. Thanks to the great number of methods in delegate and data source protocols it is highly customizable. You can create Tree View with behavior and look matched to your needs.</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">It supports unlimited number of tree levels</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/Augustyniak/RATreeView"><span class="s3">https:</span><span class="s1">//github.com/Augustyniak/RATreeView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">MBXMapKit </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/mapbox/mbxmapkit"><span class="s3">https:</span><span class="s1">//github.com/mapbox/mbxmapkit</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">One-line MapBox integration with MapKit on iOS and OS X</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">UIButton + Bootstrap </span><span class="s4">3.0</span><span class="s1"> styles </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Simple UIButton category that adds nice and flat Bootstrap </span><span class="s4">3.0</span><span class="s1"> button styles.</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">No subclass, no images. Quartz Core drawing. Highly customizable.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/OskarGroth/UIButton-Bootstrap"><span class="s3">https:</span><span class="s1">//github.com/OskarGroth/UIButton-Bootstrap</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">LDProgressView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">A flat or gradient progress view with a simple color setter and customizable options written in pure Core Graphics</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/lightdesign/LDProgressView"><span class="s3">https:</span><span class="s1">//github.com/lightdesign/LDProgressView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">KHFlatButton </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p3">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s3">Flat Button inspired by FlatButton and Instagram</span><span class="s1">'s flat button palette but with a few more added convenience methods and refactoring for iOS 7 support and customization. I'</span><span class="s3">ve added BarButtons as well </span><span class="s2">for</span><span class="s3"> use in UINavigationBars. Also has better support </span><span class="s2">for</span><span class="s3"> button methods. It</span><span class="s1">'s also available as a cocoapod.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/kylehorn/KHFlatButton"><span class="s3">https:</span><span class="s1">//github.com/kylehorn/KHFlatButton</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">PXAlertView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">PXAlertView is a UIAlertView replacement similar to the style in iOS </span><span class="s4">7</span><span class="s1"> but with a block based API and the ability to customise the styling and add custom views</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/alexanderjarvis/PXAlertView"><span class="s3">https:</span><span class="s1">//github.com/alexanderjarvis/PXAlertView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">OWUProximityManager </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/ohwutup/OWUProximityManager"><span class="s3">https:</span><span class="s1">//github.com/ohwutup/OWUProximityManager</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">An interactive, and customisable, clock component </span><span class="s2">for</span><span class="s1"> iOS projects</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/andydrizen/ALDClock"><span class="s3">https:</span><span class="s1">//github.com/andydrizen/ALDClock</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">RatingView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Auto-sizes the icon you want to the given frame. Handles tap and pan gestures. The value can be continuous or step by step </span><span class="s2">while</span><span class="s1"> handling pan</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/tgyhlsb/RatingView"><span class="s3">https:</span><span class="s1">//github.com/tgyhlsb/RatingView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">ALSystemUtilities </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">This library provides a lot of methods to get system information. You can check the RAM, the disk space, the active processes, the number of processors, informations about the carrier, the hardware and other info.</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">The screenshot shows the app ALSystem that is downloadable on the App Store and uses this library</span></span><br />
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Pan gesture To Back Naivigating in iOS App</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/soleaf/PanToBack"><span class="s3">https:</span><span class="s1">//github.com/soleaf/PanToBack</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">MSDynamicsDrawerViewController</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Container view controller that leverages UIKit Dynamics to provide a realistic drawer navigation paradigm</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">KXKiOS7ColorsAndGradients</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A collection of colors and gradients taken from Apple</span><span class="s4">'s iOS 7 Apps and icons.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/jgrandelli/KXKiOS7ColorsAndGradients"><span class="s3">https:</span><span class="s1">//github.com/jgrandelli/KXKiOS7ColorsAndGradients</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">DBCompass </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">DBCompass helps you to develop iOS apps in which you need to determine the heading of the user</span><span class="s4">'s phone (refered to a coordinate) or the distance between the user and a given location.</span></span></div>
<div class="p3">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s3">It offers you a way to track the user</span><span class="s1">'s location and heading given by a coordinate or an address</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/alextarrago/db_compass"><span class="s3">https:</span><span class="s1">//github.com/alextarrago/db_compass</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">SLCountryPicker </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://bitbucket.org/shmidt/slcountrypicker"><span class="s3">https:</span><span class="s1">//bitbucket.org/shmidt/slcountrypicker</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">An extensible circular slider </span><span class="s2">for</span><span class="s1"> iOS applications</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/eliotfowler/EFCircularSlider"><span class="s3">https:</span><span class="s1">//github.com/eliotfowler/EFCircularSlider</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p3">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s3">Jawbone</span><span class="s1">'s iOS-based charting library for both line and bar graphs</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/Jawbone/JBChartView"><span class="s3">https:</span><span class="s1">//github.com/Jawbone/JBChartView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Tumblr iOS app like menu view completely created using core animation</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/cyndibaby905/TumblrMenu"><span class="s3">https:</span><span class="s1">//github.com/cyndibaby905/TumblrMenu</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s4">120</span><span class="s1"> fps SLO-MO video recorder using AVFoundation</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/shu223/SlowMotionVideoRecorder"><span class="s3">https:</span><span class="s1">//github.com/shu223/SlowMotionVideoRecorder</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Mobile-Canberra </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Mobile Canberra is an initiative by the ACT Government and the NICTA eGOV Cluster. It is a powerful platform </span><span class="s2">for</span><span class="s1"> showing points of interest and services on a map.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/actgov/Mobile-Canberra"><span class="s3">https:</span><span class="s1">//github.com/actgov/Mobile-Canberra</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">LINQ4Obj-C </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/michalkonturek/LINQ4Obj-C"><span class="s3">https:</span><span class="s1">//github.com/michalkonturek/LINQ4Obj-C</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">BMInitialsPlaceholderView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/brianmichel/BMInitialsPlaceholderView"><span class="s3">https:</span><span class="s1">//github.com/brianmichel/BMInitialsPlaceholderView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">SAMultisectorControl allows you to create multiselect control with beautiful design and circular structure. It allows users to change values in an easy way.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/snipter/SAMultisectorControl"><span class="s3">https:</span><span class="s1">//github.com/snipter/SAMultisectorControl</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">KKColorListPicker</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/leoru/KKColorListPicker"><span class="s3">https:</span><span class="s1">//github.com/leoru/KKColorListPicker</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Combination alert view, table, and share view.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/sagiwei/SGActionView"><span class="s3">https:</span><span class="s1">//github.com/sagiwei/SGActionView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">XMCircleTypeView is a UIView that allows you to display an NSString as a circular text. Is will take font kerning into account, so no weird spacings.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/MichMich/XMCircleType"><span class="s3">https:</span><span class="s1">//github.com/MichMich/XMCircleType</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">AXRatingView </span><span class="s2">for</span><span class="s1"> iOS</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/akiroom/AXRatingView"><span class="s3">https:</span><span class="s1">//github.com/akiroom/AXRatingView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">A custom UIView with a rounded progress bar and a counter in the center of the circle. Supports multiple time intervals (in milliseconds), start/stop/resuming counter, set custom color, etc. (see example project)</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/simpliflow/SFRoundProgressCounterView"><span class="s3">https:</span><span class="s1">//github.com/simpliflow/SFRoundProgressCounterView</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">An UIButton subclass that allows you to represent a fill percentage stylishly.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/andresbrun/ABFillButton"><span class="s3">https:</span><span class="s1">//github.com/andresbrun/ABFillButton</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">A UITableViewCell that allow swipe left to reveal a background view with parallax effect.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/martinezdelariva/MRSwipeTableViewCell"><span class="s3">https:</span><span class="s1">//github.com/martinezdelariva/MRSwipeTableViewCell</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A Wunderlist API wrapper </span><span class="s2">for</span><span class="s1"> Objective-C</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/AlvaroFranco/AFWunderlist"><span class="s3">https:</span><span class="s1">//github.com/AlvaroFranco/AFWunderlist</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">A category </span><span class="s2">for</span><span class="s1"> UIColor & NSColor a collection of major brand color codes via <a href="http://brandcolors.net/">http:</a></span><span class="s7"><a href="http://brandcolors.net/">//brandcolors.net</a></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s7"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">A modern iOS toast view that can fit your notification needs</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/cruffenach/CRToast"><span class="s3">https:</span><span class="s1">//github.com/cruffenach/CRToast</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">RNBlurredSideViewController</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">RNBlurredSideViewController is a side view controller with a dynamic blurred background effect when swiping similar to the iOS </span><span class="s4">7</span><span class="s1"> control center.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/cwenboshi/RNBlurredSideViewController"><span class="s3">https:</span><span class="s1">//github.com/cwenboshi/RNBlurredSideViewController</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Circular Slider can be used </span><span class="s2">for</span><span class="s1"> scalar values, list of values, and time</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://www.cocoacontrols.com/controls/circularsliderdemo"><span class="s3">https:</span><span class="s1">//www.cocoacontrols.com/controls/circularsliderdemo</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">iOS library </span><span class="s2">for</span><span class="s1"> quickly displaying images </span><span class="s2">while</span><span class="s1"> scrolling</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/k06a/UIImage-DecompressAndMap"><span class="s3">https:</span><span class="s1">//github.com/k06a/UIImage-DecompressAndMap</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">MGSwipeTableCell</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">MGSwipeTableCell is an easy to use UITableViewCell subclass that allows to display swippable buttons with a variety of transitions.</span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">This library is compatible with all the different ways to create a UITableViewCell: system predefined styles, programmatically created cells, cells loaded from a xib and prototype cells within a storyboard. You can use autolayout </span><span class="s2">if</span><span class="s1"> you want</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/MortimerGoro/MGSwipeTableCell"><span class="s3">https:</span><span class="s1">//github.com/MortimerGoro/MGSwipeTableCell</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">DRColorPicker picker supports all resolutions, orientations and devices.</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Features:</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Manage favorites by saving, moving and deleting</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Recent colors are stored</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Pick color by hue</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Pick color by color wheel with saturation and lightness bars</span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">Import images to use as textures</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/jjxtra/DRColorPicker"><span class="s3">https:</span><span class="s1">//github.com/jjxtra/DRColorPicker</span></a></span></div>
<div class="p4">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"></span><br /></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Fancy Schmancy Joystick is a simple joystick class built </span><span class="s2">for</span><span class="s1"> Cocos2d v3</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/danielgronlund/fancy-schmancy-joystick"><span class="s3">https:</span><span class="s1">//github.com/danielgronlund/fancy-schmancy-joystick</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">BloodMagic is a framework, which gives you a way to create custom property attributes.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/railsware/BloodMagic/#preferences"><span class="s3">https:</span><span class="s1">//github.com/railsware/BloodMagic/#preferences</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">OS audio playing (both local and streaming) made easy through a complete and block-driven Objective-C class. AFSoundManager uses AudioToolbox and AVFoundation frameworks to serve the audio. You can pick a local file or you can use a URL to stream the audio, the choice is up to you.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/AlvaroFranco/AFSoundManager"><span class="s3">https:</span><span class="s1">//github.com/AlvaroFranco/AFSoundManager</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">A simple UIView subclass to display dynamically masked textFields.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/OmerCora/OCMaskedTextField"><span class="s3">https:</span><span class="s1">//github.com/OmerCora/OCMaskedTextField</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">A UISlider subclass that displays live values in an easy to customize, animated popup view. If you supply an array of UIColors, the popup view will animate the color change as the slider moves.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/alskipp/ASValueTrackingSlider"><span class="s3">https:</span><span class="s1">//github.com/alskipp/ASValueTrackingSlider</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span class="s1"><span style="font-family: "georgia" , "times new roman" , serif; font-size: small;">A storyboard-friendly library to animate button to have a two-state or bounce effect. One of the possible implementations of those effects is it can be used to build a menu buttons such as the one implemented in Android version of Tumblr App.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s3">https:</span><span class="s1">//agusso.github.io/ASOAnimatedButton/</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/agusso/ASOAnimatedButton"><span class="s3">https:</span><span class="s1">//github.com/agusso/ASOAnimatedButton</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1">Twikee is a library to help you promote your app or game by using the most effective marketing technique : Twitter spreading. You can use it by providing extra content (unblock features, extra lifes, etc) to users in exchange </span><span class="s2">for</span><span class="s1"> an advertising tweet about your app.</span></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><a href="https://github.com/Neirys/Twikee"><span class="s3">https:</span><span class="s1">//github.com/Neirys/Twikee</span></a></span></div>
<div class="p2">
<span style="font-family: "georgia" , "times new roman" , serif; font-size: small;"><span class="s1"><br /></span></span></div>
<div class="p1">
<br /></div>
</div>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0tag:blogger.com,1999:blog-12185523.post-66017232129355683742016-02-25T20:51:00.001-08:002016-02-25T20:51:28.784-08:00Mount USB stick Raspberry pi raspbian jessie lite<div style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="background-color: #fafafa; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 19.24px;">sudo apt-get install </span><span style="background-color: #fafafa; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; font-style: italic; line-height: 19.24px;">ntfs-3g</span><span style="background-color: #fafafa; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 19.24px;"><br /></span></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="background-color: #fafafa; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; font-style: italic; line-height: 19.24px;">sudo mkdir /media/usbdrive</span></div>
<span style="background-color: #fafafa; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 19.24px;">sudo <span class="il">mount</span> -t ntfs-3g -o uid=pi,gid=pi /dev/sdb1 /media/usbdrive/</span><br />
<div style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="color: #333333; font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"><span style="line-height: 19.24px;">extra in /etc/fstab</span></span></div>
<div style="background-color: white; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="background-color: #fafafa; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 19.24px;">/dev/sdb1 /media/usbdrive ntfs-3g uid=pi,gid=pi 0 0</span></div>
Thomas Younsihttp://www.blogger.com/profile/04829452574030205387noreply@blogger.com0