[{"title":"Watching BitCoin Prices","seq":131,"msg":"I'd like to summarize and open source a small project I've strung together from a few open source projects for bitcoin arbitrage trading, log, and chart streaming to the browser.<br><br>Given the inspiration from an anonymous friend, I stumbled upon an open source BitCoin Arbitrage trading system on github called <a rel=\"nofollow\" target=\"_blank\" href=\"https://github.com/butor/blackbird/blob/master/README.md\">blackbird</a>.<br><br>One thing lead to another and I couldn't help myself but to take the opportunity to make use of, and test out, auto-devops to Kubernetes via GitLab, which makes&nbsp;it's really easy to deploy new projects just by defining their Dockerfile.<br><br>As a developer it's also really handy to have dependencies and versions isolated by using Docker which means I don't need to find a server that can run the language and dependencies required by blackbird, which I might not have.<br><br>In this case I wanted to use as much existing tools as possible to get the most bang for the buck, without doing anything from scratch, but staring on the shoulders of giants.&nbsp; And I've yet to execute on the bitcoin trading, but it's been a good excuse to check things out.<br><h2><a rel=\"nofollow\" target=\"_blank\" href=\"https://github.com/butor/blackbird\">Blackbird</a></h2>I found this C++ application on github that has a bunch of <a rel=\"nofollow\" target=\"_blank\" href=\"https://github.com/butor/blackbird/issues\" title=\"Link: https://github.com/butor/blackbird/issues\">discussion</a>, and contributors.&nbsp; It runs great, and I can use the terminal to view the logs it generates right in GitLab.<br><br>In the log file it writes the prices it gets from each of the exchanges every few seconds, an also the current opportunity and strategy details.<br><br>It's setup to send an email when a trade occurs (which won't happen in demo-mode), but the problem is that I'd like to interface with this via a browser (obviously).&nbsp; So thinking in the nodejs microservices nature, I searched for a log stream server..<br><h2><a rel=\"nofollow\" target=\"_blank\" href=\"https://github.com/comster/frontail\">Frontail</a></h2>By just running, frontail ./output/*, I could get all the blackbird logs right in my browser - great!<br><br>Now that's fun and all, but I'd really enjoy being able to visualize these number, so I searched for a chart stream..<br><h2><a rel=\"nofollow\" target=\"_blank\" href=\"https://github.com/comster/chart-stream\">Chart Stream</a></h2>This nice little single page app comes with a server that consumes the prices log file that blackbird outputs, and streams it to the browser - nice!<br><br>It's using C3, D3 and EventStream data.&nbsp; Cool stuff.<br><br>It took a little configuration to get the options I wanted, to not overload the chart with infinite data, and add time stamps.&nbsp; Plus it had to be black.<br><h2><a rel=\"nofollow\" target=\"_blank\" href=\"https://github.com/nodejitsu/node-http-proxy\">Node Http Proxy</a></h2>I could avoid this in the future, but I wanted to see if I could just get this running on a single docker image to keep databases out of this.&nbsp; Obviously for production, as more of a micro architecture, the web server could run on it's own, reading the data from a database blackbird writes to.<br><br>Thus we want to be able to run both http servers, through the same host, using a path like \"/logs/\" to route to the log server.<br><br>Having had great success and experience with node proxy in the past, I decided to go ahead and set it up to do the job.&nbsp; There was a bit of a hickup getting the log app to work configured with a non root path, but it works.<br><h2>Development</h2>This has been a great chance to test the tech tools and process.&nbsp; Here's a few improvements to the chart that I wanted to make after getting things up and running:<br><br>&nbsp;- Invert the colors<br>&nbsp;- Shift the max x points, so the data doesn't overflow memory.<br>&nbsp;- Fix the date stamp for the x axis<br>","slug":"watching-bitcoin-prices","wistia":{"id":""},"wistiaAudio":{"id":""},"youtube":{"id":"NR5nsoB0puA"},"headerTitle":null,"headerCaption":{"color":"#000000","html":""},"tweet":{"id":""},"at":"2018-02-15T04:22:00.000Z","owner":{"id":"9bfa374d5fa8492800000000","name":"Jeff"},"feed":{"id":"5a850b034720fb0015cf12b2","at":"2018-02-15T04:22:27.736Z"},"groups":["public"],"tags":[{"name":"portfolio","title":"Portfolio","postsCount":1,"id":"5e4c1e243727090014268878"}],"id":"5a850b034720fb0015cf12b1"},{"title":"Watch Me Teach a Newbie to Code","seq":127,"msg":"I've been using Google Hangouts On-Air&nbsp;to experiment with a lot of things since it's launch.<br><br>It's allowed me to&nbsp;<a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com\">interview startup founders</a>&nbsp;from around the world for my podcast.<br><br>I've chatted with energetic entrepreneurs all over the globe, via the helpouts platform, who are&nbsp;looking for technology advice to get their projects started and <a rel=\"nofollow\" target=\"_blank\" href=\"https://twitter.com/Helpouts/status/502278277860294658\">save them critical time</a>.<br><br>When I first saw&nbsp;<a rel=\"nofollow\" target=\"_blank\" href=\"https://www.youtube.com/watch?v=MhQ70O1MiXc\">notch screencasting&nbsp;coding minecraft</a>&nbsp;several years ago, I had already seen the power of Khan Academy and was exploring ways we can leverage amazing new technology like video streaming or social networking&nbsp;to drastically improve stale categories such as education.<br><br>Going back to the <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com/posts/sharing\">mother of all demo's</a> (perhaps the first screencast), I've always&nbsp;thought that we could be utilizing basic communication tools better. &nbsp;For instance, from time to time I'll screencast / record my desktop for hours, either privately or with a team member working on a project.<br><br>There is something to say however, about the result of&nbsp;<b>openness&nbsp;</b>when at the scale&nbsp;of the internet.<br><br>If someone as educated as&nbsp;Salman Kahn, son to a single immigrant mother, who received a B.S. in three fields, M.S. in two from MIT, and an MBA from HBS -&nbsp;or&nbsp;someone as highly skilled in a highly paid profession such as notch (now a $101 millionaire) - can open up and just give it all away... why can't I?<br><br>Thinking about why these powerful technologies aren't always leveraged for our benefit. &nbsp;For instance,&nbsp;most people had the exact same tools and opportunity&nbsp;as Sal and Notch, but would never think to open it up and give it away.<br><br>I'm still thinking about the dynamic. &nbsp;It's hard for me to understand the impact of someone making an educational video on anything from algebra to game physics engines, being watched by millions or even more&nbsp;people.<br><br>Back to the future, I've been tinkering here and there. &nbsp;A while back I figured a popular search would be for the dark art of <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.youtube.com/watch?v=8JAnIDE6Pq4\">page scraping</a> using a tool like phantomjs, so I hit recording just to test it out. &nbsp;I've done <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.youtube.com/watch?v=Qk-mzWV96tE\">quick show &amp; tell&nbsp;demo's</a> after completing work on a project like my rss reader, with an audience of zero, just for posterity. &nbsp;When the&nbsp;much anticipated framework held it's public launch, I&nbsp;<a rel=\"nofollow\" target=\"_blank\" href=\"http://youtu.be/DJjxhu_z91g?t=18s\">watched the famo.us launch live</a>&nbsp;streaming my reactions.<br><br>Then I noticed a sub reddit, <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.reddit.com/r/WatchPeopleCode/\" title=\"Link: http://www.reddit.com/r/WatchPeopleCode/\">Watch People Code</a>, and their dog food project&nbsp;<a rel=\"nofollow\" target=\"_blank\" href=\"http://www.watchpeoplecode.com/\">www.watchpeoplecode.com</a>, which inspired me to&nbsp;spend a few hours Sunday working on my <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.youtube.com/watch?v=WLkX7Q5KW-E\">open source web radio jukebox</a> project live.<br><br>In an effort to step up my efforts this year, I'll be setting up office hours to not only take your technology questions, but also to learn to program.<br><br>That's right, I'll teach you to code, for free. &nbsp;The only condition is that the session will be recorded and published on youtube for everyone's benefit. &nbsp;A good pupil will be motivated to learn, and not afraid to ask questions that others out there are&nbsp;surely also thinking.<br><br>If you're someone interested in learning web technologies, or you know someone with access to a microphone and internet connection who is, contact me at edu@jeffpelton.com&nbsp;.<br><br><br><br>","slug":"watch-me-teach-a-newbie-to-code","wistia":{"id":""},"wistiaAudio":{"id":""},"youtube":{"id":""},"headerTitle":{"color":"#eae90a"},"headerCaption":{"color":"#c4c4c4","html":"image from <a href=\"https://www.flickr.com/photos/nikio/3899114449\" title=\"Link: https://www.flickr.com/photos/nikio/3899114449\">nikio</a>"},"tweet":{"id":""},"at":"2015-02-12T03:57:00.000Z","owner":{"id":"9bfa374d5fa8492800000000","name":"Jeff"},"feed":{"id":"54dc24be5fdd7b5d5d67ab30","at":"2015-02-12T03:57:50.784Z"},"groups":["public"],"avatar":{"filename":"uploads/3899114449_84dd8a5c4e_o.jpg","ref":{"col":"files.files","id":"54dc272a5fdd7b5d5d67ad4a"},"exif":{"ExifTool Version Number":"8.60","File Name":"ad50ec4b39faf460494c01fd5e2ad52a.jpg","Directory":"/tmp","File Size":"577 kB","File Modification Date/Time":"2015:02:11 20:08:10-08:00","File Permissions":"rw-r--r--","File Type":"JPEG","MIME Type":"image/jpeg","JFIF Version":"1.01","Resolution Unit":"None","X Resolution":"1","Y Resolution":"1","Profile CMM Type":"","Profile Version":"2.4.0","Profile Class":"Display Device Profile","Color Space Data":"RGB","Profile Connection Space":"XYZ","Profile Date Time":"2009:04:30 22:20:20","Profile File Signature":"acsp","Primary Platform":"Apple Computer Inc.","CMM Flags":"Not Embedded, Independent","Device Manufacturer":"NONE","Device Model":"","Device Attributes":"Reflective, Glossy, Positive, Color","Rendering Intent":"Perceptual","Connection Space Illuminant":"0.9642 1 0.82491","Profile Creator":"CvSp","Profile ID":"3814f947da5ad761dc34ae5de8e7c307","Profile Description":"maj 09","Profile Copyright":"Copyright 2006 ColorVision Inc. (Spyder2PRO 2.2-5)","Media White Point":"0.95474 1 1.11815","Red Matrix Column":"0.42026 0.25299 0.04257","Green Matrix Column":"0.3616 0.56508 0.09698","Blue Matrix Column":"0.18234 0.18198 0.68533","Red Tone Reproduction Curve":"(Binary data 14 bytes, use -b option to extract)","Green Tone Reproduction Curve":"(Binary data 14 bytes, use -b option to extract)","Blue Tone Reproduction Curve":"(Binary data 14 bytes, use -b option to extract)","Video Card Gamma":"(Binary data 786 bytes, use -b option to extract)","Exif Byte Order":"Big-endian (Motorola, MM)","Exif Image Width":"1024","Exif Image Height":"768","Image Width":"1024","Image Height":"768","Encoding Process":"Baseline DCT, Huffman coding","Bits Per Sample":"8","Color Components":"3","Y Cb Cr Sub Sampling":"YCbCr4:2:0 (2 2)","Image Size":"1024x768","":null},"groups":["public"],"owner":{"id":"9bfa374d5fa8492800000000","name":"Jeff"},"at":"2015-02-12T04:08:11.000Z","height":768,"width":1024,"mimeType":"image/jpeg","sizes":{"full":{"id":"54dc272c5fdd7b5d5d67ad52","filename":"images/full/uploads/3899114449_84dd8a5c4e_o.jpg"},"medium":{"id":"54dc272d5fdd7b5d5d67ad59","filename":"images/medium/uploads/3899114449_84dd8a5c4e_o.jpg"},"small":{"id":"54dc272d5fdd7b5d5d67ad5e","filename":"images/small/uploads/3899114449_84dd8a5c4e_o.jpg"},"square":{"id":"54dc272d5fdd7b5d5d67ad63","filename":"images/square/uploads/3899114449_84dd8a5c4e_o.jpg"},"thumb":{"id":"54dc272e5fdd7b5d5d67ad69","filename":"images/thumb/uploads/3899114449_84dd8a5c4e_o.jpg"}},"id":"54dc272b5fdd7b5d5d67ad50"},"id":"54dc24be5fdd7b5d5d67ab2f"},{"title":"Hello 2015","seq":126,"msg":"It's that time of year again for the commemorative New Year's blog post.\n<br>\n<br>\n<div>My goal this year, like always, is to write more. That means pushing myself to publish even when I don't think it's ready. &nbsp;I'm going to try publishing more drafted thoughts, instead of always holding out for the profound.\n    <br>\n</div>\n<div>\n    <br>Right after this I'm going to publish a draft I started while <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com/posts/aws-ec2-docker-hosting-a-gitlab-container\">setting up GitLab on AWS</a>.</div>\n<div>\n    <br>\n</div>\n<div>I'm also going to start trying to use voice annotations to give me a jumpstart on the writing process. &nbsp;It seems like in 2015 we should have pretty good voice to text.\n    <br>\n    <br>I still really like writing things out and being able to rearrange, and distill down my thoughts. &nbsp;I just realized that long form writing and essays are better suited in living (editable) pages rather than blog posts that are primarily seen when\n    published.</div>\n<div>\n    <br>I'll try to share more smaller bite-size content like photos to keep up the consistency. &nbsp;Let's start right now without any fanfare some of the photos of gardening I've been taking on this winter.\n    <br>\n    <br>I've got a couple planters and strawberry patch growing in the backyard, but I've also recently joined the Ocean Beach Community Garden, working a good sized plot there.</div>\n<div>\n    <br>\n    <img alt=\"\" src=\"/api/files/images%2Fmedium%2Fuploads%2Fimage_41358.jpg\" class=\"undefined\">\n    <br>\n    <br>I think I let the arugula (on the right side of the picture below) grow a bit too much.\n    <br>\n    <br>\n    <img alt=\"\" src=\"/api/files/images%2Fmedium%2Fuploads%2Fimage_72327.jpg\" class=\"undefined\">\n    <br>\n    <br>So I harvested a bunch today, and it's very spicy.\n    <br>\n    <br>\n    <img alt=\"Arugula\" src=\"/api/files/images%2Fmedium%2Fuploads%2Fimage_37911.jpg\" class=\"undefined\">\n    <br>\n    <br>Here's a cute Monarch Caterpillar that I found crawling around my celery.\n    <br>\n    <br>\n    <img alt=\"Monarch Caterpillar\" src=\"/api/files/images%2Fmedium%2Fuploads%2Fimage_58264.jpg\" class=\"undefined\">\n    <br>\n    <br>He's lucky that he didn't get fed to the chickens.\n    <br>\n    <br>\n    <img alt=\"Chicken Coop\" src=\"/api/files/images%2Fsmall%2Fuploads%2Fimage_22370.jpg\" class=\"undefined\">\n    <br>\n</div>\n<div>\n    <br>\n</div>\n<div>Yet another fun home project I'm giving a try is growing sprouts.\n    <br>\n    <br>\n    <img alt=\"Sprouts\" src=\"/api/files/images%2Fsmall%2Fuploads%2Fimage_40385.jpg\" class=\"undefined\">\n    <br>\n    <br>And with all of these greens, I'll probably start juicing. &nbsp;I don't know if the internet can handle another <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.youtube.com/user/parawade/videos\">blog post on that</a>, but stay tuned to see what\n    happens!</div>\n<div>\n    <br>A hurdle when blogging is first deciding what to write about. &nbsp;I have multiple blogs for various topics and projects but I'll try to be more spontaneous with what I post here and I'll try linking to the others too.\n    <br>\n    <br>\n</div>\n<div>Follow along this year as I work towards my many goals:</div>\n<div>\n    <br>\n</div>\n<div>- Develop a web consulting agency, <a rel=\"nofollow\" target=\"_blank\" href=\"http://alternatingbits.com\">Alternating Bits</a>\n</div>\n<div>- Document and release 1.0 of <a rel=\"nofollow\" target=\"_blank\" href=\"http://housejs.com\">House.JS</a>\n</div>\n<div>- Develop <a rel=\"nofollow\" target=\"_blank\" href=\"http://call2train.com\">Call2Train</a>, a mobile app for trainers to manage scheduling and billing</div>\n<div>- Grow my garden and&nbsp;<a rel=\"nofollow\" target=\"_blank\" href=\"http://cultivateob.com\">Cultivate OB</a>\n</div>\n<div>- Blog 5 days a week.\n    <br>\n    <br>I should probably exercise or something too.</div>\n<div>\n    <br>\n</div>\n<div>My challenge is always to balance ambition and focus. There is so much I'd like to accomplish; it's hard to decide what to work on first.&nbsp;</div>\n<div>\n    <br>\n</div>\n<div>It can be overwhelming but when you're doing what you love in a lovely place, it's easy to put in the work. It's a pleasure to be able to work on this, so my ultimate&nbsp;goal for this years is to be doing the same thing&nbsp;next year too.\n    <br>\n    <br>\n    <img alt=\"Happy Tree\" src=\"/api/files/images%2Ffull%2Fuploads%2Fimage_16376.jpg\" class=\"undefined\">\n    <br>\n</div>","slug":"hello-2015","wistia":{"id":""},"wistiaAudio":{"id":""},"youtube":{"id":""},"headerTitle":null,"headerCaption":{"color":"#000000","html":""},"tweet":{"id":""},"at":"2015-01-14T21:19:00.000Z","owner":{"id":"9bfa374d5fa8492800000000","name":"Jeff"},"feed":{"id":"54b6dd4d5d2e9a3f17242152","at":"2015-01-14T21:19:09.520Z"},"groups":["public"],"id":"54b6dd4d5d2e9a3f17242151"},{"title":"AWS EC2 Docker Hosting a GitLab Container","seq":125,"msg":"I want to setup an instance of GitLab to host my git repositories on my Amazon Cloud (AWS), to be available securely over the internet and backed up.\n<br>\n<br>There's a few options:\n<br>\n<ul>\n    <li>Install it along side another existing EC2 instance running mail, web, etc..</li>\n    <li>Install it on it's own fresh instance using the provided deb package.</li>\n    <li>Install it on an instance using Docker.</li>\n    <li>Install it on an Elastic Beanstalk application using Docker.</li>\n</ul>After contemplating the pros and cons of each, I decided to give the last option a try. &nbsp;Mainly that GitLab requires Ruby, Redis, Postgre, Nginx and even tries to install Postfix. &nbsp;I was hoping to set it up along side my email server, but the\npackage install would destroy my existing config, and I'd have existing mysql database, and apache web server not setup to work out of the box with GitLab. &nbsp;So for best results I think it makes sense not to try jamming them together and use the power\nof virtual machines.\n<br>\n<br>For the benefit of documenting my experience; I spent quite a bit of time trying out the Elastic Beanstalk hoping that it would magically scale and monitor my docker environment, but after trying to wrap my head around the tool, I don't think it was going\nto be useful at&nbsp;my current scale. &nbsp;Also, it took me a while, and I was surprised to also find <a rel=\"nofollow\" target=\"_blank\" href=\"https://aws.amazon.com/ecs/\" title=\"Link: https://aws.amazon.com/ecs/\">AWS's EC2 Container Service&nbsp;</a>in preview, which might be just what I'd like.\n<br>\n<br>Until then, I ended up going with option C. &nbsp;Even after everything I'm not certain that docker is going to be the jesus package manager, but with <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.nytimes.com/2015/01/13/business/a-small-software-company-sees-a-future-in-containers-of-code.html\">so much commotion</a>,\nit's worth looking at I guess.\n<br>\n<br>I'm going to quickly / briefly fill in what I ended up doing. It might not all be there, but I can come back and update if needed.\n<br>\n<br>It also turns out that most EC2 instances don't have any swap space by default, so that's a problem for all of us memory hogs. &nbsp;I followed <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.techknowjoe.com/article/create-swap-file-your-ec2-instance-storage-space\">this helpful tut</a> to\nget me going like follows:\n<br><code><br># check for free space on an instance storage device that wont incur i/o costs<br>$ sudo df -h<br><br># give ourselves 1G of space<br>$&nbsp;sudo dd if=/dev/zero of=/swapfile bs=1M count=1024\n    <br>$&nbsp;sudo mkswap /swapfile<br>$&nbsp;sudo swapon /swapfile<br>$ sudo&nbsp;chown root:root /swapfile<br>$&nbsp;sudo chmod 0600 /swapfile<br><br># include a line in fstab so that it works on reboot<br>$&nbsp;sudo vim /etc/fstab<br>/swapfile swap swap defaults 0 0<br><br># see your space<br>$&nbsp;sudo free -k<br>$ sudo&nbsp;df -h</code>\n<div>\n    <br>\n</div>\nBack to my setup. &nbsp;There's EC2 instances out there from <a rel=\"nofollow\" target=\"_blank\" href=\"https://coreos.com/docs/running-coreos/cloud-providers/ec2/\">CoreOS</a> that look pretty cool for clustering, but I think I want to go the other way, stepping up from small to larger instances docking as many containers as possible on a single instance. &nbsp;So to go the vanilla route,&nbsp;I decided to just boot up a&nbsp;t2.micro&nbsp;ec2 instance with amazon's linux image, per the <a rel=\"nofollow\" target=\"_blank\" href=\"https://docs.docker.com/installation/amazon/\">docker instructions</a>.&nbsp;<br><br><code>$&nbsp;sudo yum update<br>$&nbsp;sudo yum install -y docker ; sudo service docker start<br><br><a rel=\"nofollow\" target=\"_blank\" href=\"http://doc.gitlab.com/ce/install/requirements.html\" title=\"Link: http://doc.gitlab.com/ce/install/requirements.html\">http://doc.gitlab.com/ce/install/requirements.html</a><br><br><a rel=\"nofollow\" target=\"_blank\" href=\"https://gitlab.com/gitlab-org/gitlab-ce/tree/master/docker\">https://gitlab.com/gitlab-org/gitlab-ce/tree/master/docker</a><br><br>$&nbsp;sudo yum install git<br>$&nbsp;git clone https://gitlab.com/gitlab-org/gitlab-ce.git ; cd gitlab-ce<br><br># Build the source into an image and setup data volume<br>$&nbsp;sudo docker build --tag gitlab_image docker/<br>$&nbsp;sudo docker run --name gitlab_data gitlab_image /bin/true<br><br># Run the container with our data and ports, with auto restart enabled on restart<br>$&nbsp;sudo docker run --restart=always --detach --name gitlab_app --publish 80:80 --publish 22:22 --publish 443:443 --volumes-from gitlab_data gitlab_image<br>$ sudo docker logs -f gitlab_app<br>$&nbsp;sudo docker run -ti -e TERM=linux --rm --volumes-from gitlab_data ubuntu<br>root@abc:/# sudo apt-get install vim -y<br>root@abc:/# sudo vim&nbsp;/etc/gitlab/gitlab.rb<br>external_url \"<a rel=\"nofollow\" target=\"_blank\" href=\"https://git.yourdomain.com/%22\" title=\"Link: https://git.yourdomain.com/%22\">https://git.yourdomain.com/\"</a>;<div><br></div><div># Prevent Postgres from trying to allocate 25% of total memory</div><div>postgresql['shared_buffers'] = '1MB'</div><div><br></div><div># Configure GitLab to redirect PostgreSQL logs to the data volume</div><div>postgresql['log_directory'] = '/var/log/gitlab/postgresql'</div><div><br></div><div># Some configuration of GitLab</div><div># You can find more at&nbsp;<a rel=\"nofollow\" target=\"_blank\" href=\"https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#configura\" title=\"Link: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#configura\">https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#configura</a></div><div>tion</div><div>gitlab_rails['gitlab_email_from'] = 'noreply@yourdomainwefav.com'</div><div>gitlab_rails['gitlab_support_email'] = 'noreply@yourdomainwefav.com'</div><div>gitlab_rails['time_zone'] = 'America/Los_Angeles'</div><div><br></div><div># SMTP settings</div><div># You must use an external server, the Docker container does not install an SMTP server</div><div>gitlab_rails['smtp_enable'] = true</div><div>gitlab_rails['smtp_address'] = \"mail.yourdomain.com\"</div><div>gitlab_rails['smtp_port'] = 587</div><div>gitlab_rails['smtp_user_name'] = \"noreply@yourdomain.com\"</div><div>gitlab_rails['smtp_password'] = \"password\"</div><div>gitlab_rails['smtp_domain'] = \"yourdomain.com\"</div><div>gitlab_rails['smtp_authentication'] = \"plain\"</div><div>gitlab_rails['smtp_enable_starttls_auto'] = true</div><br># Install SSL certs<br># copy files into /etc/gitlab/ssl/ with files including your domain named in&nbsp;gitlab.rb<br><br>root@abc:/#&nbsp;sudo mkdir /etc/gitlab/ssl<br>root@abc:/# sudo&nbsp;vim&nbsp;/etc/gitlab/ssl/git.yourdomain.com.key<br>root@abc:/# sudo&nbsp;vim&nbsp;/etc/gitlab/ssl/git.yourdomain.com.crt<br><br># Rebuild gitlab configs<br>$&nbsp;sudo docker restart gitlab_app # just restart the container<br><br># If you need to&nbsp;change run configuration<br>$ sudo docker rm -f gitlab_app # doesn't delete data volumes<br>$&nbsp;sudo docker run --restart=always --detach --name gitlab_app --publish 80:80 --publish 22:22 --publish 443:443 --volumes-from gitlab_data gitlab_image<br><br></code>So now voila! &nbsp;<a href=\"https://git.wefav.com/house-js/house\" title=\"Link: https://git.wefav.com/house-js/house\">A home for my code</a>.&nbsp; I can host code repos, with issue tracking and <a href=\"https://git.wefav.com/snippets/2\">snippets</a>! &nbsp;If you need a hosted repo for a project, just let me know.<br>\n<br>","slug":"aws-ec2-docker-hosting-a-gitlab-container","wistia":{"id":""},"wistiaAudio":{"id":""},"youtube":{"id":""},"headerTitle":null,"headerCaption":{"color":"#000000","html":""},"tweet":{"id":""},"at":"2014-12-28T02:54:00.000Z","owner":{"id":"9bfa374d5fa8492800000000","name":"Jeff"},"feed":{"id":"549f70ee5d2e9a3f17240cb9","at":"2014-12-28T02:54:38.555Z"},"groups":["public"],"id":"549f70ee5d2e9a3f17240cb8"},{"at":"2014-06-26T00:53:00.000Z","feed":{"id":"53ab6f23c6cc55520931b2c5","at":"2014-06-26T00:53:55.898Z"},"groups":["public"],"headerCaption":{"color":"#000000","html":""},"headerTitle":null,"msg":"From time to time I have to put on my sysadmin hat to build, manage and repair systems. &nbsp;I'm not an expert, but I do my best to search for expert advice or RTFM. &nbsp;If you have any suggestions to my implementation let me know.\n<br>\n<br>At home I built a system for the purpose of being a development workstation, with similar hardware specs as a production server. &nbsp;That means the box is running Ubuntu desktop on a drive with four additional drives for the raid array, my personal\ncloud.\n<br>\n<br>Last week I had a drive failure that I replaced so I want to share my experience and recipes.\n<br>\n<br>Let's start from the beginning. &nbsp;Setting up a RAID 10 array, also known as&nbsp;RAID&nbsp;1+0: creates a striped set from a series of mirrored drives. &nbsp;This way data loss can only occur if a drive fails after already losing all drives in a mirror.\n&nbsp;Anticipating typical and saddening hard drive failure, it's simple enough to make a replacement allowing the array to heal itself. &nbsp;It's unlikely for <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/53ab7b3bc6cc55520931b400\">simultaneous drives to all fail</a> at\nonce without a notification and the array shutting down.\n<br>\n<br>In my case I'm using 4 drives (sda, sdb, sdc &amp; sdd) separate from the operating file system. &nbsp;The plan is to create a single array (md0) from the drives and then logical volume and mount points. &nbsp;My use case is a mongodb data store, so I\nfollowed the guide to setup three volumes mounted at&nbsp;/cloud/data,&nbsp;/cloud/log and&nbsp;/cloud/journal.\n<br>\n<br>Here are the basic steps for what I described above:\n<br>\n<br>Start by entering sudo interactive mode since most of these commands require root privileges.\n<br>\n<code>&nbsp;$ sudo -i<br></code>Install mdadm if you don't have it already and scope out your /dev\n<br>\n<code>&nbsp;$ apt-get install mdadm\n    <br>&nbsp;$ mdadm\n    <br>&nbsp;$ ls -la /dev/<br></code>Create the array from 4 physical devices. &nbsp;Note this is different than using partitions like sda1 for instance, which is also possible, but I didn't, per the guide I was following.\n<br>\n<code>&nbsp;$ mdadm --verbose --create /dev/md0 --level=10 --chunk=256 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd\n    <br>&nbsp;$ 'DEVICE /dev/sda /dev/sdb /dev/sdc /dev/sdd' | sudo tee -a /etc/mdadm.conf\n    <br>&nbsp;$ mdadm --detail --scan | sudo tee -a /etc/mdadm.conf\n    <br>&nbsp;$ blockdev --setra 128 /dev/md0\n    <br>&nbsp;$ blockdev --setra 128 /dev/sda&nbsp;\n    <br>&nbsp;$ blockdev --setra 128 /dev/sdb\n    <br>&nbsp;$ blockdev --setra 128 /dev/sdc\n    <br>&nbsp;$ blockdev --setra 128 /dev/sdd\n    <br>&nbsp;$ dd if=/dev/zero of=/dev/md0 bs=512 count=1<br></code>Setup logical volumes from the free space that we can then mount to the file system\n<br>\n<code>&nbsp;$ apt-get install pvcreate\n    <br>&nbsp;$ apt-get install lvm2\n    <br>&nbsp;$ pvcreate /dev/md0\n    <br>&nbsp;$ vgcreate vg0 /dev/md0<br></code>Setup our three logical volumes, 98% of the available space given to data, 1% to log and journal each, formatted as ext4 file systems.\n<br>\n<code>&nbsp;$ lvcreate -l 98%vg -n data vg0\n    <br>&nbsp;$ lvcreate -l 1%vg -n log vg0\n    <br>&nbsp;$ lvcreate -l 1%vg -n journal vg0\n    <br>&nbsp;$ mke2fs -t ext4 -F /dev/vg0/data\n    <br>&nbsp;$ mke2fs -t ext4 -F /dev/vg0/log\n    <br>&nbsp;$ mke2fs -t ext4 -F /dev/vg0/journal&nbsp;<br></code>Create our mount points\n<br>\n<code>&nbsp;$ mkdir /cloud\n    <br>&nbsp;$ mkdir /cloud/data\n    <br>&nbsp;$ mkdir /cloud/log\n    <br>&nbsp;$ mkdir /cloud/journal\n    <br>Now we want to add entries to fstab to mount on startup\n    <br>&nbsp;$ echo '/dev/vg0/data /cloud/data ext4 defaults,auto,noatime,noexec 0 0' | tee -a /etc/fstab\n    <br>&nbsp;$ echo '/dev/vg0/log /cloud/log ext4 defaults,auto,noatime,noexec 0 0' | tee -a /etc/fstab\n    <br>&nbsp;$ echo '/dev/vg0/journal /cloud/journal ext4 defaults,auto,noatime,noexec 0 0' | tee -a /etc/fstab\n    <br>&nbsp;$ mount /cloud/data/\n    <br>&nbsp;$ mount /cloud/log/\n    <br>&nbsp;$ mount /cloud/journal<br></code>That should get you up and running. &nbsp;It's also a good idea to take a minute to check out your /etc/mdadm.conf configuration and make sure you're getting email notifications.\n<br>\n<br>You can run the following to test mdadm is able to reach you.\n<br>\n<code>$ sudo mdadm --monitor --scan --test --oneshot\n    <br>\n</code>Using logical volumes has the advantage of being able to resize easily regardless of physical devices. &nbsp;On my AWS cloud version of this setup it was fairly simple to create another raid array and add it to the logical volume.\n<br>\n<br>The following helped me grow logical volumes hosting my database.\n<br>\n<code>&nbsp;$ vgdisplay\n    <br>&nbsp;$ lvdisplay\n    <br>&nbsp;$ df -hk\n    <br>&nbsp;$ vgextend vg0 /dev/md1\n    <br>&nbsp;$ lvresize -L +391GB /dev/vg0/data\n    <br>&nbsp;$ lvresize -L +8GB /dev/vg0/journal\n    <br>&nbsp;$ lvdisplay /dev/vg0\n    <br>&nbsp;$ resize2fs -p /dev/mapper/vg0-journal<br></code>Then one day I was having trouble with my server, foolishly not looking at the email from mdadm to see the failure, I decided to reboot the problem away, only to find a drive failure preventing\nme from even booting up. &nbsp;I'm not sure why the failed drive was behaving so poorly in the bios boot, there might be a setting I recall reading about related to the reacting time during boot. &nbsp;However, once I took the bad drive out, and booted,\nI was able to begin diagnosing my failed RAID array. &nbsp;I did find an email in my inbox giving me details about the failure and array status.\n<br>\n<br><blockquote>This is an automatically generated mail message from mdadm&nbsp;running on localhost<br>A Fail event had been detected on md device /dev/md0.<br>It could be related to component device /dev/sdd.<br>Faithfully yours, etc.<br>P.S. The /proc/mdstat file currently contains the following:<br>Personalities : [raid10] [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4]&nbsp;<br>md0 : active raid10 sdd[4] sdc[2] sda[0](F) sdb[1](F)<br>&nbsp; &nbsp; &nbsp; 5860532736 blocks super 1.0 256K chunks 2 near-copies [4/2] [__UU]</blockquote>With one of four drives missing from the array, it was in a failed state, unable to operate. &nbsp;I've since realized that I could add a spare which should keep it running after a single failure. &nbsp;Hence I ordered 2 replacement drives and a couple\ndays later included a replacement for the failed drive (no spare yet until I free a drive slot).\n<br>\n<br>I wasn't immediately able to get the array up and running for a couple of reasons. &nbsp;Using the ubuntu disk utility gave me a visual insight as to what was going on and ability to add a drive, except that it's using fdisk utils that don't support drives\ngreater than something like 2TB, which includes me.\n<br>\n<br>Also, after trying a bunch of the typical procedures documented online, I realized that I wanted to add an entire disk /dev/sdd, to the array as a replacement, and not a partition like /dev/sdd1 which many guides and utilities seem to impose.\n<br>\n<br>Here's what ended up working for me:\n<br>\n<br>Begin by stopping the failed array.\n<br><code>$ sudo mdadm --manage /dev/md0 --stop<br></code>Then assemble the array without the failed disk (sdd in this case)\n<code>$ mdadm --assemble --run --force /dev/md0 /dev/sda /dev/sdb /dev/sdc</code>\n<br>Now you can add the new replacement disk<br><code>$ mdadm --manage /dev/md0 --add /dev/sdd</code>\n<br>Then you can sit back and watch the recovery status of your new drive\n<code>$ watch -n 1 cat /proc/mdstat</code><br><br>Hopefully this helps anyone reading this, and will definitely serve as documentation for me when it's time to put the sysadmin hack back on!","owner":{"id":"9bfa374d5fa8492800000000","name":"Jeff"},"seq":120,"slug":"raid-10-ftw","title":"RAID 10 FTW","tweet":{"id":""},"wistia":{"id":""},"wistiaAudio":{"id":""},"youtube":{"id":""},"id":"53ab6f23c6cc55520931b2c4"},{"at":"2014-03-25T18:00:00.000Z","feed":{"id":"532aa522c4deb4ee69a5b3af","at":"2014-03-20T08:21:54.793Z"},"groups":["public"],"headerCaption":{"color":"#000000","html":""},"headerTitle":null,"msg":"Gone are the days of recording video files for later processing. &nbsp;With the internet, it's easier to stream directly to YouTube and avoiding costly software and rendering time.\n<br>\n<br>What's the <b>quickest</b> and <i>easiest</i> way to:\n<br><ul><li>Record voice &amp; video calls with multiple parties</li>\n    <li>Screencast demonstrations or internet research</li>\n    <li>Stream live presentations &amp; seminars</li>\n    <li>Create a YouTube Channel or Podcast</li>\n</ul>\nThe old process of recording the raw media to your computer, and then using extra software to edit and then render the video, before uploading it to YouTube isn't necessary with Google Hangouts On Air.&nbsp;\n<br>\n<br>Whistle blower Edward Snowden uses and promoted Hangouts during his South by South West event, and even former Director of the CIA, General Patraeus is a user of Google products because it's fast, simple, easy, and powered by the cloud.\n<br>\n<br><b>Some limitations:<br></b><ul><li>Quality isn't the raw media capture. &nbsp;Although there are options for studio quality audio and even custom encoding that I haven't tried yet.</li>\n    <li>Hangout branding and video thumbnail layout is currently out of your control.</li>\n    <li>Raw without edits. &nbsp;Actually you can still edit the video using YouTube's video editor to trim, adjust and insert text to your video. &nbsp;You can also download the videos and edit them with software on your computer.</li>\n</ul>\nOf course it has these setbacks, but the time saved makes it a powerful tool for many uses that might not even have been worth the effort otherwise.\n<br>\n<br>Great use cases:&nbsp;\n<br><ol><li><b>Recording research</b>. &nbsp;About to dig into a topic, searching google, and finding sources online? &nbsp;Think about recording your research session for posterity via video, opening up your process and results for discussion and use by others.</li>\n    <li><b>Learning a new language</b>. &nbsp;A small group with audio chat can be anywhere in the world and practice speaking foreign language just like in a classroom.</li>\n    <li><b>Study groups and book clubs</b>. &nbsp;Topical groups with regular meetings can easily record events for archival and allows members to attend online.</li>\n    <li><b>Mastermind groups</b>. &nbsp;Getting advice from the right people is key. &nbsp;Removing the distance barrier and building a peer support and accountability group can be powerful.</li>\n    <li><b>Video podcast</b>. &nbsp;Anyone can start a podcast show. &nbsp;Production isn't difficult anymore and anyone willing to publish can. &nbsp;The key is consistency and hangouts let you focus on your show content instead of the production.</li>\n    <li><b>Interview podcast</b>. &nbsp;Pretty simple. &nbsp;Ask smart people with industry knowledge or those whom you admire, to be on your show. &nbsp;Ask them great questions to share their knowledge with the world.</li>\n    <li><b>Product demos</b>. &nbsp;Anyone with a physical or software product can use hangouts to pitch and hands on demonstrate the product for it's release, updates, sales webinars, etc. published directly to youtube for easy promotion.</li>\n    <li><b>Customer feedback</b>. &nbsp;Anyone with a product or service knows the power of getting customer feedback, and this is certainly an easy way to video chat with individuals, getting their emotional response, as well as details related to the product\n        itself with the help of video or screensharing.</li>\n</ol>\nThose are just some broad examples with, 1, 2 or a group of people, on audio, video or screensharing hangouts, that can stream live &amp; publish to youtube, or can be private.\n<br>\n<br>Here's a bunch of real world use cases that I was able to find people using hangouts for today.\n<br>\n<br><b>Examples of Hangouts:<br></b><b><br></b><a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/532f6754c4deb4ee69a5c074\">The White House</a>&nbsp;has used hangouts to share <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/532f6b7fc4deb4ee69a5c17d\">seasons greetings</a>,\npublish a series using called <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/532f6bdfc4deb4ee69a5c24d\">We the Geeks</a>, and Obama took a <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/532f6eadc4deb4ee69a5c2f1\">virtual road trip</a>,\nanswering questions from individuals from around the country.\n<br>\n<br>\n<iframe width=\"640\" alt=\"\" src=\"//www.youtube.com/embed/mRBT4JtmrMY?rel=0\" height=\"360\"></iframe>\n<br>\n<br>Political opinion shows are just starting to use the platform like <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/5330ffa9c4deb4ee69a5c82d\">Thom Hartmann</a><a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/5330ffa9c4deb4ee69a5c82d\">'s Program</a> and\nchannels like <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/53310002c4deb4ee69a5c8e3\">Russia Today</a>.\n<br>\n<br>Nike is using <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/533101a1c4deb4ee69a5c97d\">Hangouts to celebrate</a>&nbsp;a 27th anniversary and the company that's helping them promote it does celebrity <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/533113afc4deb4ee69a5cc84\">shop along</a>'s that seems like digital shopping with friends.\n<br>\n<br>\n<iframe width=\"640\" alt=\"\" src=\"//www.youtube.com/embed/Le37QVGm09U?rel=0\" height=\"360\"></iframe>\n<br>\n<br>Tom Merritt's long running <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/533103efc4deb4ee69a5ca20\">daily tech news</a> show is now broadcast and published with hangouts and other industries can easily broadcast online discussions\nlike Adam Simmons hosting GIS discussions on his show <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/53310cd9c4deb4ee69a5cb61\">Project Geo</a>.\n<br>\n<br>\n<iframe width=\"640\" alt=\"\" src=\"//www.youtube.com/embed/r7_BZe6cGoI\" height=\"360\"></iframe>\n<br>\n<br><a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/53310ea1c4deb4ee69a5cbe5\">NASA does hangouts</a>, like the one above that included an astronaut participant from space aboard the ISS, and audience participation.\n<br>\n<br>Back down here closer to earth, <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/53311569c4deb4ee69a5cd00\">Liverpool FC players and fans</a> are hanging out, people are picking their <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/533115fdc4deb4ee69a5cd74\">NCAA brackets together</a>,\ntalking to <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/533117a8c4deb4ee69a5ce2b\">authors</a>, and <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/5331181cc4deb4ee69a5cebe\">talking football</a>.\n<br>\n<br>The uses are endless, and your imagination can go wild once you're familiar with the simple tools that extend the power like screen sharing.\n<br>\n<br>Online entrepreneurs are using hangouts to collaborate with others in their field. &nbsp;Chad from Gittip did a great job getting together the <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/53311888c4deb4ee69a5cf30\">founders of four crowdfunding platforms</a>,\nfor a candid open call furthering everyone's knowledge and understanding of the field.\n<br>\n<br>\n<iframe width=\"640\" alt=\"\" src=\"//www.youtube.com/embed/l1-3AYgZRFQ?rel=0\" height=\"360\"></iframe>\n<br>\n<br>Dane Maxwell is using hangouts to <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/53311abec4deb4ee69a5cfa3\" title=\"Link: http://www.jeffpelton.com/urls/share/53311abec4deb4ee69a5cfa3\">collaborate with his group of entrepreneurs</a> and <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/53311b66c4deb4ee69a5d018\">small business owners</a> from around the world all helping each other to success in their common goal.<br><br>Health and Nutrition fans are posting discussions on <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/53311c32c4deb4ee69a5d08e\">green juicing</a>, <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/53311d0cc4deb4ee69a5d0fd\">Yoga 101</a>, and <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/53311d6cc4deb4ee69a5d16c\" title=\"Link: http://www.jeffpelton.com/urls/share/53311d6cc4deb4ee69a5d16c\">fat-burning</a>.<br><br>I've tried to provide a wide spectrum of examples, but you're only limited by your own search or desire to host your own hangout.<br><br>Google has also setup a marketplace of free and premium hangouts with experts and professionals, called <a href=\"https://www.jeffpelton.com/posts/using-google-helpouts-to-offer-your-expertise-advice-and-office-hours-from-anywhere\" title=\"Link: https://www.jeffpelton.com/posts/using-google-helpouts-to-offer-your-expertise-advice-and-office-hours-from-anywhere\">Helpouts</a>.<br><br>This communication tool is incredibly powerful and we haven't even looked into application development that could enable the customization and increase the longevity of the platform.&nbsp;","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"seq":116,"slug":"the-power-of-using-google-hangouts-to-publish-directly-to-youtube","tags":[{"color":"#ffce7c","name":"google","postsCount":3,"title":"Google","id":"530db78a6f43a60817093059"},{"color":"#c74e00","name":"platform","postsCount":2,"title":"Platform","id":"5312c6816f43a60817097fca"},{"color":"#a4d4ce","name":"cloud","postsCount":5,"title":"Cloud","id":"530d1ec8622211242cbe1159"},{"color":"#b9b9b9","name":"blog","postsCount":1,"title":"Blog","id":"5312c1c86f43a608170975cf"},{"name":"youtube","title":"YouTube","postsCount":1,"id":"53311e88c4deb4ee69a5d1ca"},{"name":"hangouts","title":"Hangouts","postsCount":1,"id":"53311e8cc4deb4ee69a5d1cc"}],"title":"The Power of Using Google Hangouts to Publish Directly to YouTube","tweet":{"id":""},"wistia":{"id":""},"wistiaAudio":{"id":""},"youtube":{"id":"M1n4lJ9eraU"},"id":"532aa522c4deb4ee69a5b3ae"},{"at":"2014-03-25T09:00:00.000Z","feed":{"id":"53312c70c4deb4ee69a5d4ef","at":"2014-03-25T07:12:48.017Z"},"groups":["public"],"headerCaption":{"color":"#000000","html":""},"headerTitle":null,"msg":"I recently covered the <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com/posts/the-power-of-using-google-hangouts-to-publish-directly-to-youtube\">power of google hangouts</a>, but didn't get into all of the mechanics on how. &nbsp;Actually I did a <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com/posts/how-to-use-google-plus-hangouts-on-air-live-with-youtube-channles-to-podcasting-instantly\">quick tutorial</a> almost a year ago, but a lot has changed since then, so I'll try my best at capturing today's latest tech from Google Plus Hangouts.<br><br>Briefly let's explain what Google Hangouts is. &nbsp;Since about a year ago, they started merging existing messaging platforms like your GMail chat, into the group focused Google+ Hangouts. &nbsp;The plans are to do the same with Google Voice, and I imagine everything else into the Google Plus platform, such as YouTube comments already has been merged.<br><br><b>What this means</b> is Google users have a Skype like group chat communication tool, with audio and video, up to 10 people, for free. &nbsp;It works in my web browser and as an app on my iPhone over 3G. &nbsp;The many points of integration to each site like G+, YouTube, GMail, and Google Voice can be confusing, but we'll try to demystify some of the common mistakes.<br><h1>Step by Step</h1>We'll take it one piece at a time, from preparation to editing your published video.<br><ol><li>Plan the event</li><li>Join the Hangout</li><li>Start the Broadcast</li><li>End the show</li><li>Edit your YouTube video</li></ol><h2>Planning for Success</h2>If you're going to setup a hangout for an event, you probably want to promote it ahead of time to drive traffic to the live broadcast. &nbsp;While you can create an event from the <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.youtube.com/my_live_events?action_create_live_event=1\">YouTube My Live Events</a> page, I'd suggest creating it from the \"Start a Hangout On Air\" button <a rel=\"nofollow\" target=\"_blank\" href=\"https://plus.google.com/u/0/hangouts/onair?e\">on Google Plus</a>&nbsp;which will create an event page for you on the social network, especially useful if you don't have your own blog or website to send people.<br><img alt=\"\" src=\"https://www.jeffpelton.com/api/files/images/full/uploads/Start-a-hangout-on-air.png\"><br>The window to create a new Hangout On Air allows you select \"Later\" and a calendar date &amp; time you expect to start the event, as well as a duration. &nbsp;If you have specific individuals that you want notified of the event, you can include them from your contacts. &nbsp;It's worth noting that if you want your hangout recorded and published to YouTube, be certain that you're using Hangout <b>On Air </b>to start the call.<br><img alt=\"\" src=\"https://www.jeffpelton.com/api/files/images/full/uploads/Scheduled hangout on air.png\"><br>After clicking the \"Share\" button to create your event, you will be taken to the event detail page. &nbsp;If you don't have a blog or website, this is a good page to direct your followers to. &nbsp;From here you can create a trailer for the event, turn on the Q&amp;A tool, invite, and interact with your audience.<br><br>Let people know that you're planning the event, allowing them to comment and ask questions ahead of time, and mark the date on their calendars for the live show. &nbsp;If you have a website, blog or other way of posting youtube videos, you can find the youtube.com video link provided under the Details section Links tab on the event page.<br><img alt=\"\" src=\"https://www.jeffpelton.com/api/files/images/full/uploads/Scheduled Hangout On Air Event Page.png\"><br>For some advanced settings you might need to dive into your YouTube page <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.youtube.com/my_live_events\">Live Events tab</a>&nbsp;where you can see your upcoming hangouts and edit the video title and description and other options.<br><h2>Joining the Hangout</h2>Once you're ready to start your event, simply visit the event detail page and click the \"Start\" button with the camera icon. &nbsp;You can also find your <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.youtube.com/my_live_events\">Live Events</a> via their tab on YouTube and join from there.<br><img alt=\"\" src=\"https://www.jeffpelton.com/api/files/images/full/uploads/Hangout Start.png\"><br>A new browser window or tab will open with the hangout. &nbsp;You'll be prompted to invite your guests to the hangout if you have any. &nbsp;You can also invite guests to join later by clicking on the invite button top center, or simply giving them the URL of the hangout you have open. &nbsp;This allows them to join as a participate in the hangout, while the YouTube link is for the audience to watch only.<br><br>You will see a progress meter bottom middle preparing for you to broadcast. &nbsp;Usually it takes only a minute to \"prepare\", which allows you to join your guests, test your microphone, webcam and screensharing if needed.<br><h2>Broadcasting Live</h2>Once you and your guests are ready to go live on YouTube, simply click the \"Start broadcast\" button at the bottom middle of the hangout window. &nbsp;Only the host of the event will be able to see and control this. &nbsp;You'll hear a couple of \"dings\" and the \"OFF AIR\" light should turn to \"ON AIR\".<br><br>At the bottom to the right of the ON AIR light, you'll also see a counter showing the number of current viewers you have on YouTube and a link for the URL of the YouTube video and event pages.<br><br>During the broadcast you can use applications from the left bar such as the \"Q&amp;A\", \"Cameraman\", \"Control Room\", and \"Hangout Toolbox\" to enhance your experience. &nbsp;They're mostly self explanatory and you'll be best off trying them yourself. &nbsp;The apps are also likely to change, which should continue to make the tools better.<br><br>There's a chat room for the participants on the right side of the hangout, that isn't displayed on screen of the YouTube video, great for sharing links and notes offscreen.<br><br>If you have more than one participant, one individual will be displayed larger at the center of the screen with the rest as thumbnails along the bottom. &nbsp;Google will automatically display the participant speaking to be shown. &nbsp;You can also manually choose to select which participant's video is full screen by clicking on them. &nbsp;As the host, what you see will also be the layout that YouTube records.<br><h2>Sign Off</h2>When you want the recording to stop, click the red \"Stop broadcast\" button at the bottom middle of your hangout as the host. &nbsp;The \"ON AIR\" light will turn off and you can continue your hangout with your guests without being broadcast on YouTube or captured in the recording.<br><br>Once you've ended the broadcast, you won't be able to turn it one again using the same YouTube video ID. &nbsp;I'v had a browser crash, and reloading the page kept the show going, but I'd suggest being mindful with the host broadcast button. &nbsp;Obviously you can simply start a new hangout quickly, but it will have a new URL. &nbsp;Luckily there are several ways to put the pieces back together without video editing software.<br><h2>Post Production</h2>Now that you're masterpiece is in the can, you can relax and begin to think about polishing it up.<br><br>The first thing you'll want to do it check the video detail page, and perfect the title, and description to include any pertinent details or links that you promised in the video.<br><br>Then you should consider commenting on the video to start a conversation and send it to friends.<br><br>If you're video was really long, or raw footage that needs to be edited down, or given a few titles and captions, try out the YouTube video editor from the web which seems perfectly capable of cuts, captions, etc. useful for cutting or stitching together videos at least.<br><br>When that's not enough, download the MP4 from your <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.youtube.com/my_videos?o=U\">YouTube Uploads</a> page from the video dropdown while in list view. &nbsp;They hide it, I know.<br><br>If you have a little bit of time for some extra detail or information, using simple annotations on YouTube video's allow you to link to extra information or detail that you might have left out during the live recording.&nbsp;<br><br>You also can add your videos to a playlist that will make it easier for your viewers to watch one video after another.<br><br>If things went really wrong, or someone spilled the beans, you can also make the YouTube video private, or unlisted instead of public.<br>","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"seq":117,"slug":"how-to-broadcast-on-youtube-with-google-hangouts-on-air","tags":[{"color":"#da1818","name":"youtube","postsCount":1,"title":"YouTube","id":"53311e88c4deb4ee69a5d1ca"},{"color":"#ffce7c","name":"google","postsCount":4,"title":"Google","id":"530db78a6f43a60817093059"},{"color":"#1bb600","name":"hangouts","postsCount":1,"title":"Hangouts","id":"53311e8cc4deb4ee69a5d1cc"},{"color":"#c74e00","name":"platform","postsCount":3,"title":"Platform","id":"5312c6816f43a60817097fca"},{"color":"#929292","name":"research","postsCount":5,"title":"Research","id":"531298b66f43a60817095a6b"},{"color":"#757575","name":"review","postsCount":1,"title":"Review","id":"5312c0836f43a608170973c1"}],"title":"Tutorial How To Broadcast on YouTube with Google Hangouts On Air","tweet":{"id":"448395681158279168"},"wistia":{"id":""},"wistiaAudio":{"id":""},"youtube":{"id":"u9dWJ-YXhdQ"},"id":"53312c70c4deb4ee69a5d4ee"},{"at":"2014-03-02T04:00:00.000Z","avatar":{"at":"2014-03-02T04:53:24.000Z","exif":{"ExifTool Version Number":"8.60","File Name":"f6920b95b4d0418ec4ab3012f0c7c5f2.jpg","Directory":"/tmp","File Size":"235 kB","File Modification Date/Time":"2014:03:02 04:53:23+00:00","File Permissions":"rw-r--r--","File Type":"JPEG","MIME Type":"image/jpeg","Exif Byte Order":"Little-endian (Intel, II)","Quality":"48%","XMP Toolkit":"Adobe XMP Core 5.0-c060 61.134777, 2010/02/12-17:32:00","Original Document ID":"xmp.did:F77F117407206811B6D6CA852366CCEE","Document ID":"xmp.did:424B9EDE99E711E3A82C8C676B275DC5","Instance ID":"xmp.iid:424B9EDD99E711E3A82C8C676B275DC5","Creator Tool":"Adobe Photoshop CS5 Macintosh","Derived From Instance ID":"xmp.iid:F87F117407206811B6D6CA852366CCEE","Derived From Document ID":"xmp.did:F77F117407206811B6D6CA852366CCEE","DCT Encode Version":"100","APP14 Flags 0":"[14], Encoded with Blend=1 downsampling","APP14 Flags 1":"(none)","Color Transform":"YCbCr","Image Width":"1600","Image Height":"900","Encoding Process":"Progressive DCT, Huffman coding","Bits Per Sample":"8","Color Components":"3","Y Cb Cr Sub Sampling":"YCbCr4:2:0 (2 2)","Image Size":"1600x900","":null},"filename":"uploads/bitcoin-header_47331.jpg","groups":["public"],"mimeType":"image/jpeg","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"ref":{"col":"files.files","id":"5312b9436f43a608170968d6"},"sizes":{"full":{"id":"5312b9456f43a608170968dc","filename":"images/full/uploads/bitcoin-header_47331.jpg"},"medium":{"id":"5312b9456f43a608170968e0","filename":"images/medium/uploads/bitcoin-header_47331.jpg"},"small":{"id":"5312b9466f43a608170968e4","filename":"images/small/uploads/bitcoin-header_47331.jpg"},"square":{"id":"5312b9466f43a608170968e8","filename":"images/square/uploads/bitcoin-header_47331.jpg"},"thumb":{"id":"5312b9466f43a608170968ec","filename":"images/thumb/uploads/bitcoin-header_47331.jpg"}},"id":"5312b9446f43a608170968da"},"feed":{"id":"53115faf6f43a608170950ef","at":"2014-03-01T04:18:55.081Z"},"groups":["public"],"headerTitle":{"color":"#fefffe"},"msg":"A lot has happened since I wrote my <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com/posts/whats-a-bitcoin-and-why-should-i-care--because-its-really-cool\">introduction to&nbsp;BitCoin</a>, let's do a quick catchup on current events and\nso some&nbsp;quick analysis.<br>\n<br>Trading at MtGox <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b6bcbd18edac805528b0e3\">has stopped</a> and they've <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/531121996f43a60817094c29\">filed for bankruptcy</a>&nbsp;after\n<a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/5312952f6f43a6081709597f\">losing 850,000 bitcoin</a>.\n<br>\n<br>\n<iframe width=\"640\" alt=\"\" src=\"//www.youtube.com/embed/NeuCuM9CkBc\" height=\"360\"></iframe>\n<br>\n<br>With 12,425,000 bitcoin in circulation, that was ~ 6.84% of the \"currency\" lost in a single heist. &nbsp;And we thought it was bad when a man <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/53129f8d6f43a60817095d41\">accidentally&nbsp;threw away</a> his laptop containing 7,500 coins that he'd mined himself.<br><br>\n<iframe width=\"640\" alt=\"\" src=\"//www.youtube.com/embed/0KM1G10WKWk\" height=\"360\"></iframe>\n<br>\n<br>Assuming the laptop gets destroyed, we can assume those coins will never be in circulation again.<br><br>It's also worth noting that a large chunk of <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/5312a32b6f43a6081709609d\">coins were seized by the FBI</a> from the Silk Road and it's operator the Dread Pirate Roberts,&nbsp;totaling around 173,655 coins. &nbsp;And it looks like it happened again this week for <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/5312a2066f43a60817095fec\">another 4,000</a> bitcoin.<br><br>And don't forget the first <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/5312a5826f43a608170961ac\">1,000,000 coins</a> or so that are believed to still be in possession of fabled bitcoin inventor Satoshi.<br><br>It seems like large chunks of the currency are held by a few people or groups.<br><br>Now I wonder, since the ledge is completely public, if we couldn't identify stolen coins and blacklist them from being used in future transactions?<br><br>BitCoin is so hot, it seems that even the <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/5312a7416f43a6081709629d\">TSA want's some of the action</a>, actually looking for the cryptocurrency during screening, if that makes any sense at all.<br>\n<br><br>\n<br>","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"seq":112,"slug":"bitcoin-battle","tags":[{"name":"bitcoin","title":"BitCoin","postsCount":1,"id":"531277116f43a608170956da"},{"color":"#a4d4ce","name":"cloud","postsCount":1,"title":"Cloud","id":"530d1ec8622211242cbe1159"},{"color":"#bbbf6c","name":"news","postsCount":2,"title":"News","id":"530db45f6f43a60817092d63"}],"title":"Bitcoin Battle","tweet":{"id":""},"wistia":{"id":""},"wistiaAudio":{"id":""},"youtube":{"id":""},"id":"53115faf6f43a608170950ee"},{"at":"2014-02-20T03:52:00.000Z","avatar":{"at":"2014-02-20T06:48:27.000Z","exif":{"ExifTool Version Number":"8.60","File Name":"e96e0c5db1f70f3b4507c6b39ba9c82b.jpg","Directory":"/tmp","File Size":"137 kB","File Modification Date/Time":"2014:02:20 06:48:27+00:00","File Permissions":"rw-r--r--","File Type":"JPEG","MIME Type":"image/jpeg","Exif Byte Order":"Little-endian (Intel, II)","Quality":"66%","XMP Toolkit":"Adobe XMP Core 5.0-c060 61.134777, 2010/02/12-17:32:00","Original Document ID":"xmp.did:0180117407206811BA5EEF604469551C","Document ID":"xmp.did:702E3EBE921E11E3B7BBBF7726985C44","Instance ID":"xmp.iid:702E3EBD921E11E3B7BBBF7726985C44","Creator Tool":"Adobe Photoshop CS5 Macintosh","Derived From Instance ID":"xmp.iid:0180117407206811BA5EEF604469551C","Derived From Document ID":"xmp.did:0180117407206811BA5EEF604469551C","DCT Encode Version":"100","APP14 Flags 0":"[14], Encoded with Blend=1 downsampling","APP14 Flags 1":"(none)","Color Transform":"YCbCr","Image Width":"1400","Image Height":"791","Encoding Process":"Progressive DCT, Huffman coding","Bits Per Sample":"8","Color Components":"3","Y Cb Cr Sub Sampling":"YCbCr4:4:4 (1 1)","Image Size":"1400x791","":null},"filename":"uploads/email-banner.jpg","groups":["public"],"mimeType":"image/jpeg","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"ref":{"col":"files.files","id":"5305a53b87a10bf4685cd1ef"},"sizes":{"full":{"id":"5305a53c87a10bf4685cd1f5","filename":"images/full/uploads/email-banner.jpg"},"medium":{"id":"5305a53c87a10bf4685cd1f9","filename":"images/medium/uploads/email-banner.jpg"},"small":{"id":"5305a53c87a10bf4685cd1fd","filename":"images/small/uploads/email-banner.jpg"},"square":{"id":"5305a53d87a10bf4685cd201","filename":"images/square/uploads/email-banner.jpg"},"thumb":{"id":"5305a53d87a10bf4685cd205","filename":"images/thumb/uploads/email-banner.jpg"}},"id":"5305a53b87a10bf4685cd1f3"},"feed":{"id":"53057beb87a10bf4685cc709","at":"2014-02-20T03:52:11.156Z"},"groups":["public"],"headerCaption":{"color":"#000000","html":""},"headerTitle":{"color":"#ff8300"},"msg":"I started out my day hearing the rants of a friend who was just fed up with cloud services treating him poorly. &nbsp;Mixing up account credentials and failing to jump though the proper hoops, you can quickly find yourself at a dead end with <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com/posts/rtfm\">no where to go</a>&nbsp;and no one to call.<br><br>In my journey to <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com/posts/want-to-make-a-better-and-have-your-own-facebook,-twitter,-foursquare,-gmail,-flickr,-delicious,-flipboard,-wordpress,-new-tab-page,-and-every-other-app!\">open source all the things</a> &amp; <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com/posts/my-apps\">apps</a> that I use daily, one of the last major reliance I have is on mail providers. &nbsp;E-mail continues to be the golden standard among all the notification bubbles around us. &nbsp;It's been long overdue, and partially attributable to the rather burdensome stigma setting up a server can be.<br><br>Setting up an open source server on linux, say postfix on Ubuntu can challenge your patience&nbsp;and&nbsp;persistence. &nbsp;Dealing with spam, DNS <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/53057c8a87a10bf4685cc7fa\">SPF</a> TXT &amp; MX entries, SSL &amp; webmail takes more than just a few steps. &nbsp;Then you have the mysterious problem that is <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/53057c5d87a10bf4685cc745\">deliverability</a>, which as led to <a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com/urls/share/53057d13978a25a562b1e58d\">many startups</a> that are successfully doing nothing but helping you send email.<br><br>The problem for users is that cloud email is becoming increasingly frustrating. &nbsp;The number of changes that have been made to webmail apps in the past two years, improving the app is nearly zero. &nbsp;For the most part it seems like the changes are dumbing down to the massive scale of the usage.<br><br>Another common use case that I thought would have better accommodations by now is the need for multiple addresses, and multiple domains. &nbsp;It's excruciating trying to manage more than a couple webmail accounts, and becoming worse with the increased pressure to provide a phone number for each account.<br><br>I might be special, but can't be the only one with more than one website that they'd like to receive email from. &nbsp;With those influences finally pushing me over the edge, I decided to take the Adam Curry challenge to setup an <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/520542dc2738f0bd19003527\">iRedMail</a> mail server.<br><br>I always mean to write badass walk through's to capture all the problems I bump into along the way, trying to be like those awesome pages you find on the internet that answer your exact problem, but I'm writing this after I got things mostly running. &nbsp;To get my feet wet, I used the AWS free EC2 micro instance that I haven't been using. &nbsp;Hopefully if it goes well and gets usage, I'll be upgrading it and growing the user base.<br><br>I'll spare the gory detail for today, but suffice to say I'm a little proud that I got it running to solve at least a couple issues today, and can now setup all the accounts and domains that I need in minutes. &nbsp;When I have more time I'll add more details, or just feel free to ask if you have any questions.<br><br>Although this took a bit of valuable time out of my day, I think it was well worth it, and honestly a task I've been putting off for far too long.<br><br><img alt=\"\" src=\"http://www.jeffpelton.com/api/files/images/full/uploads/win.jpg\"><br><br><br>","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"seq":111,"slug":"finally-hosting-email-on-my-cloud","tags":[{"name":"email","title":"E-Mail","postsCount":1,"id":"530d1ec1622211242cbe1157"},{"name":"cloud","title":"Cloud","postsCount":1,"id":"530d1ec8622211242cbe1159"},{"name":"hosting","title":"Hosting","postsCount":1,"id":"530d1eca622211242cbe115b"},{"name":"hosting","title":"Hosting","postsCount":1,"id":"530d1eca622211242cbe115b"}],"title":"Finally Hosting E-mail On My Cloud","tweet":{"id":"436624177701732352"},"wistia":{"id":""},"wistiaAudio":{"id":""},"youtube":{"id":""},"id":"53057beb87a10bf4685cc708"},{"at":"2014-01-29T01:15:00.000Z","feed":{"id":"52e85617732497797ce5b2bf","at":"2014-01-29T01:15:03.291Z"},"groups":["public"],"msg":"There have been a ton of new news site's launching in the past month. &nbsp;I've barely been able to keep up! &nbsp;Here's the news on news sites..<br><br>Slashdot's Rob Malda, aka CmdrTaco surprised me by launching a non-tech news site&nbsp;<a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com/urls/share/52e84b39978a25a562b0b1b1\" title=\"Link: http://smokinghotcoffee.com/urls/share/52e84b39978a25a562b0b1b1\">Trove.com</a>, \"The best news stories picked by people who share your interests\".<br><br>Jason Calacanis just launched <a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com/urls/share/52e75075978a25a562b0a243\">Inside.com</a>, a \"breaking news application\".<br><br>Kara Swisher and Walt Mossberg left their successful AllThingsD brand to start fresh with <a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com/urls/share/52e84dc8978a25a562b0b2ac\">recode.net</a>.<br><br>There's even a tech news site called \"<a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com/urls/share/52e8527a978a25a562b0b487\">The Information</a>\", umm ya, that's $400 / year.<br><br>Another popular mobile news app that showed up last year was <a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com/urls/share/52e84e03978a25a562b0b33e\">circa</a>, which allows you to follow curated topics. &nbsp;<br><br>We already had a wave of flipboard like news aggregators that focus on mobile ease of use. &nbsp;It looks like it's time for another wave of competitors.<br><br>I haven't really played with many of these, but clearly the news isn't going away anytime soon. &nbsp;With the <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com/posts/google-reader\">passing of Google Reader</a> last year, I'm excited to see some new blood and approaches to this massive daily habit of reading the news. &nbsp;We spend a lot of time doing it every day, and it's part of what I consider my professional interests to be on top of the latest trends and tech.<br><br>It's time to take another look at the development toolbox and features for news: RSS blogs and podcasts, aggregation, social signals, <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com/posts/mark-as-read\">mark as read</a>, mobility, ease of use, topics and source subscriptions, discussion and sharing.<br><br>There's an endless stream of news coming at us, and we have to pick and choose how to cast our nets and what to even bother with. &nbsp;It really is the&nbsp;epitome&nbsp;of our human challenge with the internet, finding signal in the vast amount of noise. &nbsp;In the digital information age, I think this is a very exciting area that can improve humanity with the freedom of knowledge around the world.<br><br>I'll be following these apps this year, so let me know if I missed any or you have any tips for getting your news.<br><br><br>","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"seq":106,"slug":"the-state-of-news-reporting-and-journalism-in-2014","tags":[{"name":"news","title":"News","postsCount":1,"id":"530db45f6f43a60817092d63"}],"title":"The state of news, reporting and journalism in 2014","tweet":{"id":"428335335336972288"},"wistia":{"id":""},"wistiaAudio":{"id":""},"youtube":{"id":""},"headerCaption":{"color":"#000000","html":""},"id":"52e85617732497797ce5b2be"},{"at":"2014-01-29T00:16:00.000Z","avatar":{"at":"2014-01-29T00:13:10.000Z","exif":{"ExifTool Version Number":"8.60","File Name":"798b64e4beea6e37bb322ec8a328fa3b.jpg","Directory":"/tmp","File Size":"91 kB","File Modification Date/Time":"2014:01:29 00:13:10+00:00","File Permissions":"rw-r--r--","File Type":"JPEG","MIME Type":"image/jpeg","Exif Byte Order":"Little-endian (Intel, II)","Quality":"50%","XMP Toolkit":"Adobe XMP Core 5.0-c060 61.134777, 2010/02/12-17:32:00","Creator Tool":"Adobe Photoshop CS5 Macintosh","Instance ID":"xmp.iid:92A836C5809D11E3A9E9B32FD03F6C7F","Document ID":"xmp.did:92A836C6809D11E3A9E9B32FD03F6C7F","Derived From Instance ID":"xmp.iid:92A836C3809D11E3A9E9B32FD03F6C7F","Derived From Document ID":"xmp.did:92A836C4809D11E3A9E9B32FD03F6C7F","DCT Encode Version":"100","APP14 Flags 0":"[14], Encoded with Blend=1 downsampling","APP14 Flags 1":"(none)","Color Transform":"YCbCr","Image Width":"871","Image Height":"346","Encoding Process":"Progressive DCT, Huffman coding","Bits Per Sample":"8","Color Components":"3","Y Cb Cr Sub Sampling":"YCbCr4:2:0 (2 2)","Image Size":"871x346","":null},"filename":"uploads/web-vs-native-apps.jpg","groups":["public"],"mimeType":"image/jpeg","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"ref":{"col":"files.files","id":"52e84796732497797ce5b0c0"},"sizes":{"full":{"id":"52e84796732497797ce5b0c6","filename":"images/full/uploads/web-vs-native-apps.jpg"},"medium":{"id":"52e84797732497797ce5b0ca","filename":"images/medium/uploads/web-vs-native-apps.jpg"},"small":{"id":"52e84797732497797ce5b0ce","filename":"images/small/uploads/web-vs-native-apps.jpg"},"square":{"id":"52e84797732497797ce5b0d2","filename":"images/square/uploads/web-vs-native-apps.jpg"},"thumb":{"id":"52e84797732497797ce5b0d6","filename":"images/thumb/uploads/web-vs-native-apps.jpg"}},"id":"52e84796732497797ce5b0c4"},"feed":{"id":"52e6e7cb732497797ce59130","at":"2014-01-27T23:12:11.626Z"},"groups":["public"],"msg":"In software application development, the first decision is always the selection of a programming language and platform to build on. &nbsp;With&nbsp;specific requirements to achieve a task, you can compare potential platforms for their benefits and limitations for your objective.<br><h2>What happened to the Desktop Application?</h2>Remember when the term \"app\" referred to desktop applications like word processing, image / video editing, productivity tools, games, etc?<br><br>Recently <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52e81afe732497797ce5a648\">AOL sold Winamp</a>, a highly adored old-school desktop app for playing mp3's. &nbsp;Besides your basic offline tools for creating, writing, drawing, drafting, multimedia production, etc.. what desktop app can't you live without? &nbsp;If it's not your web browser itself, I'm sure it requires the internet to be used. &nbsp;Tools like productivity, product management and knowledge collaboration with teams isn't usually effective without the internet.<br><br>When Apple released the first iPhone, developers were clamoring to build apps for the device. &nbsp;They were told to embrace the most unique feature of the mobile phone, it's full web browser. &nbsp;At the time the standard for mobile web dev was the very basic WAP platform, so a full browser was an amazing delight.<br><br>Of course native applications were inevitable if for the gaming contingent alone. &nbsp;Games are highly custom applications that require the most performance and flexibility a platform has to offer. &nbsp;Unfortunately, it's still not the first choice to build a game in the browser, but the technology is getting better.<br><br>Although Apple started by promoting HTML5 mobile applications, the release of their App Store revealed two very important advantages:<br><ol><li>App Design and Usability Standardization. &nbsp;Using the same interface components creates familiarity for the users and raises the bar for quality out of the gate.</li><li>Distribution through their store to millions of users, with credit cards on file.</li><li>Also worth mentioning is notifications that are some equivalent to email for internet marketing.</li></ol>This has attracted many applications to be developed that do nothing more than a webpage.<br><br>Being a big fan of the internet, and a hack web dev, the following is my criteria for a native mobile app.<br><ul><li>Does the application require native API or hardware access. &nbsp;There's been progress providing the browser this same features, but for instance raw access to your camera will require a native application.</li><li>Does the application require the internet? &nbsp;If your application necessarily requires the internet like say, a newspaper, or even twitter, I'm not sure that I understand the benefit as a user. &nbsp;Sure the interface looks appy, and you get a nice bookmark on the home screen, but often it's just a glorified website.</li></ul><h2>What's wrong with apps that are just glorified websites?</h2>Well there are a few limitations that come with joining the app store.<br><ul><li>Being accepted by Apple's high standards.</li><li>Longer development cycles that end with another approval process makes maintenance more difficult.</li><li>Maintaining your app with operating system updates and changes isn't as controllable as the open web.</li><li>Websites now offer full features that make them suitable as desktop applications such as offline support.</li></ul>I'm sure you've all experienced visiting your favorite social network, which will have both a mobile friendly &amp; formatted HTML website, as well as a native application on multiple mobile platforms.<br><br>As&nbsp;<a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52e6e80f732497797ce591ce\">Jeff Atwood put it</a>, \"I love phone apps for websites because it is just so much fun to learn two totally different and incompatible UIs for doing the same things\".<br><br>There's even a <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52e82c81732497797ce5a8d4\" title=\"Link: http://www.jeffpelton.com/urls/share/52e82c81732497797ce5a8d4\">blog dedicated</a> to how annoying the application pushers are based on <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52e82cb3732497797ce5a9a4\">the idea</a>, \"Any modal message—full-screen or alert—that interrupts user flow to ask them to download your app suffers from #doorslam #ux antipattern\".<br><br>When Google announced ChomeOS, the big question was, \"What about all the Android&nbsp;apps we're building?\". &nbsp;They're not going to work on a Chrome Book.<br><br>It also appears that the explosive growth of the App Store has subsided and we're all starting to feel app fatigue as this <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52e82e95732497797ce5ac00\">Forbes contributor says</a>, \"I’ve lost track of most of the Apps I’ve downloaded, like stale forgotten browser bookmarks\".<br><br>I also just noticed a headline that Facebook updated it's native app that now <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52e831c1732497797ce5ac79\" title=\"Link: http://www.jeffpelton.com/urls/share/52e831c1732497797ce5ac79\">requests access to your text messages</a>, but no one knows why. &nbsp;Just another example of taking unnecessary liberties - currently a <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52e833bb732497797ce5ada5\">hot topic</a>.<br><h2>The advantages of building for the native web.</h2><ul><li>Standards based, universal platform. &nbsp;It's the most deployed software development platform in the world that I know of. &nbsp;Not everyone has windows, or a mac, java or flash, but everyone has a web browser that speaks HTML and JavaScript. &nbsp;</li><li>Decentralized architecture levels the playing field around the world without any approval processes. &nbsp;The internet is the core technology to build on top of. &nbsp;Why would you build in a walled garden like AOL's old keyword pages, when you could build a website? &nbsp;The same could be said for facebook or iOS applications.</li><li>You don't have to ask permission, or jump through hoops to publish / ship your product on the web. &nbsp;That includes regular maintenance or updates. &nbsp;I lean toward a platform without limitation or gatekeepers for it's creative freedom, where I think the biggest innovations happens.</li></ul>I'll stop here for now, and perhaps elaborate later, but I wanted to write out my feelings on the topic as it seems practical for the state of software development. &nbsp;The first and most difficult step can be choosing a development platform, hopefully this will help give you a framework to decide.<br>","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"seq":105,"slug":"mobile-internet-applications-html-websites-vs-native-phone-apps-for-user-interface-efficiency","tags":[{"color":"#797aff","name":"apps","postsCount":1,"title":"Apps","id":"530db40a6f43a60817092d10"},{"name":"desktop","title":"Desktop","postsCount":1,"id":"530db4b46f43a60817092dcb"},{"name":"web","title":"Web","postsCount":1,"id":"530db4b56f43a60817092dcd"},{"name":"mobile","title":"Mobile","postsCount":1,"id":"530db4b76f43a60817092dcf"}],"title":"Mobile Internet Applications: HTML Websites vs Native Phone Apps for User Interface Efficiency","tweet":{"id":"428319718601023488"},"wistia":{"id":""},"wistiaAudio":{"id":""},"youtube":{"id":""},"id":"52e6e7cb732497797ce5912f"},{"at":"2014-01-14T22:29:00.000Z","avatar":{"at":"2014-01-14T22:30:09.000Z","exif":{"ExifTool Version Number":"8.60","File Name":"ef1ee0cae0841467b45d82b9f88aca86.png","Directory":"/tmp","File Size":"560 kB","File Modification Date/Time":"2014:01:14 22:30:09+00:00","File Permissions":"rw-r--r--","File Type":"PNG","MIME Type":"image/png","Image Width":"1234","Image Height":"745","Bit Depth":"8","Color Type":"RGB","Compression":"Deflate/Inflate","Filter":"Adaptive","Interlace":"Noninterlaced","Profile CMM Type":"appl","Profile Version":"2.1.0","Profile Class":"Display Device Profile","Color Space Data":"RGB","Profile Connection Space":"XYZ","Profile Date Time":"2014:01:03 19:23:25","Profile File Signature":"acsp","Primary Platform":"Apple Computer Inc.","CMM Flags":"Not Embedded, Independent","Device Manufacturer":"","Device Model":"","Device Attributes":"Reflective, Glossy, Positive, Color","Rendering Intent":"Perceptual","Connection Space Illuminant":"0.9642 1 0.82491","Profile Creator":"appl","Profile ID":"0","Profile Description":"Display","Profile Description ML (sk-SK)":"Farebné LCD","Profile Description ML (ca-ES)":"LCD en color","Profile Description ML (he-IL)":"‏LCD צבעוני","Profile Description ML (pt-BR)":"LCD Colorido","Profile Description ML (it-IT)":"LCD colori","Profile Description ML (hu-HU)":"Színes LCD","Profile Description ML (uk-UA)":"Кольоровий LCD","Profile Description ML (ko-KR)":"컬러 LCD","Profile Description ML (nb-NO)":"Farge-LCD","Profile Description ML (cs-CZ)":"Barevný LCD","Profile Description ML (zh-TW)":"彩色 LCD","Profile Description ML (de-DE)":"Farb-LCD","Profile Description ML (ro-RO)":"LCD color","Profile Description ML (sv-SE)":"Färg-LCD","Profile Description ML (zh-CN)":"彩色 LCD","Profile Description ML (ja-JP)":"カラー LCD","Profile Description ML (el-GR)":"Έγχρωμη οθόνη LCD","Profile Description ML (pt-PT)":"LCD a Cores","Profile Description ML (nl-NL)":"Kleuren-LCD","Profile Description ML (fr-FR)":"LCD couleur","Profile Description ML (es-ES)":"LCD color","Profile Description ML (th-TH)":"LCD สี","Profile Description ML (tr-TR)":"Renkli LCD","Profile Description ML (fi-FI)":"Väri-LCD","Profile Description ML (hr-HR)":"LCD u boji","Profile Description ML (pl-PL)":"Kolor LCD","Profile Description ML (ru-RU)":"Цветной ЖК-дисплей","Profile Description ML":"Color LCD","Profile Description ML (da-DK)":"LCD-farveskærm","Profile Copyright":"Copyright Apple, Inc., 2014","Media White Point":"0.95047 1 1.0891","Red Matrix Column":"0.43631 0.22931 0.009","Green Matrix Column":"0.38683 0.70757 0.06755","Blue Matrix Column":"0.14108 0.06313 0.74835","Red Tone Reproduction Curve":"(Binary data 2060 bytes, use -b option to extract)","Video Card Gamma":"(Binary data 1554 bytes, use -b option to extract)","Native Display Info":"(Binary data 1598 bytes, use -b option to extract)","Chromatic Adaptation":"1.04788 0.02292 -0.0502 0.02957 0.99049 -0.01706 -0.00923 0.01508 0.75165","Make And Model":"(Binary data 40 bytes, use -b option to extract)","Blue Tone Reproduction Curve":"(Binary data 2060 bytes, use -b option to extract)","Green Tone Reproduction Curve":"(Binary data 2060 bytes, use -b option to extract)","XMP Toolkit":"XMP Core 5.1.2","Exif Image Width":"1234","Exif Image Height":"745","Image Size":"1234x745","":null},"filename":"uploads/JP-Feed.png","groups":["public"],"mimeType":"image/png","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"ref":{"col":"files.files","id":"52d5ba717cf67c3960642ba4"},"sizes":{"full":{"id":"52d5ba727cf67c3960642bac","filename":"images/full/uploads/JP-Feed.png"},"medium":{"id":"52d5ba737cf67c3960642bb1","filename":"images/medium/uploads/JP-Feed.png"},"small":{"id":"52d5ba737cf67c3960642bb5","filename":"images/small/uploads/JP-Feed.png"},"square":{"id":"52d5ba747cf67c3960642bb9","filename":"images/square/uploads/JP-Feed.png"},"thumb":{"id":"52d5ba747cf67c3960642bbe","filename":"images/thumb/uploads/JP-Feed.png"}},"id":"52d5ba717cf67c3960642baa"},"feed":{"id":"52d5ba4a7cf67c3960642b99","at":"2014-01-14T22:29:30.124Z"},"groups":["public"],"msg":"As I continue to harden the House.js foundation, you'll notice some improvements to my site. &nbsp;Today I've redesigned the <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com\">homepage</a> feed to reflect the work I've previously done to the <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com/posts/building-fundamental-internet-applications-url-bookmarking-and-news-subscription\">URL bookmarking</a> app.<br><br>The big changes since my last homepage redesign is the use of <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com/posts/bootstrap-3-0\">Bootstrap 3</a> and many small user interface, and under the hood improvements to the House.js platform like asynchronous javascript optimization for faster client loading.<br><br><img alt=\"\" data-active-src=\"https://www.jeffpelton.com/api/files/uploads/JP-Feed.gif\" src=\"https://www.jeffpelton.com/api/files/images/full/uploads/JP-Feed.gif\"><br><br>Sure it could use a few improvements like perhaps comments, favorites, filtering, etc.. &nbsp;For now the feed provides a quick aggregate view of site activity including blog posts, URL bookmarks, image uploads, checkins, todo lists and more.","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"seq":103,"slug":"home-feed-update","tags":["homepage",{"name":"housejs","title":"House.js","postsCount":1,"id":"530db58b6f43a60817092ef6"},{"color":"#f98549","name":"web","postsCount":1,"title":"Web","id":"530db4b56f43a60817092dcd"},{"name":"homepage","title":"Homepage","postsCount":1,"id":"530db63c6f43a60817092f02"}],"title":"Home Feed Update","tweet":{"id":"423226866414022656"},"wistia":{"id":""},"wistiaAudio":{"id":""},"youtube":{"id":""},"id":"52d5ba4a7cf67c3960642b98"},{"at":"2013-12-23T11:52:52.910Z","feed":{"id":"52b82414ab64fb617d8955f2","at":"2013-12-23T11:52:52.910Z"},"groups":["public"],"msg":"As usual it's been too long since my last update, so I'm going to restrain from over editing, and simply publish. &nbsp;I'm always trying to get the product perfect before showing it off, or considering it complete, but in reality, these tools are a work in progress that I use everyday.<br><br>It is worth taking a moment for me to pay tribute to the open source software that found me in high school and stared my journey as a web developer. &nbsp;The <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b7c30bab64fb617d88b20f\">Edge CMS</a> was a PHP framework that I was able to morph into a URL bookmarking in 2001. &nbsp;Even looking at it's <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b7c5bfab64fb617d88b98d\">source code</a> today, I warmly remember all of the feature it came with including classifieds, news, forums, picture of the day, and more.<br><br>Recently I've taken some time to bolster the <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b82202ab64fb617d895471\">House.js</a> URL and bookmarking application, which ultimately supports many other functions of the website like blog rss subscription, and saving links for other reasons. &nbsp;At first my goal was simply to bring the frontend user interface up to speed with Bootstrap 3, but with usage, I was quickly fighting bugs and http behaviors.<br><br>Now I'm confident that I've at least made progress toward bolstering and hardening the backend web service involved with archiving web URLs. &nbsp;I read the docs and made use of command line options for curl and phantomjs that were new to me, and now improve the robustness of the process.","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"seq":101,"slug":"building-fundamental-internet-applications-url-bookmarking-and-news-subscription","tags":[{"color":"#797aff","name":"apps","postsCount":2,"title":"Apps","id":"530db40a6f43a60817092d10"},{"name":"urls","title":"URLs","postsCount":1,"id":"530db6da6f43a60817092f92"},{"color":"#f98549","name":"web","postsCount":2,"title":"Web","id":"530db4b56f43a60817092dcd"},{"color":"#0000ff","name":"housejs","postsCount":1,"title":"House.js","id":"530db58b6f43a60817092ef6"}],"title":"Building Fundamental Internet Applications: URL Bookmarking and News Subscription","tweet":{"id":""},"wistia":{"id":""},"wistiaAudio":{"id":""},"youtube":{"id":"2gFaWqYPO9c"},"id":"52b82414ab64fb617d8955f1"},{"at":"2013-12-22T14:00:00.000Z","avatar":{"at":"2013-12-22T09:13:41.000Z","exif":{"ExifTool Version Number":"8.60","File Name":"e51ff642838e6bb40de02b3a21a59e55.jpg","Directory":"/tmp","File Size":"44 kB","File Modification Date/Time":"2013:12:22 09:13:40+00:00","File Permissions":"rw-r--r--","File Type":"JPEG","MIME Type":"image/jpeg","JFIF Version":"1.01","Resolution Unit":"None","X Resolution":"1","Y Resolution":"1","Image Width":"625","Image Height":"406","Encoding Process":"Baseline DCT, Huffman coding","Bits Per Sample":"8","Color Components":"3","Y Cb Cr Sub Sampling":"YCbCr4:4:4 (1 1)","Image Size":"625x406","":null},"filename":"uploads/what-is-bitcoin.jpg","groups":["public"],"owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"ref":{"col":"files.files","id":"52b6ad4418edac805528abd9"},"sizes":{"small":{"id":"52b6ad4518edac805528abde","filename":"images/small/uploads/what-is-bitcoin.jpg"},"square":{"id":"52b6ad4518edac805528abe1","filename":"images/square/uploads/what-is-bitcoin.jpg"},"thumb":{"id":"52b6ad4518edac805528abe4","filename":"images/thumb/uploads/what-is-bitcoin.jpg"}},"id":"52b6ad4518edac805528abdc","feed":{"id":"52b6ad4518edac805528abe7","at":"2013-12-22T09:13:41.000Z"}},"feed":{"id":"52b3fcf618edac8055283d9d","at":"2013-12-20T08:16:54.557Z"},"groups":["public"],"msg":"There's a lot of questions with the recent hype around BitCoin. &nbsp;Especially during the holiday spending season, what does this mean for about the proposed&nbsp;future of&nbsp;spending money?<br><h2>Let's start with some basics questions:</h2><b>How do I get the currency?&nbsp;<br><br></b>Coins are kept in your wallet application on your desktop computer. &nbsp;You can also use an online service to manage that for you.<b><br></b><br>You can exchange dollars for coins on markets like&nbsp;<a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b6bc1f18edac805528b065\">mtgox</a>. &nbsp;Right now it's right at almost&nbsp;$700 per coin down from the recent hype that took it up to $1,200.&nbsp;<br><br><a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b6ca17e474f83a4cb929b4\"><img alt=\"\" src=\"http://www.jeffpelton.com/api/files//tmp/DDraw&amp;r=360&amp;i=&amp;c=0&amp;s=&amp;e=&amp;Prev=&amp;Next=&amp;t=C&amp;b=&amp;a1=&amp;m1=10&amp;a2=&amp;m2=25&amp;x=0&amp;i1=&amp;i2=&amp;i3=&amp;i4=&amp;v=1&amp;cv=1&amp;ps=0&amp;l=0&amp;p=0&amp;\"></a><br>This should remind you that it's speculative and&nbsp;if you need pay your rent with coins, they're only as valuable as the current&nbsp;exchange&nbsp;rate.<br><br>The best way to get Bitcoin of course is earning them for services and goods which you can do by accepting the digital payments to your unique address. &nbsp;Companies like <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b6bae118edac805528afb9\">BitPay</a> make it easy for exiting ecommerce sites&nbsp;to accept Bitcoins.<br><br><b>Where does a Bitcoin&nbsp;come from?<br></b><br>The other way that you can obtain Bitcoin's is by <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b55eaf18edac8055286260\">mining&nbsp;them</a> with your computer. &nbsp;It's built to be purposefully intensive so the&nbsp;growth rate is predictable.<br><br>\"Miners\" dedicate computational&nbsp;resources to maintaining the network accuracy and are rewarded with new coins created at a predetermined rate, currently <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b6cf68e474f83a4cb92d3b\">3600 coins a day</a>.<br><br><b>Where can I spend it &amp;&nbsp;what can I buy with it?<br></b><br>There's an <a rel=\"nofollow\" target=\"_blank\" href=\"https://en.bitcoin.it/wiki/Trade\">exhaustive list</a> on the official wiki that includes everything from web hosting, hotels bookings,&nbsp;and professional services, to <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b5050518edac8055285c24\">gambling</a> and <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b6e31fe474f83a4cb93c75\">drugs</a> sold on the Dread Pirate Roberts now defunct Silk Road. &nbsp;And now&nbsp;there's a <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b6af2618edac805528ac65\">CoinMap</a>&nbsp;that helped me find a <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b6af3b18edac805528acf7\">small local grocer</a> that's a&nbsp;long time advocate of sustainable agriculture and food production in San Diego.<br><a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b6af2618edac805528ac65\"><img alt=\"\" src=\"http://www.jeffpelton.com/api/files/images%2Fmedium%2Furls%2Fhttp%3A%2F%2Fcoinmap.org%2F.png\"></a><br><b><br>How does a transaction work?<br></b><br>When you want to send money to someone, you open your wallet and create a transaction to their address such as, and the amount you want to send.<br><img alt=\"\" src=\"http://www.jeffpelton.com/api/files/uploads/Screen%20Shot%202013-12-22%20at%204.14.00%20AM.png\"><br>Fee's can be included essentially as a tip to the miners for their work, and as a deterrent to spammers. &nbsp;Here's a <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b6ffc710dad74a58b7fed9\">visual</a> of what happens behind the scenes to make it happen.<br><br><b>How does it work? &nbsp;How do I know it's secure?<br></b><br>Bitcoin is the first, and inspiration for more than 60 other&nbsp;<a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b6acef18edac805528ab03\">cryptocurrencies</a>. &nbsp;The software and algorithms are <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b6e079e474f83a4cb9390a\">open source</a> that provides the transparency most nerds love and trust &amp; making&nbsp;<a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b62adc18edac80552869eb\">adorable</a> spin offs possible.<br><h2><br></h2><h2>The History of Bitcoin</h2>When I have more time I'll elaborate on the history, because it's so intriguing. &nbsp;The idea originated from the character known as Satoshi Nakamoto, who bestowed the idea on the world as a <a rel=\"nofollow\" target=\"_blank\" href=\"http://bitcoin.org/bitcoin.pdf\">white paper</a> four years ago, and then vanished a year or two later, saying \"the project was in good hands\". &nbsp;It's estimated that Satoshi could have nearly $1 billion dollars worth of Bitcoins that he mined early on.<br><br><b>Good to know:</b><br><br>You might have heard that Bitcoin is completely anonymous, but actually the entire <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b6f0b0e474f83a4cb949b1\">block chain</a> is public, showing all transactions. &nbsp;Anyone can see senders and recipients of transactions, including the amount, but accounts are represented by non identifying hashes.<br><br><b>Other potential uses for distributed crypto apps:</b><br><br>There's a <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b6d151e474f83a4cb92e35\">Namecoin</a> for DNS promoted by the Dot-Bit project called to distribute domain names that could be interesting.<br><br>Signatures for contracts could be digitally signed and authenticated and verified by multiple parties.<br><br>I also recently stumbled on this <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.jeffpelton.com/urls/share/52b38976446c4e222a66064b\">guy who is \"publicly traded\"</a>. &nbsp;I've thought that would be a great idea for a community site like reddit to give a say to the users as&nbsp;shareholders.<br><br><b>What BitCoin is good for right now.<br></b><br>If you need to transfer money internationally, it could save you on fees. &nbsp;You're free to engage in transactions you might not be able to otherwise like gambling.<br><br>Besides those specific purposes, I find it hard to see Bitcoin's getting into most consumers hands. &nbsp;It's currently unstable and a speculative market.<br><br><b>Questions that&nbsp;I still have:</b><br><br>With all of these computers grinding away to solve some algorithm hashes, could we harness that power to a purpose like folding proteins or something?<br>","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"seq":96,"slug":"whats-a-bitcoin-and-why-should-i-care--because-its-really-cool","tags":["cryptocurrency",{"color":"#fff894","name":"bitcoin","postsCount":1,"title":"BitCoin","id":"531277116f43a608170956da"},{"name":"research","title":"Research","postsCount":1,"id":"531298b66f43a60817095a6b"}],"title":"What's a Bitcoin and why should I care?  Because it's really cool!","tweet":{"id":""},"wistia":{"id":""},"wistiaAudio":{"id":""},"youtube":{"id":""},"id":"52b3fcf618edac8055283d9c"},{"at":"2013-11-05T21:40:00.000Z","feed":{"id":"527965d82738f0bd19014e44","at":"2013-11-05T21:40:40.272Z"},"groups":["public"],"msg":"I'm pleased to be among the first batch of providers offering their services on <a rel=\"nofollow\" target=\"_blank\" href=\"https://helpouts.google.com/104975763505137192213\">Google's new Helpouts</a>. &nbsp;They've built a clean marketplace for individual, one-on-one expertise over Google Plus Hangouts.<div><br></div><div>Hangouts is a disruptive communications tool offered for free by Google, that seems to eliminate any need for Skype's frustration, limitation and price. &nbsp;Not to mention the open ended capabilities of Hangouts via app plugins to enhance the real time experience.</div><div><br></div><div>One of the major features of Hangouts that make it an ideal tool for teaching is the ability to simply screen share. &nbsp;Without any effort you can show rather than say what you're discussing. &nbsp;Combined with multiple participants, and publishing a recording directly to YouTube, the ease of use is currently unmatched.</div><div><br></div><div>Today I'll be chatting with a handful of complete strangers about full stack web dev. &nbsp;Given any luck, I might even be able to help them out.</div>","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"seq":95,"slug":"using-google-helpouts-to-offer-your-expertise-advice-and-office-hours-from-anywhere","tags":[{"name":"google","title":"Google","postsCount":1,"id":"530db78a6f43a60817093059"}],"title":"Using Google Helpouts to offer your expertise, advice and office hours from anywhere","tweet":{"id":"397840513556287488"},"wistia":{"id":""},"wistiaAudio":{"id":""},"youtube":{"id":""},"id":"527965d82738f0bd19014e43"},{"at":"2013-09-18T22:58:00.000Z","feed":{"id":"523a301e2738f0bd190089a1","at":"2013-09-18T22:58:38.319Z"},"groups":["public"],"msg":"Choosing the right tools can make your work delightful, but choosing the wrong tool often leads to difficult decisions and more work down the road. &nbsp;Walking the fine line of usefulness and capability, to be both simple but customizable, is difficult.<br><br>Deciding to use a tool set or framework, such as Twitter's Bootstrap, is no easy decision. &nbsp;You worry that its either too much or too little for your project. &nbsp;On top of having to learn all of it's behaviors and idiosyncrasies, you'll probably want to customize it anyways.<br><br>After using Bootstrap 2 to power a few one page websites, I've run it through my constraints and criticism successfully. That's saying a lot considering my usual skepticism, but it's beginning to look time tested. &nbsp;Really my only concerns would be that it's more than I need, or that it deprives some creativity. &nbsp;Remember when you'd go to a website and instantly realize that it was a FrontPage template? &nbsp;I don't want to build a sterile boundary void of creativity.<br><br>Despite my concerns, I'm now realizing this is another amazing open source project that is worth adopting. &nbsp;With almost <a rel=\"nofollow\" target=\"_blank\" href=\"https://github.com/twbs/bootstrap/stargazers\">60,000 followers</a>, this project clearly has legs, which means that I don't have to worry about fixing all the tiny bugs in IE or Opera that plague web developers.<br><br>With their recent major release of <a rel=\"nofollow\" target=\"_blank\" href=\"http://blog.getbootstrap.com/2013/08/19/bootstrap-3-released/\">Bootstrap 3</a>, it seemed like a good time to migrate what I had from 2 &gt; 3 and reap the benfits of their reasonable defaults, thoughtful typography, responsive grid system, plus clean components like form inputs and buttons. &nbsp;With some extra goodies like tooltips, modals, and glyph/icons, it starts to feel like a relief rather than a bloat. <br><br>Now that it's responsive centric, it appears to be a solid foundation for most web apps that want to be mobile and desktop friendly without a lot of extra work.<br><br>It's exciting to see libraries of <a rel=\"nofollow\" target=\"_blank\" href=\"http://bootsnipp.com/\">snippets</a>, templates, and <a rel=\"nofollow\" target=\"_blank\" href=\"http://bootswatch.com/\">themes</a>, and even an <a rel=\"nofollow\" target=\"_blank\" href=\"https://jetstrap.com/\">interface builder</a>,&nbsp;to support creativity in the community. &nbsp;I'm looking forward to spot unexpected sites in the wild, <a rel=\"nofollow\" target=\"_blank\" href=\"http://builtwithbootstrap.com/\">built with bootstrap</a>.","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"seq":94,"slug":"bootstrap-3-0","tags":["ui",{"name":"usability","title":"Usability","postsCount":1,"id":"5312bd696f43a60817096e6a"},{"name":"user-interface","title":"User Interface","postsCount":1,"id":"5312bd6d6f43a60817096e6e"},{"color":"#0fc900","name":"code","postsCount":2,"title":"Code","id":"530db53b6f43a60817092ea5"},{"color":"#f98549","name":"web","postsCount":3,"title":"Web","id":"530db4b56f43a60817092dcd"},{"color":"#75cc62","name":"mobile","postsCount":1,"title":"Mobile","id":"530db4b76f43a60817092dcf"}],"title":"Bootstrap 3.0","tweet":{"id":"380465474401603584"},"youtube":{"id":""},"id":"523a301e2738f0bd190089a0"},{"at":"2013-05-20T01:34:00.000Z","feed":{"id":"51997d991d0942c60b0023bb","at":"2013-05-20T01:34:17.908Z"},"groups":["public"],"msg":"Just a quick collection of snaps in sunny San Diego from my iPhone.<br><img alt=\"\" src=\"http://www.jeffpelton.com/api/files/images/full/uploads/sea.JPG\" title=\"Image: http://www.jeffpelton.com/api/files/images/full/uploads/sea.JPG\"><br>From the OB Pier, Balboa Park and Sunset Cliffs.<br><br><img src=\"http://www.jeffpelton.com/api/files/images/medium/uploads/purpleflowers.JPG\" alt=\"\" class=\"undefined\" title=\"Image: http://www.jeffpelton.com/api/files/images/medium/uploads/purpleflowers.JPG\"><img alt=\"\" src=\"http://www.jeffpelton.com/api/files/images/medium/uploads/south-cliffs.JPG\" title=\"Image: http://www.jeffpelton.com/api/files/images/medium/uploads/south-cliffs.JPG\"><br>","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"seq":92,"slug":"san-diego-snaps","tags":["offline",{"name":"offline","title":"Offline","postsCount":1,"id":"5312c1156f43a60817097478"}],"title":"San Diego Snaps","youtube":{"id":""},"wistia":{"id":""},"wistiaAudio":{"id":""},"headerCaption":{"color":"#000000","html":""},"tweet":{"id":""},"id":"51997d991d0942c60b0023ba"},{"at":"2013-05-15T00:27:00.000Z","feed":{"id":"5192d68b43fd663858000a83","at":"2013-05-15T00:27:55.441Z"},"groups":["public"],"msg":"Recently I've been looking at publishing platforms online including multimedia audio and video streaming.<br><br>As a start up entrepreneur I'm always trying to stay on top of the latest tools and tech available. &nbsp;As a creative whose medium is the Internet, it's important to know the evolving capabilities and tools available.<br><br>With bandwidth and device connectivity improving, rich multimedia and collaborative applications are beginning to gain adoption.<br><br>It's worth taking a moment to review the state of <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.google.com/?q=live+video+streaming\">live video streaming</a> on the Internet. &nbsp;It looks mostly the same as a few years ago with ustream.tv, livestream.com &amp; justin.tv sitting at the top.<br><br>However, YouTube is finally offering a product to consumers for free! &nbsp;I guess this is <a rel=\"nofollow\" target=\"_blank\" href=\"http://techcrunch.com/2012/05/07/want-to-broadcast-live-on-youtube-youll-need-a-google-account-for-that/\">old news</a>&nbsp;but I don't think they've made it obvious or easy for users to find. &nbsp;Thus, I thought this post might document my current experience testing out the platform. &nbsp;To my surprise, I've also seen it <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.youtube.com/watch?v=VO2HgRzeqJ8\">work on a mobile</a> iPhone, and they just announced <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.youtube.com/channels/paid_channels\">paid channels</a>.<br><br><img alt=\"\" src=\"https://www.jeffpelton.com/api/files/uploads/screenshot234.png\"><br><br>The purpose and motive of my exploration into these publishing platforms is my desire to create. &nbsp;You have to know the medium exists before you can express yourself through it.<br><br>With that said, I hope this gives you confidence to try it out and see what's possible.<br><br>For the <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com/posts/startup-lessons-over-coffee\">Smoking Hot Coffee show</a>, we've been using hangouts in favor to Skype because of the price and ease of use. &nbsp;We can quickly and easily get more than two people chatting, screen sharing and recorded.<br><br>In my pursuits of <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com/posts/housejs\">open source</a>, <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com/posts/what-is-jeffshouse\">documenting my life</a>, and <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com/posts/blogging-and-other-internet-applications\">generally blogging more</a>, I've tested out what hangouts can do for <a rel=\"nofollow\" target=\"_blank\" href=\"http://www.youtube.com/watch?v=8JAnIDE6Pq4\">live coding</a>.<br><br><img alt=\"\" src=\"https://www.jeffpelton.com/api/files/images/thumb/urls/https://www.youtube.com/live/all.png\"><br><br>Now I see people using this to do things like streaming video games, sporting events, news &amp; politics, howto's, pet cams and more. &nbsp;Ultimately&nbsp;the creativity of the content is up to you. &nbsp;Early on YouTube live streams seemed limited to the White House or Coachella, but now with Google Plus Hangouts, you can publish your thoughts and screencast in minutes without any software or downloads.<br><br>When I realized that it wasn't intuitive what I could do using all of these tools, Google's Plus Hangouts, with live streaming and auto publishing to YouTube, I decided to document the state of this tech.<br><br>There's no better way than to <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.youtube.com/watch?v=XH9kyAnCs_8\">demonstrate</a> and show the tool itself. &nbsp;If you're reading this, hopefully you can watch the attached video I'm going to quickly demo publishing a screencast with no downloads or software via YouTube.<br><br>The things I struggled with the most were understanding how all of these things fit together: Google Plus, Hangouts, On Air (streaming) &amp; YouTube. &nbsp;It's easier to show than tell, but there's many ways to start a hangout, but you have to do it from plus.google.com to check the \"on air\" option which streams the hangout to a normal YouTube embed player, but also publishes the live stream as an uploaded video in your YouTube account. &nbsp;Unfortunately I wasn't able to achieve this when attaching the hangout link via GMail's Calendar.<br><br><img alt=\"\" src=\"https://www.jeffpelton.com/api/files/uploads/screenshot235.png\"><br><br>You can invite your \"circles\" to the hangout and I suppose they might get notified about it. &nbsp;Also I think it's only mutually circled \"friends\". &nbsp;Otherwise, only those you invite can join in to participate in the hangout, and those who are just watching it live, can comment on the video like a normal clip.<br><br>Once you've given it a shot, you can start to play with the screen sharing and dream up the great ways that you can quickly collaborate and publish interesting content - quickly.<br><br><br><br><br><br><br><br><br><br><br><br><br><br>","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"seq":91,"slug":"how-to-use-google-plus-hangouts-on-air-live-with-youtube-channles-to-podcasting-instantly","tags":["youtube",{"color":"#929292","name":"research","postsCount":4,"title":"Research","id":"531298b66f43a60817095a6b"},{"color":"#a96393","name":"hosting","postsCount":2,"title":"Hosting","id":"530d1eca622211242cbe115b"},{"name":"platform","title":"Platform","postsCount":1,"id":"5312c6816f43a60817097fca"}],"title":"How to use Google Plus Hangouts, On Air with a YouTube Channel to Live Broadcast and Podcast Instantly","youtube":{"id":"XH9kyAnCs_8"},"id":"5192d68b43fd663858000a82"},{"at":"2013-04-30T01:14:37.442Z","feed":{"id":"517f1afdbfddc7791f005ed4","at":"2013-04-30T01:14:37.442Z"},"groups":["public"],"msg":"After getting back from our trip to SF for the ad-tech conference, it felt like we might be on to something.<br><br>Getting startup founders and entrepreneurs to share their story with us has been a great success! &nbsp;Since everyone wins from the education, exposure and networking, it almost comes naturally.<br><br>With the last two weeks of the <a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com/posts/\">internet startup podcast</a> under my belt, I'm here to report on my progress as a student of internet&nbsp;entrepreneurship. &nbsp;I've realized that there's always more to learn.<br><br>I'll be brief and let you dig into the material yourself, but I want to reflect on the great conversations that we've had with amazing entrepreneurs around the world!<br><br>So far I've been impressed by everyone we talk to, and am only limited by my own questions and interviewing skills. &nbsp;This has surpassed my expectations for what the <a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com/\">Smoking Hot Coffee</a> podcast could be as a channel for the startup community.<br><br>I learned about topics from <a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com/posts/interview-with-letmehearya-founder-ryan-granner\">fundraising in LA</a>, to&nbsp;<a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com/posts/internet-startup-show-cup-56--julia-teaches-us-how-to-succeed-at-guest-blogging\">guest blog posts</a>, <a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com/posts/internet-startup-show-cup-53--interview-chris-hexton-ceo-of-getvero\">targeted email marketing</a>, <a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com/posts/internet-startup-show-cup-50--digital-identity-interview-qnary-with-bant-breen-and-amber-greviskes\">digital identity</a>, <a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com/posts/internet-startup-show-cup-51--wade-foster-tells-us-how-zapier-solves-real-problems\">connecting saas solutions</a>, <a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com/posts/internet-startup-show-cup-55--interview-arjun-dev-arora-ceo-of-retargeter\">ad retargeting</a>, &nbsp;and even <a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com/posts/internet-startup-show-cup-49--zillionears-startup-story-with-jordan-nemrow-and-dan-polaske\">how to handle a failed startup</a>. &nbsp;I'm still trying to digest it all and make sure that I'm doing my best.<br><br>While our audience isn't huge yet, my feeling is that I'm not the only one who learned something from the past 10 episodes, and I hope other&nbsp;entrepreneurs&nbsp;find the lessons&nbsp;educational&nbsp;and&nbsp;encouraging. &nbsp;However, you can expect us to be applying what we've learned to our show, hopefully bringing it to a large enough audience that we aren't wasting this great content.<br><br>Look forward to an evolution of SmokingHotCoffee.com with even more ways to stay updated and engage with the startup community. &nbsp;Until then, you can <a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com/subscribe\">subscribe</a> through the usual channels. &nbsp;If you learn something, please share it with your colleagues. &nbsp;Otherwise, <a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com/contact\">let me know</a> how I can do better!","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"seq":89,"slug":"startup-lessons-over-coffee","tags":["startups","podcast"],"title":"Startup Lessons Over Coffee","youtube":{"id":""},"id":"517f1afdbfddc7791f005ed3"},{"at":"2013-04-12T17:23:00.000Z","feed":{"id":"51688647bfddc7791f001f26","at":"2013-04-12T17:23:00.000Z"},"groups":["public"],"msg":"This week was the Ad-Tech conference in San Francisco. &nbsp;Amul and I went to spend a couple of days learning about the latest in digital advertising and to create some content for <a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com\">Smoking Hot Coffee</a>. &nbsp;We were able to meet with Saeed Amidi, the CEO of Plug and Play Tech Center who was gracious enough to give us a tour of the startup culture there which led us to interview several great startups right there in the building.<br><br><img alt=\"\" src=\"https://www.jeffpelton.com/api/files/images/thumb/uploads/Photo1%20(7).jpg\"><br><br>We didn't have a rigid plan or expectations going in, but came out with a handfuls of amazing startup food. &nbsp;I learned a lot at the conference, and was able to meet great new friends like Max from WhatRunsWhere in person. &nbsp;It charges my startup batteries to be around all of the energy both at the conference and in the tech center.<br><br>It's nice to be home and trying to relax for the weekend, but the gears continue to turn in my head while I learn from the industry, the companies we interviewed, and the great people that we met.<br><br>I'm looking forward to publishing all of the great content that we captured from incredible&nbsp;entrepreneurs&nbsp;during the week. &nbsp;Hopefully others find this content useful and as educational as I do. &nbsp;These guys are fighting the good fight - creating business through innovation, and improving our lives with apps, tools, marketplaces, and more.<br><br>Follow me in the journey of&nbsp;entrepreneurship&nbsp;while supporting and learning from others in this noble pursuit!","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"seq":88,"slug":"startup-hustle","tags":["startups","podcast"],"title":"Startup Hustle","tweet":{"id":""},"youtube":{"id":""},"id":"5168432bbfddc7791f001cd6"},{"at":"2013-03-20T20:40:00.000Z","feed":{"id":"514a1ec7c4c84a772300292d","at":"2013-03-20T20:40:39.255Z"},"groups":["public"],"msg":"Building an <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com/posts/house-js-roadmap\">open source web platform</a> is finally starting to pay off. &nbsp;The <a rel=\"nofollow\" target=\"_blank\" href=\"https://github.com/comster/house/graphs/commit-activity\">investment</a> I've spent developing a common platform for modern apps, <a rel=\"nofollow\" target=\"_blank\" href=\"https://www.jeffpelton.com/posts/my-apps\">makes my dreams possible</a>.<br><br>When I set out to build the <a rel=\"nofollow\" target=\"_blank\" href=\"https://github.com/comster/house\">house.js</a> platform, I had <a rel=\"nofollow\" target=\"_blank\" href=\"https://github.com/comster/house/tree/master/apps\">all the apps</a> in mind. &nbsp;I know this broad approach appears to be vulnerable to lack of focus and specialization, but I hope open prevails. &nbsp;My strategy is one of perseverance and exploration. &nbsp;Over time, per the attention it receives, it will be thus improved and sharpened. &nbsp;The community rules.<br><br>Google, facebook, and twitter on the other hand, have show us their ability to give, and take at their own will. &nbsp;Specifically when Google made the <a rel=\"nofollow\" target=\"_blank\" href=\"http://googleblog.blogspot.com/2013/03/a-second-spring-of-cleaning.html\">off-hand announcement</a> to shut down their RSS Reader, I was forced to react quickly.<br><br>Let me be plain. &nbsp;I want to be able to edit, modify, and improve the applications that I use the most. &nbsp;Radio is something I couldn't get away from, so I had to build my <a rel=\"nofollow\" target=\"_blank\" href=\"https://boss.dj/\">social radio</a> to enjoy tunes my way. &nbsp;Startups are another addiction I've pacified and feed with my <a rel=\"nofollow\" target=\"_blank\" href=\"http://smokinghotcoffee.com/\">community site and podcast</a>. &nbsp;Even my text &amp; code editor that I use every day... can no longer be bulky native apps. &nbsp;I guess I'm a control freak, but I actually feel great about the problems I've avoided, and others I've deserved.<br><br>In short, building a <a rel=\"nofollow\" target=\"_blank\" href=\"https://github.com/comster/house/tree/master/apps/news/web\">news reader on house.js</a> was planned, but not scheduled. &nbsp;Google changed that when they pulled the rug out from under me - kudos!<br><br>So within a few days I was able to put together the pieces for a basic <a rel=\"nofollow\" target=\"_blank\" href=\"http://wefav.com/news/\">RSS reader</a>. &nbsp;<a rel=\"nofollow\" target=\"_blank\" href=\"http://wefav.com/\">WeFavorite</a> is slated to be a community of favorites from around the web. &nbsp;You can already <a rel=\"nofollow\" target=\"_blank\" href=\"https://wefav.com/api/auth/google\">connect Google to import your existing reader subscriptions</a> - before it's too late!<br><br>I'm excited to evolve this with my usage and yours. &nbsp;Hopefully we can take this further than where Google and others have left it. &nbsp;Please try it out and give me feedback so we can make this better together!","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"seq":87,"slug":"news-reader","tags":["housejs","reader"],"title":"News Reader","youtube":{"id":""},"id":"514a1ec7c4c84a772300292c"},{"at":"2013-03-14T03:42:00.000Z","feed":{"id":"51427621c4c84a772300033a","at":"2013-03-14T03:42:00.000Z"},"groups":["public"],"msg":"In light of today's <a rel=\"nofollow\" target=\"_blank\" href=\"http://googleblog.blogspot.com/2013/03/a-second-spring-of-cleaning.html\">sad first world news</a>, I figured that the best thing to do would be to write a blog post about it.<br><br>Google is shutting down it's only dedicated RSS reader product that it offers and the Internet has burst out in rage over the closure of this&nbsp;popular destination.&nbsp;<br><br>Why would Google shut down something that people are using instead of protected&nbsp;social steams? They must have a G+ solution for everyone being displaced here.<br><br>Today I quickly checked the stats of a popular comic xkcd which has 250k subscribers via Google Reader. &nbsp;John Gruber has 360k, and Slashdot has over 500k subscribers via Google Reader.<br><br><a rel=\"nofollow\" target=\"_blank\" href=\"https://twitter.com/jeresig/status/311998787193298945\">John Resig tweeted</a> that he's had 3.5 million visitors via Google Reader. &nbsp;Where will his audience come from now they are being&nbsp;exiled?<br><br>I can't understand how a media company can let go of hooked users and constant eyeballs, no matter how few.","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"seq":8,"slug":"google-reader","tags":[{"color":"#ffce7c","name":"google","postsCount":2,"title":"Google","id":"530db78a6f43a60817093059"},{"color":"#bbbf6c","name":"news","postsCount":4,"title":"News","id":"530db45f6f43a60817092d63"}],"title":"Google Reader","youtube":{"id":""},"id":"514146ef2bb8c6703e00697e"},{"at":"2013-02-01T05:37:54.064Z","feed":{"id":"5114bf5c2bb8c6703e000b41","at":"2013-02-01T05:37:54.064Z"},"groups":["public"],"msg":"You know that I'm always experimenting with the latest web tech that I can get my hands on. &nbsp;I aspire to apply my creativity using the best tools I have to produce something cool and unique.<br><br>For a few years, I've been a podcast subscriber on and off to mainly tech podcasts that provide me valuable information, also including the non tech podcast No Agenda from Adam \"the Podfather\"&nbsp;Curry. &nbsp;With great respect for the effort and humility of podcasters, I adore to do more than subscribe, but to also share my voice and opinion.<br><br>Like all of my experiments, I don't know where this will end up, but I'm excited for the journey and I welcome you to follow along.<br><br>Luckily, I've found a co-host willing to take a chance with me, sharing our opinions on the latest news in startup culture. &nbsp;My friend Amul Patel, is a natural compliment to have a candid conversation about all aspects of internet life, including design, marketing &amp; business plans, for the latest websites and mobile apps. &nbsp;His background is in marketing and design, while mine is in web &amp; app dev, we overlap with our passion for clean, usable consumer products, and heart for&nbsp;entrepreneurship.<br><br>For the time being we are using youtube to host our video podcast because it's so easy to use, but will eventually offer an itunes podcast. &nbsp;You can subscribe to our channel here&nbsp;<a rel=\"nofollow\" target=\"_blank\" href=\"http://www.youtube.com/user/smokinghotcoffee\">http://www.youtube.com/user/smokinghotcoffee</a>&nbsp;.<br><br>So far we've produced 6 \"cups\" of smoking hot coffee for your viewing pleasure. &nbsp;We hope that you enjoy our video podcast that tours and discusses&nbsp;the user interface and design&nbsp;aesthetics&nbsp;of the web. &nbsp;In each show we review a handful of startups bookmarked by ourselves and&nbsp;users&nbsp;on <a rel=\"nofollow\" target=\"_blank\" href=\"https://smokinghotcoffee.com/startups/\">SmokingHotCoffee.com</a> .<br><br>After one week, we've got our feet wet, and are now looking for your feedback and input. &nbsp;We want to know what you'd like to see on the show, what parts you like about it, and don't. &nbsp;I'm also looking forward to improving the website, allowing you&nbsp;to track, follow, rate, comment on hot startups and more.<br><br>This is a great start to 2013 as I'm crossing an item off my list. &nbsp;I'm looking forward to continuing this project as a natural expression of my passion for web &amp; startups. &nbsp;So far it's helped me overcome my challenge of publishing regularly. &nbsp;Wish me luck!","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"slug":"podcast","tags":["startups","podcast"],"title":"Podcast","id":"510b54b2a08a8ed56a000afe"},{"at":"2013-01-07T07:47:00.000Z","feed":{"id":"50ea7daf844dc8122b000003","at":"2013-01-07T07:47:59.226Z"},"msg":"Test post","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"slug":"migration-into-2013","title":"Migration into 2013","groups":["public"],"wistia":{"id":""},"wistiaAudio":{"id":""},"youtube":{"id":""},"headerCaption":{"color":"#000000","html":""},"tweet":{"id":""},"id":"50ea7daf844dc8122b000001"},{"at":"2012-12-20T07:03:00.000Z","feed":{"id":"50d2b857a7736a227d008103","at":"2012-12-20T07:03:51.346Z"},"fmt":"text","groups":["public"],"msg":"It's great to finally read Neal Stephenson's <a rel=\"nofollow\" target=\"_blank\" href=\"http://en.wikipedia.org/wiki/Snow_Crash\">Snow Crash</a>.\n<br>\n<br>What seems like amazing creativity and science fiction can become reality if we want to build it.\n<br>\n<br>\n<img alt=\"Snow Crash\" src=\"http://www.jeffpelton.com/api/files/%2Fimages%2Ffull%2Furl%2Fhttp...majorspoilers.com.wp-content.uploads.2012.06.Snow-Crash.jpg\">","owner":{"id":"9bfa374d5fa8492800000000","name":"comster"},"slug":"music-movies-and-microcode","tags":[{"name":"review","title":"Review","postsCount":1,"id":"5312c0836f43a608170973c1"}],"title":"Music, Movies, and Microcode","tweet":{"id":""},"wistia":{"id":""},"wistiaAudio":{"id":""},"youtube":{"id":""},"headerCaption":{"color":"#000000","html":""},"id":"50d2b857a7736a227d008102"}]