<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Slashgeek</title>
	<atom:link href="https://www.slashgeek.net/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.slashgeek.net/</link>
	<description></description>
	<lastBuildDate>Tue, 17 Jul 2018 09:32:20 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
<site xmlns="com-wordpress:feed-additions:1">26273329</site>	<item>
		<title>Self-Driving Cars Will Be a Game Changer</title>
		<link>https://www.slashgeek.net/2018/07/17/self-driving-cars-will-be-a-game-changer/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 17 Jul 2018 09:17:41 +0000</pubDate>
				<category><![CDATA[Opinion]]></category>
		<guid isPermaLink="false">http://www.slashgeek.net/?p=2265</guid>

					<description><![CDATA[<p>I don't think most people appreciate how big of a deal self-driving cars will be when it is commercially available. When I talk about self-driving I mean fully autonomous car without any driver assistance, not driver assists system like "AutoPilot" in Tesla cars or Cruise Automation for GM and many other out there.</p>
<p>The post <a href="https://www.slashgeek.net/2018/07/17/self-driving-cars-will-be-a-game-changer/">Self-Driving Cars Will Be a Game Changer</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-2268" src="http://www.slashgeek.net/wp-content/uploads/2018/07/waymo_autonomous-1.png" alt="" width="800" height="533" srcset="https://www.slashgeek.net/wp-content/uploads/2018/07/waymo_autonomous-1.png 800w, https://www.slashgeek.net/wp-content/uploads/2018/07/waymo_autonomous-1-300x200.png 300w, https://www.slashgeek.net/wp-content/uploads/2018/07/waymo_autonomous-1-768x512.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></p>
<p>&nbsp;</p>
<p>I don&#8217;t think most people appreciate how big of a deal self-driving cars will be when it is commercially available. When I talk about self-driving I mean fully autonomous car without any driver assistance, not driver assists system like &#8220;AutoPilot&#8221; in Tesla cars.</p>
<p>Other than Machine Learning, which self-driving cars heavily depends on, no other technology is getting nearly as much funding and attention as the Autonomous car is at the moment. Apart from all the major car manufacturers and ride-sharing services, there are at least a few dozen more independent startups and heavy-hitting tech giants who are making massive investment and bets on self-driving car technology at the moment. Including Google (with Waymo), Apple, Tesla, Uber, some of this companies have no business in car manufacturing or taxi services, yet they are heavily investing and betting on this technology to go mainstream, and want to be the first in the market with the best possible technology and planning to show for it.</p>
<p>Out of all the companies investing in this field, Waymo &#8211; a subsidiary of Google &#8211; is far ahead of rest in terms of the maturity of their technology, performance on the field and business planning. And to prove their readiness they are expected to go live with their services by the end of this year. Although their service will be available in a relatively small geo-fenced area in a smallish town, it&#8217;s still a lot more than anything any other company was able to do.</p>
<p>Having said that, there are real technical and legislative hurdles to overcome with self-driving cars. On the legislative side of things, government moves slowly with laws &#8211; because of the disruptive nature of the technology, other companies &#8211; who make money through ride sharing or taxi services (trucking services) and likely to lose big time. We are talking about 100s of billions of dollars worth of industry that could affect millions of jobs. So there will be pushback from those industries when it comes to legislation.</p>
<p>On the technical side of things. Waymo is currently way ahead of anyone else in terms of maturity and testing of their hardware and software. Afterall they were working on self-driving technology for almost a decade. Waymo &#8211; thanks for google &#8211; has their own special purpose machine learning hardware (TPU Chip) which is faster than anything out there. They also build their own in-house LiDAR and radar system and they arguably have the best machine learning software out there that takes input from all this special purpose hardware and convert them into on the fly and make fast decisions for self-driving to be successful. While other very capable people are also working in this field, very few have got everything to mesh together and deliver the expected result as well as Waymo has so far. Before starting their taxi service in Arizona later this year, they have been closely working with law enforcement officials and fire departments to work on ways to handle accidents or incidents involving a self-driving car, they are also working with local government officials to find best ways to start running their service with least amount of disruption. They also have a team of on-call customer service you can call from within the car and they are also training people to service/clean cars when needed. Waymo is approaching this from the top down, not as a half-baked solution. Which waymo puts ahead of almost everyone else in the self-driving race.</p>
<h2>Can Self Driving be profitable?</h2>
<p>Other than obvious fact that you are removing the human from the equation, there are many reasons to consider why self-driving will be an extremely profitable business which is why so many companies are gunning for it.</p>
<li>Humans are the most expensive part of a taxi service both financially and operationally.</li>
<li>Automated cars don&#8217;t need to take breaks or change shifts. While it is possible to taxi cars with three shifts and make it work 24 hours, humans still need to take breaks and full around when they don&#8217;t feel like working. Not so much for automated cars.</li>
<li>Human Drivers can cause road rage, can be unprofessional with their customers and harassing them. While this doesn&#8217;t happen very often, it happens often enough to be a problem worth addressing.</li>
<li>Depending on local laws taxi drivers often take longer routes with passengers to make more money through metered fare, this is not likely to be a problem with autonomous cars.</li>
<li>Automation means you can have fewer cars to serve more people, fewer cars means less pollution both in terms of gasoline and in terms of the environmental cost of manufacturing cars. As autonomous cars (at least from waymo) are mostly electric cars &#8211; this would seem like an environmentalist wet dream, as increasing, more people are becoming environmentally conscious.</li>
<p>Putting all this together, apart from the novelty, there is a real benefit and high-profit potential with autonomous cars and whoever captures the market first is likely to make disruption in the market and making a profit at scale.</p>
<p>I, for one, welcome our autonomous car overloads to take over the roads in the near future.</p>
<p>The post <a href="https://www.slashgeek.net/2018/07/17/self-driving-cars-will-be-a-game-changer/">Self-Driving Cars Will Be a Game Changer</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2265</post-id>	</item>
		<item>
		<title>FFmpeg 4.0 &#8220;Wu&#8221; is here</title>
		<link>https://www.slashgeek.net/2018/04/24/ffmpeg-4-0-wu-is-here/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 24 Apr 2018 08:08:57 +0000</pubDate>
				<category><![CDATA[CLI]]></category>
		<category><![CDATA[ffmpeg]]></category>
		<guid isPermaLink="false">http://www.slashgeek.net/?p=2216</guid>

					<description><![CDATA[<p>FFmpeg is my all time favorite CLI tool. The obscene amount time I have spent using FFmpeg over the years is just ridiculous, this is one of the few tools out there that I can't live without. It goes without saying I deal with a lot of video editing. So naturally, I am very excited about this new major version release. You can see a quick list of major changes on their changelog.</p>
<p>The post <a href="https://www.slashgeek.net/2018/04/24/ffmpeg-4-0-wu-is-here/">FFmpeg 4.0 &#8220;Wu&#8221; is here</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>FFmpeg is my all time favorite CLI tool. The obscene amount time I have spent using FFmpeg over the years is just ridiculous, this is one of the few tools out there that I can&#8217;t live without. It goes without saying I deal with a lot of video editing. So naturally, I am very excited about this new major version release. You can see a quick list of major changes on their <a href="http://ffmpeg.org/index.html#pr4.0">changelog</a>. Some of the more exciting changes related to hardware acceleration that popped out to me:</p>
<li><strong>Intel QSV-accelerated MJPEG encoding</strong></li>
<li><strong>NVIDIA NVDEC-accelerated H.264, HEVC, MJPEG, MPEG-1/2/4, VC1, VP8/9 hwaccel decoding</strong></li>
<li><strong>Intel QSV-accelerated overlay filter</strong></li>
<li><strong>OpenCL overlay filter</strong></li>
<li><strong>VAAPI MJPEG and VP8 decoding</strong></li>
<li><strong>AMD AMF H.264 and HEVC encoders</strong></li>
<li><strong>VideoToolbox HEVC encoder and hwaccel</strong></li>
<li><strong>VAAPI-accelerated ProcAmp (color balance), denoise and sharpness filters</strong></li>
<p>Most these involves hardware accelaration involving <em>Intel QuickSync, OpenCL, VAAPI MJPEG, AMD AMF, VideoToolbox HEVC</em>. Even though I have not gotten around running benchmarks, the few encoding tests I have done using Intel QuickSync and NVIDIA NVDEC, the speed bump is noticably much higher without any doubt. Chances are high your linux distro don&#8217;t have FFmpeg 4.0 available yet, but you always download binaries for you OS of choice from here: <a href="http://ffmpeg.org/download.html">http://ffmpeg.org/download.html</a></p>
<pre>
~/Desktop: ffmpeg -i
ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers
  built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.0 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
  libavutil      56. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
  libpostproc    55.  1.100 / 55.  1.100
</pre>
<p>The post <a href="https://www.slashgeek.net/2018/04/24/ffmpeg-4-0-wu-is-here/">FFmpeg 4.0 &#8220;Wu&#8221; is here</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2216</post-id>	</item>
		<item>
		<title>How To Mount Remote File Systems Over SSH</title>
		<link>https://www.slashgeek.net/2018/04/24/how-to-mount-remote-file-systems-over-ssh/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 24 Apr 2018 06:36:23 +0000</pubDate>
				<category><![CDATA[CLI]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOS]]></category>
		<guid isPermaLink="false">http://www.slashgeek.net/?p=2209</guid>

					<description><![CDATA[<p>I have a remote storage server in a colocation with 100s of TB of space. Yes, I know I have data-hoarding issues, no I am not going to get psychiatric help for it. But if you are like me and often find yourself accessing your data remotely there better ways to browse your data unlike GUI based SFTP client. You can mount your remote drive/folder using SSHFS and it will work similar to browsing your local hard drive.</p>
<p>The post <a href="https://www.slashgeek.net/2018/04/24/how-to-mount-remote-file-systems-over-ssh/">How To Mount Remote File Systems Over SSH</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>I have a remote storage server in a colocation with 100s of TB of space. Yes, I know I have data-hoarding issues, no I am not going to get psychiatric help for it. But if you are like me and often find yourself accessing your data remotely there better ways to browse your data unlike GUI based SFTP client. You can mount your remote drive/folder using SSHFS and it will work similar to browsing your local hard drive. Why would you want to use SSFS when there are third-party GUI clients out there to make this job easier for you? The same reason you use SSH to log in to your server and don&#8217;t want the third party to have access to your private SSH keys. It&#8217;s more than just convenience, this is also a more secure way to access your server.</p>
<p>In Linux (Ubuntu), you can install SSHFS using <code>apt-get install sshfs</code>.<br />
In OSX, you can install SSHFS using <code>brew cask install osxfuse</code> and then <code>brew install sshfs</code>.</p>
<p>The step to mount remote drive itself is very easy: <code>sshfs username@hostname:</remote/directory/path> </local/mount/path> -ovolname=<drive_name></code><br />
You can also make this mount persistent across reboot by making a mount entry on your <code>/etc/fstab/</code> like this: <code><sshfs#user@hostname>:/home/users /root/sshfs fuse defaults 0 0</code></p>
<p>Now you should be able to browse your remote drive using your local file browser.</p>
<p>The post <a href="https://www.slashgeek.net/2018/04/24/how-to-mount-remote-file-systems-over-ssh/">How To Mount Remote File Systems Over SSH</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2209</post-id>	</item>
		<item>
		<title>How To Hide Your Bash Command History</title>
		<link>https://www.slashgeek.net/2018/04/15/how-to-hide-your-bash-command-history/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 15 Apr 2018 08:41:43 +0000</pubDate>
				<category><![CDATA[CLI]]></category>
		<category><![CDATA[HowTo]]></category>
		<guid isPermaLink="false">http://www.slashgeek.net/?p=2201</guid>

					<description><![CDATA[<p>It's probably not a good idea to completely turn off bash history, one of the reasons bash history exists as a reference to mistakes or useful past commands you can't recall. But there are also legitimate reasons who don't want to log some bash commands for security or privacy reasons. Here are 3 ways you can temporarily turn off bash history logging:</p>
<p>The post <a href="https://www.slashgeek.net/2018/04/15/how-to-hide-your-bash-command-history/">How To Hide Your Bash Command History</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>It&#8217;s probably not a good idea to completely turn off bash history, one of the reasons bash history exists as a reference to mistakes or useful past commands you can&#8217;t recall. But there are also legitimate reasons who don&#8217;t want to log some bash commands for security or privacy reasons. Here are 3 ways you can temporarily turn off bash history logging:</p>
<ol>
<li><code>unset HISTFILE</code> This will prevent all commands run in the current login session from getting saved to the <code>.bash_history</code> file when you logout. This will reset all commands you ran earlier in session until you logout. There is also no way to verify if it&#8217;s working, as you can still use UP key to go to your previous commands. The only way to verify is to logout and login back and check your bash history.</li>
<li>Perhaps the best solution, if you want to selectively ignore specific bach commands being logged into bash_history is to type a space before a command. This should be on by default and work on all bash sessions but ff it does&#8217;nt work, add the line <code>export HISTCONTROL=ignoreboth</code> to your .bashrc file. In your future sessions commands with space will not be logged.</li>
<li>Perhaps the easiest is to type <code>sh</code> and it will start a subshell. Any commands typed in the subshell, won&#8217;t be logged into your history, untill you exit from the subshell. Anyone checking your bash history file will only be able to see that you ran sh, but not see what you ran after that.</li>
</ol>
<p>There are several other clever ways to achieve this but the above mentioned tips are the most common ways of doing this.</p>
<p>The post <a href="https://www.slashgeek.net/2018/04/15/how-to-hide-your-bash-command-history/">How To Hide Your Bash Command History</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2201</post-id>	</item>
		<item>
		<title>The Social Media Echo Chamber Hell</title>
		<link>https://www.slashgeek.net/2018/04/09/the-social-media-echo-chamber-hell/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 09 Apr 2018 07:32:25 +0000</pubDate>
				<category><![CDATA[Social Media]]></category>
		<guid isPermaLink="false">http://www.slashgeek.net/?p=2195</guid>

					<description><![CDATA[<p>Not all hell is made of fire, some are made of an abyss with no way of pulling yourself out of it. With Social media's it's like jumping from one abyss to another. There is a common internet trope, the idea that if you are self-aware enough to understand the dangers of social media you should be able to know when to stop and it should be fairly easy to do so.</p>
<p>The post <a href="https://www.slashgeek.net/2018/04/09/the-social-media-echo-chamber-hell/">The Social Media Echo Chamber Hell</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="aligncenter size-full wp-image-2198" src="http://www.slashgeek.net/wp-content/uploads/2018/04/Social-media-1.png" alt="" width="814" height="518" srcset="https://www.slashgeek.net/wp-content/uploads/2018/04/Social-media-1.png 814w, https://www.slashgeek.net/wp-content/uploads/2018/04/Social-media-1-300x191.png 300w, https://www.slashgeek.net/wp-content/uploads/2018/04/Social-media-1-768x489.png 768w" sizes="(max-width: 814px) 100vw, 814px" /></p>
<p>&nbsp;</p>
<p>Not all hell is made of fire, some are made of an abyss with no way of pulling yourself out of it. With Social media&#8217;s it&#8217;s like jumping from one abyss to another. There is a common internet trope, the idea that if you are self-aware enough to understand the dangers of social media you should be able to know when to stop and it should be fairly easy to do so. I am sure it is true for some people, but I can&#8217;t imagine it is true for most people.</p>
<h2>The Dangers of Social Media:</h2>
<p>Social media sites pose more than one form of danger, it&#8217;s not always easy to identify the scope, intention or the scale of the dangers. Let&#8217;s start with the obvious ones:</p>
<ul>
<li><strong> Privacy:</strong> This is a big one which should be very obvious to most people who understand what&#8217;s at stake (sans the tech-illiterates who are the vast majority of social media users). If the recent Facebook Privacy concerns incident is any proof &#8211; despite some people deleting their Facebook account &#8211; It still accounts for a very small amount of total Facebook users. This is not the first time there was a lot of noise about Facebook privacy concerns, the last a lot of people deleted their account (small in context) and then everyone forgot about it in few months. Diaspora*, a decentralized, privacy concern facebook alternative, was the result of the privacy concern. But nothing really substantial happened. Facebook user base and revenue increased more than ever.</li>
<li><strong>Collusion with government:</strong> I know at least of 3 occasions, that doesn&#8217;t have any public record, that I am aware of, where Facebook has worked with local government to give information about specific Facebook users who were critical of the local government. Despite what Facebook tells you they have a local presence in countries with large Facebook users &#8211; and they work directly with the government and follow the local laws, regardless how immoral and unethical they are. It is important to note that Google also does that same thing. Both Google and Facebook were blocked in recent months in my country when they were slow in sharing information, but promptly opened it back up, when I believe they complied with the local government. I don&#8217;t know how often this happens, but I know that this happens often enough for it to be a concern.</li>
<li><strong>Targetted advertising:</strong> Social media gives you free access to their platform in exchange for your personal information. Though they never actually say it in writing or in person, this is very much implied. If something is free you are the product. The reason why Google considers Facebook as a real threat to their existence is that Facebook, because of how their platform works, knows more about you than any other social media sites in the world. Not only that &#8211; you give this information free to Facebook. The more targeted information Facebook has about you, the more valuable you are to Facebook as a user. I have seen an advertisement on facebook about something in my personal life that I have never shared with Facebook or any platform that I know of, I have seen ads about it on my facebook wall. If this doesn&#8217;t scare you I don&#8217;t know what should.</li>
<li><strong>Social media Echo Chamber:</strong> We are comfortable with environment and ideas that we are familiar with and with people who agree with the same ideology. Almost all social media that I know of, works on this simple idea, where you usually get to interact with people with similar ideology. This is not limited to Facebook, Twitter, Instagram, Reddit and other lesser-known sites. You are more likely to stick around if your ideology is vindicated by people with similar ideology. Most people don&#8217;t like to be challenged. More recently Facebook, Google, and Twitter are employing dark UX design for the sole purpose of you sticking around within their echo chamber. The difference between Apple walled garden and the Facebook echo chamber is that with a walled garden you don&#8217;t really have a choice, with echo chamber you are lulled into staying around for the familiarity. Perhaps the most disconcerting is how 100s of millions of people are starting their internet journey through social media like Facebook. Thanks to one of my cousin, every single member of our family who is older but not to internet savvy got their introduction to the internet in the form of apps on their phone and Facebook is their gateway to the internet. Not only are they glued to Facebook more than I have ever done in my life, but they take everything they read on Facebook at face value. I often try to help them do critical thinking and questions things they read on facebook. So far it has been mostly a losing battle. Now that you can easily read articles on facebook without ever leaving Facebook. It has become harder for me to try to weed them out of Facebook.</li>
</ul>
<p>What about those of us who understand the pitfalls of social media? I can speak for myself and I can tell you that it has not been easy. No, I have not deleted my facebook account or twitter account. As a matter of fact, this website has it&#8217;s own facebook page and twitter account. It is very difficult to keep in touch with your family who doesn&#8217;t live in the same country or in the same city. I will log in once or twice a month &#8211; to get the gist of whats going on with their lives and they all have my phone number and they are welcome to call me when they want. WordPress makes auto posts to twitter and facebook so I don&#8217;t have to log in to make those posts on my social media pages.</p>
<p>If it is hard for someone like me, who is self-aware of the pitfalls of social media, I can&#8217;t imagine who hard it might be for people who don&#8217;t. And for social media sites, those are the actual eye-ball they really want for their advertisers.</p>
<p>The post <a href="https://www.slashgeek.net/2018/04/09/the-social-media-echo-chamber-hell/">The Social Media Echo Chamber Hell</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2195</post-id>	</item>
		<item>
		<title>Converting Mp4 to WebM using FFmpeg</title>
		<link>https://www.slashgeek.net/2018/04/06/converting-mp4-to-webm-using-ffmpeg/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 06 Apr 2018 15:08:39 +0000</pubDate>
				<category><![CDATA[ffmpeg]]></category>
		<category><![CDATA[HowTo]]></category>
		<guid isPermaLink="false">http://www.slashgeek.net/?p=2189</guid>

					<description><![CDATA[<p>For the longest time (still is to a smaller extent), gif ruled the interweb of video-based memes. But the problem with gif is they slow to load files are usually much larger than a file of the same video with a lower quality and slow loading. Even with large bandwidth gif file tends to load slower. One solution, though probably not the original intention, was to use WebM format.</p>
<p>The post <a href="https://www.slashgeek.net/2018/04/06/converting-mp4-to-webm-using-ffmpeg/">Converting Mp4 to WebM using FFmpeg</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>For the longest time (still is to a smaller extent), gif ruled the interweb of video-based memes. But the problem with gif is they are slow to load files and are usually much larger than a file of the same video with a lower quality and slow loading. Even with large bandwidth gif file tends to load slower. One solution, though probably not the original intention, was to use WebM format. WebM is actually a video format, unlike gif, so it would make sense to just convert to mp4 format instead. But WebM also tends to be much lower in file size. The benefits of WebM over gif is unquestionable. Other than IE and Safari, WebM has support for all major browsers. However, there are javascript solutions to play WebM on those browsers without support.</p>
<p>As a gif fanatic, I am glad that more people are starting to use WebM more often.</p>
<h2>Why ffmpeg?</h2>
<p>You can probably use GUI based converters to convert your format of choice to WebM. But chances are high that almost all of this software use a wrapper around FFmpeg to accomplish this anyways. So why not get rid of the middleman?</p>
<p>First make sure that your FFmpeg is compiled with support for <code>libvpx</code> and <code>libvorbis</code> or if you are compiling from source, use this flags:</p>
<pre>
--with-fdk-aac --with-ffplay --with-freetype --with-frei0r --with-libass --with-libvo-aacenc --with-libvorbis --with-libvpx --with-opencore-amr --with-openjpeg --with-opus --with-rtmpdump --with-speex --with-theora --with-tools
</pre>
<p>Now you should be able to compile your mp4/fig file using ffmpeg like this: <code>ffmpeg -i 1.mp4 -vcodec libvpx -acodec libvorbis "1.webm"</code>.</p>
<p>On my 10+ tests, I have found WebM format to have 1/3th the size of mp4.</p>
<p>The post <a href="https://www.slashgeek.net/2018/04/06/converting-mp4-to-webm-using-ffmpeg/">Converting Mp4 to WebM using FFmpeg</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2189</post-id>	</item>
		<item>
		<title>Hide MacOS Desktop icons using CLI</title>
		<link>https://www.slashgeek.net/2018/04/02/hide-macos-desktop-icons-using-cli/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 02 Apr 2018 10:12:31 +0000</pubDate>
				<category><![CDATA[CLI]]></category>
		<category><![CDATA[MacOS]]></category>
		<guid isPermaLink="false">http://www.slashgeek.net/?p=2177</guid>

					<description><![CDATA[<p>One of my biggest pet peeves is clutter. I could very well have OCD (though not formally diagnosed). I often find myself spending an insane amount of time organizing things or optimizing thing (ie, page load of this site), which could have very well been spent on things more important, like actually writing articles. </p>
<p>The post <a href="https://www.slashgeek.net/2018/04/02/hide-macos-desktop-icons-using-cli/">Hide MacOS Desktop icons using CLI</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>One of my biggest pet peeves is clutter. I could very well have OCD (though not formally diagnosed). I often find myself spending an insane amount of time organizing things or optimizing thing (ie, page load of this site), which could have very well been spent on things more important, like actually writing articles. Obcourse being clutterless and organized has its benefits, I have less visual noise to get distracted about, and I have found that integrating minimalist in my life has actually improved my concentration and also increased my productivity.</p>
<p>I tend to keep my desktop organized with a folder by projects, for easier access &#8211; like a poor man&#8217;s mind map. But when I don&#8217;t need those folders, they can be very distracting visual noise, it better to hide them.</p>
<p>Thankfully in OSX (my main work computer OS), this can be easily achieved with CLI command, the command itself is not very user-friendly:</p>
<p>To hide Desktop icons:</p>
<pre>defaults write com.apple.finder CreateDesktop false; killall Finder</pre>
<p>To unhide Desktop icons:</p>
<pre>defaults write com.apple.finder CreateDesktop True; killall Finder</pre>
<p>But you can make this easier by creating an alias by editing like this<code>nano ~/.bash_profile</code> and adding you alias:</p>
<pre>
alias hide="defaults write com.apple.finder CreateDesktop false; killall Finder"
alias unhide="defaults write com.apple.finder CreateDesktop True; killall Finder"
</pre>
<p>So next time all you have to do it type <code>hide</code> to hide your desktop icons or unhide to <code>unhide</code> show your desktop icons.</p>
<p><center></p>
<p><iframe width="853" height="480" src="https://www.youtube.com/embed/aedprnmhDQI" frameborder="0" allowfullscreen></iframe></p>
<p></center></p>
<p>The post <a href="https://www.slashgeek.net/2018/04/02/hide-macos-desktop-icons-using-cli/">Hide MacOS Desktop icons using CLI</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2177</post-id>	</item>
		<item>
		<title>How to enable ALPN on NGINX</title>
		<link>https://www.slashgeek.net/2018/03/27/how-to-enable-alpn-on-nginx/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 27 Mar 2018 04:36:08 +0000</pubDate>
				<category><![CDATA[HowTo]]></category>
		<guid isPermaLink="false">http://www.slashgeek.net/?p=2087</guid>

					<description><![CDATA[<p>LPN (Application-Layer Protocol Negotiation) is a TLS extension that allows an efficient way to negotiate encrypted traffic between the browser and the server. In order to enable ALPN on a server, a web server needs to have HTTPS configured and support the HTTP/2 protocol. ALPN doesn't provide any additional security benefit over HTTPS, it allows a browser to take advantage of speed benefit of HTTP/2 by lowering the initial handshake latency. </p>
<p>The post <a href="https://www.slashgeek.net/2018/03/27/how-to-enable-alpn-on-nginx/">How to enable ALPN on NGINX</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>What is ALPN?</h2>
<p>ALPN (Application-Layer Protocol Negotiation) is a TLS extension that allows an efficient way to negotiate encrypted traffic between the browser and the server. In order to enable ALPN on a server, a web server needs to have HTTPS configured and support the HTTP/2 protocol. ALPN doesn&#8217;t provide any additional security benefit over HTTPS, it allows a browser to take advantage of speed benefit of HTTP/2 by lowering the initial handshake latency. As a result, providing faster browsing experience. Considering most <a href="https://caniuse.com/#feat=http2">major browser already supports ALPN</a>, The benefits of ALPN should be apparent as soon as ALPN is enabled on the server.</p>
<p><img loading="lazy" decoding="async" src="https://www.slashgeek.net/wp-content/uploads/2018/03/Screen-Shot-2018-03-27-at-10.00.45-AM-e1522123566910.png" alt="" width="900" height="329" class="aligncenter size-full wp-image-2169" /></p>
<p>If you check you cite using <a href="https://tools.keycdn.com/http2-test">this keycdn tool</a>, you can if your site support APLN or not. The most likely reason your nginx doesn&#8217;t support ALPN because you are using an older version of nginx server, even if the version that comes with your distribution is the latest stable version for your distribution, it might not be the latest stable version nginx version available. One way would be to install latest stable nginx from source using OpenSSL 1.0.2 or above, which means you will also need to install OpenSSL 1.0.2 or above from source and them, as shown <a href="https://gist.github.com/Globegitter/685e3739c0f181bda3ec">here</a>. That&#8217;s a hard way to do it because chances are very high that you will stumble through dependencies issues when trying to compile from source. The easier and the preferable option would be to installing through <a href="https://launchpad.net/~ondrej/+archive/ubuntu/nginx">this PPA</a>, which has the latest NGINX Stable packages compiled against OpenSSL 1.0.2 for HTTP/2 support with ALPN. Of course, it goes without saying that it&#8217;s not a good idea to install packages from untrusted PPAs, and you should only install PPA packages from a source you trust and is linked with the original project.</p>
<p>The post <a href="https://www.slashgeek.net/2018/03/27/how-to-enable-alpn-on-nginx/">How to enable ALPN on NGINX</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2087</post-id>	</item>
		<item>
		<title>Why I am not too enthusiastic about AMP</title>
		<link>https://www.slashgeek.net/2018/03/27/why-i-am-not-too-enthusiastic-about-amp/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 27 Mar 2018 03:58:05 +0000</pubDate>
				<category><![CDATA[Google]]></category>
		<guid isPermaLink="false">http://www.slashgeek.net/?p=2165</guid>

					<description><![CDATA[<p>According to Google, the whole point of AMP is for mobile users to have fast access to websites without users having to worry about large data usage or load time. There is also issues with websites having pop-up ads, too many external/internal javascript loading, which causes websites to become slow and run background process even after initial loading. </p>
<p>The post <a href="https://www.slashgeek.net/2018/03/27/why-i-am-not-too-enthusiastic-about-amp/">Why I am not too enthusiastic about AMP</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://www.slashgeek.net/wp-content/uploads/2018/03/logo-og-image-e1522123015745.jpg" alt="" width="900" height="473" class="aligncenter size-full wp-image-2166" /></p>
<p>According to Google, the whole point of <a href="https://www.ampproject.org/">AMP</a> is for mobile users to have fast access to websites without users having to worry about large data usage or load time. There is also issues with websites having pop-up ads, too many external/internal javascript loading, which causes websites to become slow and run background process even after initial loading. AMP prevents this by limiting the amount of CSS/js codes you can use and AMP markups are a small version of the standard HTML/CSS/js code, so in essence, there are not many things you can do with an AMP site – which is why it’s fast.</p>
<p>The problem is you can already make websites extremely fast without having to resort to yet another markup scheme for mobile users. Most sites (including this site) are extremely fast thanks to HTTPS / HTTP2 / Server push / CDN / minifications / browser cache/ compression / and so many other tricks out there. A lot of these were result of active push from Google themselves – more specifically HTTPS is being aggressively pushed by both chrome and firefox and others browsers with visual queues on browser address bar and I don’t think it will be long before non-https sites might eventually get blocked by most browsers (still might take some time), HTTP2 is an evolved version of SPDY protocol made and championed by Google, HTTP2 is only possible if your site already has HTTPS. CDNs are now more or less a commodity thanks to Cloudflare, not too long ago CDN used to be a big deal, it’s mainstream now.</p>
<p>Google also pushed the issue of speed by making search ranking algorithm take site speed as an important consideration (among other things), so it was only natural for a site which depends badly on google search results to feel <a href="https://webmasters.googleblog.com/2014/08/https-as-ranking-signal.html">pressured to implement features like HTTPS</a>, HTTP2. Google has very powerful influence over the web to reshape technology indirectly. Most of the time, it’s for good reasons.</p>
<p>But AMP is not that same, I have tried turning on AMP using <a href="https://wordpress.org/plugins/amp/">WordPress AMP plugin</a> and I have tested both non-amp and amped site and the difference in speed are few milliseconds, not to mention it broke a lot of visual layout of the site – which will require me to do extra work to get it fixed. So naturally, it would make little sense for me to implement AMP on my site – but <a href="https://searchengineland.com/will-amp-improve-rankings-set-amp-test-289869">Google seems to promote sites with AMP on search results</a> – which puts an incentive – however unnecessary it is for me to implement AMP and fix those rendering issues.</p>
<p>Most people (rightfully) thinks AMP is a result of Facebook implementing a similar product. To me, both facebook’s implementation and Google’s AMP feels like such a huge step backward – as if we are back to the walled garden of AOL days. Naturally, I am not too excited about this – but chances are high that I will end up implementing AMP on this. I write this blog because I want users to read my blog – but if google seriously pushes against non-amped sites on their search result – I won’t have a lot of option but to implement it. Probably much sooner than later. Hopefully, on my next attempt with AMP, I will have a better experience.</p>
<p>The post <a href="https://www.slashgeek.net/2018/03/27/why-i-am-not-too-enthusiastic-about-amp/">Why I am not too enthusiastic about AMP</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2165</post-id>	</item>
		<item>
		<title>How not to store user passwords</title>
		<link>https://www.slashgeek.net/2018/03/20/how-not-to-store-user-passwords/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 20 Mar 2018 09:25:08 +0000</pubDate>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">http://www.slashgeek.net/?p=2108</guid>

					<description><![CDATA[<p>If you are running a Web App and you are storing user passwords, it is very easy to get things horribly wrong, it's better to use third-party sign-in services like Facebook, Twitter or Google. In my experience, I have seen a lot of Web-Apps and Services going this route, not because they are lazy - but because they are offloading an aspect of your app that is incredibly difficult to get it right and secure.</p>
<p>The post <a href="https://www.slashgeek.net/2018/03/20/how-not-to-store-user-passwords/">How not to store user passwords</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://www.slashgeek.net/wp-content/uploads/2018/03/Hash-plus-Salt-e1521537309231.png" alt="" width="900" height="427" class="aligncenter size-full wp-image-2110" /></p>
<p>If you are running a Web App and you are storing user passwords, it is very easy to get things horribly wrong, it&#8217;s better to use third-party sign-in services like Facebook, Twitter or Google. In my experience, I have seen a lot of Web-Apps and Services going this route, not because they are lazy &#8211; but because they are offloading an aspect of your app that is incredibly difficult to get it right and secure. In today&#8217;s world of high-profile hacking of user password, it&#8217;s probably the best thing you can do for your users. Even large companies with well-funded security teams often get things horribly wrong.</p>
<p>But let&#8217;s say your app has become incredibly popular, with 1000s of signups per day. There is a point in your business where your user base is large enough for you to start feeling uncomfortable at becoming reliant on third-party sign-in services. At that point, assuming you have the know-how and resources to implement a proper and secure user password storage system, it&#8217;s probably not a bad idea to move to your own self-hosted system.</p>
<p>Because it is easy to get things wrong and how often we make this elementary mistakes in the wild, I am going to list three ways <strong>NOT</strong> to store password.</p>
<h2>1. Don&#8217;t store user passwords.</h2>
<p>The most basic password storage system is to just implement backend database where username and passwords are stored in plaintext. I am not kidding, this is done so often and it is still so common on the web its not even funny. Even today, in the year 2018, you see websites storing passwords in plaintext &#8211; you can verify this when trying to recover your password by email, they simply email back your password in plaintext. It&#8217;s a huge red flag if you see any websites doing this &#8211; stop using their service as soon as possible, or if you must use their service, make sure you are using a unique password. Chances are high that your password is as bad as gone. Because if any website is lazy enough to save your password like this, who knows what other unholy things they are doing security-wise. I once found out my bank was storing the password in plaintext, needless to say, I closed my online banking account. I only used checks or debit-card. You have no business storing your user password in your database.</p>
<h2>2. Don&#8217;t encrypt user passwords.</h2>
<p>The obvious next step would be to implement some kind of encryption when storing a password in the database, better than the previous method, but still, a very bad way to store user password.</p>
<p>This rudimentary encryption process works like this, you take user password, and you use a key to encrypt it and store it in your database, the key itself is also stored in the database. The problem with this approach is that if your server or database is compromised, it happens more often than you might think, the user is one step away from decrypting your database, thanks to you the key is already there.</p>
<p>This approach is surprisingly common among developers because it&#8217;s an easy compromise between &#8220;Secure&#8221; and plaintext password.</p>
<h2>3. Don&#8217;t Hash your passwords.</h2>
<p>Password hashing is a form of a fingerprint of your password, in this method, you don&#8217;t actually store any password in the database, you store the fingerprint (Hash) of the password, so when user tries to sign in to their account you app creates a hash of the password and looks up the hash in the database to see if they match and that&#8217;s how your access is verified. This method is much better than previous 2 methods discussed but has some serious flaws if not implemented properly.</p>
<p>First of all, there are many many hashing algorithms out there, some are more secure than others, discussing the pros and cons of hashing algorithms are outside the scope of this article, to minimize the scope of hashing algorithm research, the current industry standard (2018) in terms of safety and difficulty in brute-force and other types of attack, the top three choices are <strong>PBKDF2, bcrypt, and scrypt</strong>. You should definitely do your own research.</p>
<p>The reason not to rely on Hashing your password, because most people goes with more widely known and less secure hashing algorithms, like  MD5, SHA (1, 2, 3). The reason developers go with MD5 and SHA because they are well known and easier to implement and also because it&#8217;s less CPU intensive compared to bcrypt and scrypt. Higher computational cost with hashing algorithm also means higher cost of developers, MD5 is many order of magnitude faster to brute force on the same password than scrypt. Which means when you have a large number of users your password lookup on similar hardware will be lower for scrypt. Meaning you will have to invest more in hardware. Which is why some developers generally try to avoid more complexity, but it also makes you vulnerable to <strong>Brute-Force, Lookup Tables, Reverse Lookup Tables and Rainbow Tables</strong> attacks. Having a poorly implemented hashing is as bad as not having any form of hashing at all.</p>
<h2>So What is the best industry practice when trying to store user passwords in the database?</h2>
<p><em>The best approach is a mixture of Hashing + Salting + enforcing mandatory strong password (lowercase letters, uppercase letters, numerals, and special characters with at least 10-12 characters long) + Database server not directly accessible from the internet, preferably on a different server from your web application.</em></p>
<p>Salting passwords work by adding random strings to password and then hashing it, this means no two same passwords should have the same hash, this along with previously mentioned best practices makes it close to impossible (or very very very time consuming and difficult) to crack a single password, let alone millions of passwords.</p>
<p>If you follow the above-mentioned rule of best password storage practice, you can store your password on the database without encrypting it, because it adds such a high difficulty level. But encrypting the database itself, even if its hashed and salted is not a bad idea. But the important part is to add a process and policy to store your encryption key in a way that it makes it very difficult to infiltrate your database. Which obviously adds a lot more complexity to an already complex password storage system.</p>
<p>Which is why I recommend everyone, if they are starting out and not very experienced with password management and storage system in a secure way, it&#8217;s best to offload this to a third party login system.</p>
<p>The post <a href="https://www.slashgeek.net/2018/03/20/how-not-to-store-user-passwords/">How not to store user passwords</a> appeared first on <a href="https://www.slashgeek.net">Slashgeek</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2108</post-id>	</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Object Caching 18/99 objects using APC
Page Caching using APC (Page is feed) 
Database Caching 1/30 queries in 0.067 seconds using APC (Request-wide modification query)

Served from: www.slashgeek.net @ 2026-03-26 07:41:15 by W3 Total Cache
-->