(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| AllCops: | |
| RunRailsCops: true | |
| # Commonly used screens these days easily fit more than 80 characters. | |
| Metrics/LineLength: | |
| Max: 120 | |
| # Too short methods lead to extraction of single-use methods, which can make | |
| # the code easier to read (by naming things), but can also clutter the class | |
| Metrics/MethodLength: |
| #!/bin/sh | |
| SPOTIFY_DIR="/Applications/Spotify.app/Contents/Resources/" | |
| if ! [ -d $SPOTIFY_DIR ]; then | |
| echo "$SPOTIFY_DIR does not exist!" | |
| exit 1 | |
| fi | |
| cd $SPOTIFY_DIR | |
| if ! [ -e icon.icns.bak ]; then | |
| mv icon.icns icon.icns.bak |
| class Regex { | |
| let pattern: String | |
| let options: NSRegularExpressionOptions! | |
| private var matcher: NSRegularExpression { | |
| return NSRegularExpression(pattern: self.pattern, options: nil, error: nil) | |
| } | |
| required init(pattern: String, options: NSRegularExpressionOptions = nil) { | |
| self.pattern = pattern |
| extension String { | |
| func md5() -> String! { | |
| let str = self.cStringUsingEncoding(NSUTF8StringEncoding) | |
| let strLen = CUnsignedInt(self.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)) | |
| let digestLen = Int(CC_MD5_DIGEST_LENGTH) | |
| let result = UnsafeMutablePointer<CUnsignedChar>.alloc(digestLen) | |
| CC_MD5(str!, strLen, result) | |
| var hash = NSMutableString() |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| // | |
| // ViewController.m | |
| // AVPlayerCaching | |
| // | |
| // Created by Anurag Mishra on 5/19/14. | |
| // Sample code to demonstrate how to cache a remote audio file while streaming it with AVPlayer | |
| // | |
| #import "ViewController.h" | |
| #import <AVFoundation/AVFoundation.h> |
| # The blog post that started it all: https://neocities.org/blog/the-fcc-is-now-rate-limited | |
| # | |
| # Current known FCC address ranges: | |
| # https://news.ycombinator.com/item?id=7716915 | |
| # | |
| # Confirm/locate FCC IP ranges with this: http://whois.arin.net/rest/net/NET-165-135-0-0-1/pft | |
| # | |
| # In your nginx.conf: | |
| location / { |
| module RailsAppName | |
| class Application < Rails::Application | |
| # .... your settings | |
| require "#{Rails.root}/lib/cloud_flare_middleware" | |
| config.middleware.insert_before(0, Rack::CloudFlareMiddleware) | |
| # ... your settings | |
| end | |
| end |
| NOTE: Easier way is the X86 way, described on https://www.genymotion.com/help/desktop/faq/#google-play-services | |
| Download the following ZIPs: | |
| ARM Translation Installer v1.1 (http://www.mirrorcreator.com/files/0ZIO8PME/Genymotion-ARM-Translation_v1.1.zip_links) | |
| Download the correct GApps for your Android version: | |
| Google Apps for Android 6.0 (https://www.androidfilehost.com/?fid=24052804347835438 - benzo-gapps-M-20151011-signed-chroma-r3.zip) | |
| Google Apps for Android 5.1 (https://www.androidfilehost.com/?fid=96042739161891406 - gapps-L-4-21-15.zip) | |
| Google Apps for Android 5.0 (https://www.androidfilehost.com/?fid=95784891001614559 - gapps-lp-20141109-signed.zip) |
You know what method is being and you want to figure out how it got there. Raising an exception is a bit harsh since all you want is a stack trace
puts caller
Seriously. It's that easy. If you're getting too much information you could