Skip to content

Instantly share code, notes, and snippets.

@seivan
seivan / NonBlockingRead.swift
Last active July 4, 2018 08:39
Nonblocking availableData on FileDescriptor incase you've set the O_NONBLOCK flag.
var flags = fcntl(reader.fileDescriptor, F_GETFL)
_ = fcntl(reader.fileDescriptor, F_SETFL, flags | O_NONBLOCK)
public var nonBlockingAvailableData: Data? {
return self.__readDataOfLength(Int.max, untilEOF: false)
}
internal func __readDataOfLength(_ length: Int, untilEOF: Bool) -> Data? {
let _closed: Bool = false
#if os(Linux)
import Glibc
#else
import Darwin.C
#endif
import Foundation
var counter = 0
var messages = Array<String>()
FileHandle.standardInput.readabilityHandler = { filehandler in
extension Either : Decodable where Right: Decodable, Left == Error {
public init(from decoder: Decoder) throws {
do {
let container = try decoder.singleValueContainer()
let value = try container.decode(Right.self)
self = .right(value)
} catch {
self = .left(error)
}
}
defmodule Tiled.Utils.Decoder do
@moduledoc false
defmodule InternalDecoder do
@moduledoc false
defmacro __before_compile__(_env) do
quote do
@spec decode_key_value({:type, String.t()}) :: atom() | nil
defp decode_key_value({:type, ""}), do: nil
defp decode_key_value({:type, type}) when is_binary(type), do: type |> String.to_atom()
defmodule Utils.TypedStruct do
@moduledoc """
Define module with struct and typespec, in single line.
#### Thus
```
alias Utils.TypedStruct
defmodule User do
use TypedStruct, name: String.t
deftypedstruct Phone, numbers: list(integer)
@seivan
seivan / drawing.ex
Created March 26, 2018 20:38
Drawing
defmodule Drawille.Braille do
@moduledoc """
Module for a braille code.
"""
@braille_offset 0x2800
@doc """
You can get "braille byte" by pixel_map.
pixel map to n-th bits:
@seivan
seivan / sample.ts
Created March 20, 2018 12:32
Redux with RX
const randomError$ = Rx.Observable
.create(observer => {
if (Math.random() < 0.5) {
observer.next("success")
}
else {
observer.error("FAILED REQUEST")
//
// ViewController.swift
// iOSDemo
//
// Created by Seivan Heidari on 17/05/04.
//
//
import UIKit
import StateKit
self.store.state
.distinctUntilChanged()
.subscribe { if let state = $0.element {
print(state)
print("\n")
self.view.subviews
.flatMap { $0 as? UIButton }
.forEach {
$0.isEnabled = state.isLoading == false
@seivan
seivan / task1.exs
Created May 11, 2017 08:51 — forked from moklett/task1.exs
Elixir Task - Crash Handling
# This demonstrates that, when using async/await, a crash in the task will crash the caller
defmodule Tasker do
def good(message) do
IO.puts message
end
def bad(message) do
IO.puts message
raise "I'm BAD!"
end