Skip to content

Instantly share code, notes, and snippets.

View velsa's full-sized avatar

Vels Lobak velsa

View GitHub Profile
@velsa
velsa / find-pairs.js
Created January 5, 2022 00:28
Finds pairs of number in array which produce given sum.
// Finds pairs of number in array which produce given sum.
const ARRAY_SIZE = 1000;
const MAX_NUMBER = 2022;
const SUM_TO_FIND = 2022;
const arr = new Array(ARRAY_SIZE)
.fill(0)
.map(() => Math.floor(Math.random() * MAX_NUMBER));
@velsa
velsa / App.tsx
Created April 15, 2020 21:46
PDFTron example App in TS
import React, { Component, useState, useEffect } from 'react';
import {
Platform,
StyleSheet,
Text,
View,
PermissionsAndroid,
BackHandler,
NativeModules,
Alert,
[ +1 ms] FAILURE: Build failed with an exception.
[ +2 ms] * What went wrong:
[ ] Execution failed for task ':app:preDebugBuild'.
[ ] > Android dependency 'com.android.support:support-compat' has different version for the compile (26.1.0)
and runtime (27.1.1) classpath. You should manually set the same version via DependencyResolution
[ ] * Try:
[ ] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log
output. Run with --scan to get full insights.
[ ] * Get more help at https://help.gradle.org
[ ] BUILD FAILED in 1s
@velsa
velsa / WoopyCase-ru.md
Last active September 6, 2015 11:40
Woopy Case (RU)

Кейс Woopy:

Супер защита 21го века для телефонов и планшетов

Для Iphone, IPad 6 и Ipad mini

  • Состоит из резинового бампера (как тут) с магнитными разъемами для зарядного устройства и наушников, резиновых кнопкок для регулировки громкости и вкл/выкл, а также колесика для включения/выключения звука (как в catalyst, см. ниже)
  • 2 специальных магнитных адаптера для кабеля зарядки и кабеля наушников, как тут: зарядка, и тут: audio
  • Дополнительная задняя крышка и передняя крышка со стеклом для защиты устройства от воды / пыли.
  • Задняя крышка защелкивается на бампере и частично покрывает его. Устройство удобнее держать в руке (ребристая поверхность)
@velsa
velsa / WoopyCase.md
Last active August 29, 2015 14:26
Woopy Case

Woopy Case:

For iphone 6, ipad and ipad mini

  • Consists of rubber bumper (like here) with magnet connectors for charger and headphones, and rubber buttons for volume and power, and rotating knob for ring/mute (like in catalyst)
  • 2 special adaptors with magnets for charging cable and for headphone cable like here for charger, and like here for audio
  • Additional back cover and additional front cover with glass for water/dust protection.
  • Back cover snaps on to the bumper and partially covers it for rugged feel.
  • Back cover should have an openable stand for keeping the device up in horizontal position
  • Front cover also snaps on to the bumper. Glass is right on the screen for easy swiping and touching. Finger sensor for unlocki
@velsa
velsa / Mag2.md
Last active August 29, 2015 14:20
Mag2 Idea

В принципе, это очень простая мысль и я долго пытался понять почему ее до сих пор никто не реализовал, и, вроде понял, но об этом потом. Родилась она после того, как я сломал 3-й microUSB разьем в телефоне и 5-й microUSB кабель :)

Хочется сделать заглушку для microUSB разьема (а в будущем можно и для других разьемов) с магнитной площадкой и также сделать кабель USB-A -> магнитная площадка. По сути - как Magsafe в макбуках, только для USB.

Вроде эта мысль должна быть на поверхности ? И я нашел, что делали нечто подобное для аудио разьемов, но из-за патентов не смогли продолжить (http://www.fastcodesign.com/3016412/magsafe-for-headphones-is-here-and-patents-have-already-killed-it).

Из того, что я вижу в инете - народ очень радостно воспринял появление магнитного аудио разьема, но все застряло из-за боязни влипнуть в патентное разбирательство с Apple

Также, нашел запрос на подобную разработку, составленный более технически грамотным человеком :)

@velsa
velsa / gist:d0ba3b02514e302687cb
Created November 30, 2014 18:04
EventPlayer
/** @jsx React.DOM */
var EventPlayer = React.createClass({
componentDidUpdate: function() { this.update_player(); },
componentDidMount: function() {
var self = this;
self.update_player();
$(window).on('resize', function(){
self.resize_player();
});
@velsa
velsa / tz-channels.md
Last active August 29, 2015 14:07
ТЗ логики страницы "КАНАЛЫ"
@velsa
velsa / voi-qna-1.md
Last active August 29, 2015 14:07
VOI Q&A, part 1
  1. Механика чата и голосового диалога

1.1. Когда пользователь пишет в чат, сообщение сохраняется на сервере (пример - icq,hangouts когда все ушедшии сообщения доставляются получателю, даже если он в момент отправки находится в офлайне) или по механике p2p связи (пример - скайп).

Сообщения в чате видны всем и сохраняются на сервере. Пользователь также будет видеть сообщения, которые были написаны в чате до того, как он зашел в комнату.
Кроме того, нам все-таки нужен будет private чат, т.е. один на один. Такие сообщения также будут храниться на сервере и по ним будет приходить notification.

1.2. Могу ли я скинуть в диалог ссылку на другую комнату в рамках данного приложения?