Skip to content

Instantly share code, notes, and snippets.

View siwalikm's full-sized avatar

Siwalik Mukherjee siwalikm

View GitHub Profile
@siwalikm
siwalikm / cssStringToFileDownloader.css
Created February 27, 2018 18:13
function to convert your css string to downloadable file
cssStringToFileDownloader = function (cssString) {
var blob = new Blob([cssString], { type: 'text/css' });
var el = document.createElement('a');
el.download = 'cssPaletteBundle.css';
el.href = URL.createObjectURL(blob);
el.dataset.downloadurl = ['text/css', el.download, el.href].join(':');
el.style.display = 'none';
document.body.appendChild(el);
el.click();
document.body.removeChild(el);
var x = 5;
const name = 'Homer';

let homer = {
  first: name,
  last: 'Simpson'
};
@siwalikm
siwalikm / move_bitbucket_to_github.sh
Created January 8, 2019 08:16
Clone repo from Bitbucket to Github
$ git clone https://user@bitbucket.org/user/project_name.git
$ cd project_name
# create new respository in github eg. `cloned_project`
$ git remote add upstream git@github.com:user/cloned_project.git
$ git push upstream master
$ git push --tags upstream
@siwalikm
siwalikm / reactTriggerChange.js
Last active February 1, 2019 10:15
Trigger React's synthetic change events on input, textarea and select elements
function reactTriggerChange(e){var t,n,c,r,a,i,v,u,o,d,l=e.nodeName.toLowerCase(),p=e.type;function s(e,t){var n=Object.getOwnPropertyDescriptor(e,t);n&&n.configurable&&delete e[t]}function E(e){e.preventDefault(),r||(e.target.checked=!1),a&&(a.checked=!0)}"select"===l||"input"===l&&"file"===p?((t=document.createEvent("HTMLEvents")).initEvent("change",!0,!1),e.dispatchEvent(t)):"input"===l&&{color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0}[p]||"textarea"===l?(n=Object.getOwnPropertyDescriptor(e,"value"),(t=document.createEvent("UIEvents")).initEvent("focus",!1,!1),e.dispatchEvent(t),"range"===p?(v=(i=e).min,u=i.max,o=i.step,d=Number(i.value),i.min=d,i.max=d+1,i.step=1,i.value=d+1,s(i,"value"),i.min=v,i.max=u,i.step=o,i.value=d):(c=e.value,e.value=c+"#",s(e,"value"),e.value=c),(t=document.createEvent("HTMLEvents")).initEvent("propertychange",!1,!1),t.propertyName="value",e.dispatchEvent(t),(t=document.createEvent(
@siwalikm
siwalikm / component.js
Last active March 18, 2019 06:23
Reset dirty attributes in Emberjs
const { get, String, inject: { service } } = Ember;
export default Component.extend({
store: inject.service(),
// Note: As we are using pushPayload to modify data directy in store, rollback won't be possible.
// Use https://github.com/offirgolan/ember-data-copyable to clone your model and restore if needed.
actions: {
// some action which get's triggered on some change which makes our model dirty.
someAction() {
@siwalikm
siwalikm / ember-cli-build.js
Created March 30, 2020 05:40 — forked from vasind/ember-cli-build.js
Ember CLI performance improvements and tips
// Credits to the following posts that helps me to reduce build times drastically
// https://discuss.emberjs.com/t/tips-for-improving-build-time-of-large-apps/15008/12
// https://www.gokatz.me/blog/how-we-cut-down-our-ember-build-time/
//ember-cli-build.js
let EmberApp = require('ember-cli/lib/broccoli/ember-app');
let env = EmberApp.env(),
@siwalikm
siwalikm / unsupported_emojis_high_sierra.json
Created December 4, 2020 12:39
Exhaustive list of emojis not supported in MacOS High Sierra
[
{
"id": "large_brown_square",
"name": "Large Brown Square",
"short_names": [
"large_brown_square"
],
"colons": ":large_brown_square:",
"emoticons": [],
"unified": "1f7eb",
@siwalikm
siwalikm / tri-nary-tree.js
Last active March 21, 2021 08:39
Trinary tree in js
// Implementing insert and delete methods in a tri-nary tree. Much like a
// binary-tree but with 3 child nodes for each parent instead of two -- with the
// left node being values < parent, the right node values > parent, and the middle node
// values == parent.
function Node(val) {
this.value = val;
this.center = null;
this.left = null;
this.right = null;
@siwalikm
siwalikm / .Frontend Technical Interview Prep.md
Created April 3, 2021 18:57 — forked from augbog/.Frontend Technical Interview Prep.md
Frontend Technical Interview Prep: A study guide of things I constantly re-review when interviewing for frontend.

Frontend Technical Interview Prep

EDIT: Well this has been linked now so just an FYI this is still TBD. Feel free to comment if you have suggestions for improvements. Also here is an unrolled Twitter thread of a lot of the tips I talk about on here.

I've been doing frontend for a while now and one thing that really gripes me is the interview. I think the breadth of knowledge of a "Frontend Engineer" has been so poorly defined that people really just expected you to know everything. Many companies have made this a hybrid role. The Web is massive and there are many MANY things to know. Some of these things are just facts that you learn and others are things you really have to understand.

Every time I interview, I go over the same stuff. I wanted to create a gist of the TL;DR things that would jog my memory and hopefully yours too.

Lots of these things are real things I've been asked that caught me off guard. It's nice to have something you ca

@siwalikm
siwalikm / encrypt-decrypt_in_node.js
Last active December 21, 2022 15:24
Encryption and decryption with Nodejs crypto
var crypto = require('crypto'),
algo = 'aes-256-cbc',
key = 'super123secretKey!';
function encrypt(text){
var cipher = crypto.createCipher(algo,key)
var crypted = cipher.update(text,'utf8','hex')
crypted += cipher.final('hex');
return crypted;
}