Skip to content

Instantly share code, notes, and snippets.

View izelnakri's full-sized avatar
🇺🇦
Ember.js is the best.

Izel Nakri | izelnakri.eth izelnakri

🇺🇦
Ember.js is the best.
View GitHub Profile
@izelnakri
izelnakri / session.js
Last active February 3, 2017 11:54
Ember.js token based authentication without a library
import Ember from 'ember';
import config from '../config/environment';
import fetch from 'ember-network/fetch';
const { Service, inject, RSVP } = Ember;
export default Service.extend({
store: inject.service(),
authenticationToken: undefined,
currentUser: undefined,
@izelnakri
izelnakri / company.ex
Last active May 28, 2024 15:00
ecto/elixir search functionality
# SELECT company,
# GREATEST(similarity(company.sourced_name, 'search term'), similarity(company.local_name, 'search term'), similarity(company.name, 'search term')) AS rank
# FROM "companies" company
# WHERE (similarity(company.sourced_name, 'search term') > 0.1::float) OR
# (similarity(company.local_name, 'search term') > 0.1::float) OR
# (similarity(company.name, 'search term') > 0.1::float)
# ORDER BY rank DESC
# LIMIT 5;
defmodule Company do
@izelnakri
izelnakri / tests.ex
Last active November 27, 2016 22:18
Zip Writer with Zip64 support for archiving large files. This is an Elixir port of https://github.com/WeTransfer/zip_tricks/blob/master/lib/zip_tricks/zip_writer.rb with tests.
require IEx
defmodule ByteReader do
def read_2b(pid) do
<<result::little-integer-size(16)>> = IO.binread(pid, 2)
result
end
def read_4b(pid) do
<<result::little-integer-size(32)>> = IO.binread(pid, 4)
@izelnakri
izelnakri / datetime-picker.js
Last active January 14, 2017 14:08
Ember Acceptance testing DateTimePicker component
// LOCATION: frontend/tests/helpers/datetime-picker.js
// I'll maybe refactor to add id selectors if there are two pickers
// import and inject it to the ember-page-object property
export default {
fill(dateTime) {
click('.cl-datetime-picker');
selectHour(dateTime.format('H'));
selectMinute(dateTime.format('m'));
selectMonth(dateTime.format('M'));
@izelnakri
izelnakri / application.js
Last active April 24, 2017 21:54
Massive mirage recursive embedding hack for hasOne, belongsTo, hasMany
import Ember from 'ember';
import { Serializer } from 'ember-cli-mirage';
const { isArray } = Ember;
const { pluralize, underscore, dasherize } = Ember.String;
export default Serializer.extend({
keyForAttribute: function(attr) {
return underscore(attr);
},
@izelnakri
izelnakri / application.hbs
Last active December 10, 2018 22:15
Ember modal window logic. Magic happens in the modals service. Usage in routes-admin-blog-post.js. Tests omitted.
{{#each flashMessages.queue as |flash|}}
{{flash-message flash=flash}}
{{/each}}
{{outlet}}
{{modal-registry}}
@izelnakri
izelnakri / ethereum-miners-extra-data.ex
Last active June 26, 2025 06:02
Block extra_data written by the miners of the first week of ethereum. There were no transactions the first week.
"13725 - Geth/v1.0.0/linux/go1.4.2"
"5709 - Geth/v1.0.0/windows/go1.4.2"
"5200 - Geth/LVIV/v1.0.0/linux/go1.4.2"
"3950 - Geth/v1.0.0-0cdc7647/linux/go1.4"
"3412 - Geth/v1.0.0-fc79d32d/linux/go1.4"
"1122 - Bitcoin is THE Blockchain."
"572 - Geth/v1.0.0-d7211dec/linux/go1.4"
"505 - Geth/klosure/v1.0.0-fc79d32d/lin"
"371 - Geth/v1.0.0/darwin/go1.4.2"
"272 - NΞTHΞΒ"
@izelnakri
izelnakri / js-to-code.js
Last active November 1, 2017 11:11
Turn JS data to JS string of code.
export default JSValueToCode;
function JSObjectToCode(object) {
if (Array.isArray(object)) {
return '[' + object.map((element) => JSValueToCode(element)).join(', ') + ']';
}
return '{' + Object.keys(object).reduce((result, key) => {
const codeValue = JSValueToCode(object[key]);
const pair = `'${key}': ${codeValue}`;
require('ember-metal-node');
require('ember-runtime-node');
const EmberObject = Ember.Object;
const computed = Ember.computed;
let me = EmberObject.create({
firstName: 'Izel',
lastName: 'Nakri',
fullName: computed('firstName', 'lastName', function() {
defmodule Izel do
def nvim do
System.cmd("tmux", ["new-window", "-n", "sketchpad", "nvim", "/Users/izelnakri/sketchpad.exs"])
trap_nvim_window_exit()
end
def trap_nvim_window_exit do
case System.cmd("tmux", ["has-session", "-t", "main:sketchpad"], stderr_to_stdout: true) do
{_, 0} ->
Process.sleep(100)