Skip to content

Instantly share code, notes, and snippets.

View sduquej's full-sized avatar

Sebastián Duque sduquej

View GitHub Profile
# Multiplies two n-length integers using recursively the Karatsuba altorithm
class Karatsuba
def initialize
end
def self.karatsuba(x, y)
return x * y if (x < 10) || (y < 10)
n = [x.to_s.size, y.to_s.size].max
@sduquej
sduquej / 00basico.js
Last active August 29, 2015 14:20
00básico
(function (exports) {
'use strict';
var sum, operation;
var add = function(number){
sum += number;
}
var substract = function(number){
sum -= number;
@sduquej
sduquej / 01compejo.js
Created April 29, 2015 21:48
01complejo.js
// Assumption: '1' is not a number, but a String, so it shouldn't be added.
// [‘a’, 2, 4, [‘1’, 5, ‘b’, [2,3, [‘a’, 4, [1,’b’,[5,’a’]]]]]]
(function (exports) {
'use strict';
var sum;
var getValue = function(element){
var value = 0;
if(typeof element === "number"){
value = element;
@sduquej
sduquej / stringOperations.js
Created March 13, 2016 22:14
Arithmetic operations on numbers represented as strings on javascript
/**
* Positive addition: both operands are positive
*/
function sum(s0, s1) {
'use strict';
let result = '';
let carryOver = 0;
for(let i = 0, l = Math.max(s0.length, s1.length); i < l; i++) {
let sum = carryOver + parseInt(s0.charAt(s0.length - 1 - i ) || 0) + parseInt(s1.charAt(s1.length - 1 - i ) || 0);
carryOver = sum > 9 ? 1 : 0;
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Edy Twiddle',
stepStatus: [
Ember.Object.create({isValid: false}),
Ember.Object.create({isValid: false}),
Ember.Object.create({isValid: false}),
Ember.Object.create({isValid: false}),
Ember.Object.create({isValid: false})
@sduquej
sduquej / controllers.application.js
Created January 24, 2017 11:18
Em.computed.alias
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
bool1: true,
bool2: Ember.computed.alias('bool1'),
actions: {
toggleBool2() {
this.toggleProperty('bool2');
@sduquej
sduquej / controllers.application.js
Created May 31, 2017 13:22
wtf computed properties
import Ember from 'ember';
export default Ember.Controller.extend({
sortAscending: true,
notSortAscending: Ember.computed.not('sortAscending'),
_items: Em.A([1, 2, 3]),
items: Ember.computed('sortAscending', function() {
if (this.get('sortAscending')) {
return this.get('ascending');
@sduquej
sduquej / controllers.application.js
Last active October 4, 2017 10:03
computed without dependent keys
import Ember from 'ember';
export default Ember.Controller.extend({
i: 1,
iEven: Ember.computed(function() {
return this.get('i') % 2 === 0;
}),
actions: {
incrementI() {
this.incrementProperty('i');
import Ember from 'ember';
export default Ember.Component.extend({
classNames: ['class-0'],
init() {
this._super();
// this.classNames = this.classNames.slice();
this.classNames.pushObjects(['WOLOLO']);
}
});
@sduquej
sduquej / controllers.application.js
Last active January 10, 2018 10:33
New Twiddle
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
arr: [{isBot: true, id: 'bot'}, {isBot: false, id: 'not bot'}],
rejects: Ember.computed('arr.[]', function() {
return this.get('arr').rejectBy('isBot');
}),
filters: Ember.computed('arr.[]', function() {
return this.get('arr').filterBy('isBot', false);