Skip to content

Instantly share code, notes, and snippets.

View edtsech's full-sized avatar
🕵️‍♂️

Eduard Tsech edtsech

🕵️‍♂️
  • Prague, Czech Republic
View GitHub Profile

Passive Noise Isolation vs Active Noise Canceling – What’s the Difference?

Source: https://headphonesaddict.com/best-noise-isolating-earbuds/

There is quite a difference between noise isolation and noise cancellation that most people are probably not aware of.

Passive noise isolation isolates all outside sound, generally 25 dB – 30 dB, so if you want to lower all outside noise and just focus on your music, this is the best option.

Active noise canceling works slightly differently, it uses a microphone to record all low frequency noise, like the humming of a plane or helicopter engine (active noise canceling was first developed for helicopter pilots) and then sends the opposite sound to your ears through headphones to “cancel” it. This is a greatly simplified explanation. In the end, it usually cancels around 15 dB of noise.

@edtsech
edtsech / integration.md
Last active August 18, 2017 10:08
Testshot + create-react-app guide w/o ejecting

How to integrate Testshot with an application bootstrapped with create-react-app

In this tutorial we are going to integrate Testshot with create-react-app which uses Webpack.

Let's bootstrap an application

create-react-app react-app
cd react-app
rightCurry = function (f) {
let args = Array.prototype.slice.call(arguments).slice(1);
return function(firstArg) {
return f.apply(null, [firstArg].concat(args))
}
}
fullName = function (name, middleName, lastName) { return name + " " + middleName + " " + lastName }
// rightCurry(fullName, "David", "Doe")("John") -> "John David Doe"
@edtsech
edtsech / flipArgs.js
Last active November 7, 2016 18:44
A function which moves argument of passed function from the first position to the last position.
flipArgs = function (f) {
return function() {
let args = Array.prototype.slice.call(arguments);
return f.apply(null, args.slice(1).concat(args[0]))
}
}
fullName = function(name, lastName) { return name + ' ' + lastName}
// fullName("John", "Doe") -> "John Doe"
@edtsech
edtsech / vali.clj
Last active December 17, 2015 23:59
Clojure Data Validator in 10 lines
(defn validate [data schema]
(into {} (for [[x y] schema]
[x (if (contains? data x)
(let [res (x data)]
(try (y res) (catch IllegalArgumentException e false)))
false)])))
(defn valid? [data schema]
(every? true? (vals (validate data schema))))
@edtsech
edtsech / compojure.clj
Last active December 10, 2015 01:34
Get Rails like controller syntax from Compojure DSL in 5 minutes with few very simple macros.
(defroutes posts-routes
(context "/posts" []
(GET "/" request ...)
(GET "/new" request ...)
(POST "/" request ...)))
@edtsech
edtsech / blog.clj
Created September 8, 2012 06:13
Enlive templating
(use 'net.cgrand.enlive-html)
; Define our posts, it can be response from the database.
(def posts [{:title "First post"
:content "Content of my first post."
:comments [{
:user "edtsech"
:text "boom"}
{:user "anonymous"
:text "blah-blah-blah"}]}
@edtsech
edtsech / 1000.rb
Created September 5, 2012 20:50
From 0 till 1000
THOUSAND = -> p { -> x { p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[
p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[
p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[
p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[
p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p
@edtsech
edtsech / boom.rb
Created July 30, 2012 11:49
Two classes with the same name, but with different obejct_id.
ContentFor = Class.new
x = ContentFor.new
puts x.class.object_id # => 2266662780
# puts x.class.name
ContentFor = Class.new
y = ContentFor.new
puts x.class.object_id # => 2266662780
Gem::Specification.new do |s|
s.name = 'acts_as_untitled'
s.version = '0.1.0'
s.platform = Gem::Platform::RUBY
s.author = 'Edward Tsech'
s.email = 'edtsech@gmail.com'
s.summary = 'Acts as untitled!'
s.description = ''
s.files = ['acts_as_untitled.rb']