Skip to content

Instantly share code, notes, and snippets.

View Ashu's full-sized avatar
🎯
Focusing

Ashu Ashu

🎯
Focusing
View GitHub Profile
@kean
kean / Client.swift
Last active January 20, 2026 16:28
API Client (Archived)
// The MIT License (MIT)
//
// Copyright (c) 2017 Alexander Grebenyuk (github.com/kean).
import Foundation
import Alamofire
import RxSwift
import RxCocoa
// This post is **archived**. For a modern version that uses Async/Await and Actors, see the new article
@ricardoalcocer
ricardoalcocer / learning_guitar.md
Last active April 11, 2026 03:18
Learning Guitar

A Hacker's Guide to learning rhythm and lead guitar FAST!

I've been playing guitar for over 30 years. I never took formal lessons - only ocassional ones targeted to a specific topic. I love the discovery process and the relationship I've created with the instrument.

Five years ago or so, I had an a-ha moment, which fundamentaly changed the way I approach my learning of the guitar. After internalizing all the content I consumed, I thing I've come up with a formula for learning both rhythm and lead guitar in a very streamlined and systematic fashion. This method will teach you how to find chords across the entire fretboard so you can create chord progresssions for your own songs, or to make it easier to figure out the chords of your favorite songs.

However, what I like the most about it is that it gets you ready to play lead guitar, without putting too much emphasis on the pentatonic scale. Also, it teaches the guitar from the standpoint of understanding its symetry, and dare I say, the mathematics

@lattner
lattner / TaskConcurrencyManifesto.md
Last active May 23, 2026 07:33
Swift Concurrency Manifesto
@Jonalogy
Jonalogy / handling_multiple_github_accounts.md
Last active May 1, 2026 03:35
Handling Multiple Github Accounts on MacOS

Handling Multiple Github Accounts on MacOS

The only way I've succeeded so far is to employ SSH.

Assuming you are new to this like me, first I'd like to share with you that your Mac has a SSH config file in a .ssh directory. The config file is where you draw relations of your SSH keys to each GitHub (or Bitbucket) account, and all your SSH keys generated are saved into .ssh directory by default. You can navigate to it by running cd ~/.ssh within your terminal, open the config file with any editor, and it should look something like this:

Host *
 AddKeysToAgent yes

> UseKeyChain yes

@candostdagdeviren
candostdagdeviren / Dangerfile
Last active February 1, 2023 10:40
Sample Dangerfile for iOS Project
# PR is a work in progress and shouldn't be merged yet
warn "PR is classed as Work in Progress" if github.pr_title.include? "[WIP]"
# Warn when there is a big PR
warn "Big PR, consider splitting into smaller" if git.lines_of_code > 500
# Ensure a clean commits history
if git.commits.any? { |c| c.message =~ /^Merge branch '#{github.branch_for_base}'/ }
fail "Please rebase to get rid of the merge commits in this PR"
end
@candostdagdeviren
candostdagdeviren / .swiftlint.yml
Last active November 20, 2025 09:41
Sample SwiftLint file to apply best practices
disabled_rules: # rule identifiers to exclude from running
- variable_name
- nesting
- function_parameter_count
opt_in_rules: # some rules are only opt-in
- control_statement
- empty_count
- trailing_newline
- colon
- comma
@cotkjaer
cotkjaer / CGRect+Center.swift
Last active November 23, 2023 06:15
Swift extensions to add "center" to CGRect
extension CGRect
{
/** Creates a rectangle with the given center and dimensions
- parameter center: The center of the new rectangle
- parameter size: The dimensions of the new rectangle
*/
init(center: CGPoint, size: CGSize)
{
self.init(x: center.x - size.width / 2, y: center.y - size.height / 2, width: size.width, height: size.height)
@laurilehmijoki
laurilehmijoki / keyboardHeightObservable.swift
Last active November 15, 2022 13:00
RxSwift Observable on iOS keyboard height
import RxSwift // Version 3.2.0
import RxCocoa // Version 3.2.0
func keyboardHeight() -> Observable<CGFloat> {
return Observable
.from([
NotificationCenter.default.rx.notification(NSNotification.Name.UIKeyboardWillShow)
.map { notification -> CGFloat in
(notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue.height ?? 0
},
//reference types
class someClass {
var name: String
init(name: String) {
self.name = name
}
}
var aClass = someClass(name: "James")
var bClass = aClass
@artemnovichkov
artemnovichkov / UITableView+Dequeue.swift
Created December 9, 2016 08:21
UItableView dequeueing with Swift magic
import UIKit
extension UITableView {
func dequeueReusableCell<T: UITableViewCell>() -> T {
return dequeueReusableCell(withIdentifier: NSStringFromClass(T.self)) as! T
}
}
//using: let cell: ExampleTableViewCell = tableView.dequeueReusableCell()