Skip to content

Instantly share code, notes, and snippets.

@mik01aj
mik01aj / README.md
Last active April 21, 2017 13:02
How to use Tether with React

Tether is a great library for positioning stuff (tooltips, modals, hints, etc) in your web app.

But, as I use React, it was pretty problematic for me, as Tether mutates the DOM and React breaks miserably when it sees mutated DOM. The solution is to have the tethered element outside the part of the DOM tree which is controlled by React (in this case, I use document.body).

That's why I created 2 helpers to use Tether with React.

The first one, TetheredElement is a plain JS helper to create a new element, attach it to some other one via Tether, and populate it with some React component.

The second one, TetherTarget is a React component and it uses TetheredElement to integrate it further with React, so that you can attach components to each other with Tether, without leaving the cozy React/JSX world and worrying about manual DOM operations. Just write:

@kristopolous
kristopolous / hn_seach.js
Last active July 24, 2023 04:12
hn job query search
// Usage:
// Copy and paste all of this into a debug console window of the "Who is Hiring?" comment thread
// then use as follows:
//
// query(term | [term, term, ...], term | [term, term, ...], ...)
//
// When arguments are in an array then that means an "or" and when they are seperate that means "and"
//
// Term is of the format:
// ((-)text/RegExp) ( '-' means negation )
@liambolling
liambolling / crop_multiple_sizes_image.js
Created August 2, 2015 23:48
Crop and Resize Multiple Sizes in Parse Cloud Code
Parse.Cloud.define("crop_multiple_sizes_image.js", function(request, response) {
var url = request.params.imageURL;
var returnImagesArray = [];
// Requires two packages to make this happen.
var _ = require('underscore.js');
var Image = require("parse-image");
// Default images sizes.
var image_card_2x = [540, 350];
@mz1988
mz1988 / main.go
Last active December 19, 2015 09:45
Reddit ranking algorithms by Go
package main
import (
"fmt"
"math"
"time"
)
func epoch_seconds(date time.Time) (sec float64) {
/* Returns the number of seconds from the epoch to date. */
package YOUR.PACKAGE.HERE;
/*
* The MIT License (MIT)
*
* Copyright (c) <2015> <ameron32>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
@funseiki
funseiki / ICloud.java
Created March 8, 2015 23:41
Parse to Twitter Digits validation
// Uses retrofit to generate an implementation
public interface ICloud {
static String serviceProviderHeader = "X-Auth-Service-Provider";
static String credentialsAuthorizationHeader = "X-Verify-Credentials-Authorization";
@GET("/verify_credentials?provider=digits")
void verifyCredentials(
@Header(serviceProviderHeader) String serviceProvider,
@Header(credentialsAuthorizationHeader) String authorization,
@Query("id") long id,
@mrowl
mrowl / ThingsAdapter.java
Created February 28, 2015 16:57
Shim between RecyclerView.Adapter and ParseAdapter
public class ThingsAdapter extends RecyclerView.Adapter<ThingsAdapter.ViewHolder> {
private ParseQueryAdapter<ParseObject> parseAdapter;
private ViewGroup parseParent;
private ThingsAdapter thingsAdapter = this;
public ThingsAdapter(Context context, ViewGroup parentIn) {
parseParent = parentIn;
@nickbutcher
nickbutcher / 1 search_bar.xml
Last active September 4, 2024 05:58
Demonstrating morphing a search icon into a search field. To do this we use an AnimatedVectorDrawable (https://developer.android.com/reference/android/graphics/drawable/AnimatedVectorDrawable.html) made up of two paths. The first is the search icon (as a single line) the second is the horizontal bar. We then animate the 'trimPathStart' property …
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
@tkafka
tkafka / LICENSE.txt
Last active May 17, 2024 02:08
Drop-in replacement for ReactCSSTransitionGroup that uses velocity.js instead of CSS transforms. Add your own transitions to `transitions` hash.
The MIT License (MIT)
Copyright (c) 2014 Tomas Kafka
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
@kachayev
kachayev / concurrency-in-go.md
Last active January 6, 2025 22:43
Channels Are Not Enough or Why Pipelining Is Not That Easy