Skip to content

Instantly share code, notes, and snippets.

View dy's full-sized avatar
🙌
you're doing good

Dmitry Iv. dy

🙌
you're doing good
View GitHub Profile
//Painting
.underline(@height: 20px, @color: @black){
@pattern: "0000000000000000000000000000000000000001";
.png(@stream: @pattern, @w: 1, @h: unit(@height), @color: @color);
}
.underline{
.underline(@color: fade(@black, 10%));
background-position: 0 -2px;
&:hover{
@dy
dy / patronimics.json
Last active December 31, 2015 11:19
Cyrillic patronimics postfixes table.Complexity is O(C).
{ "":"ович овна",
"й":"евич евна",
"а":"ич ична",
"в":"вович|вич вовна|вна",
"ь":"евич евна",
"я":"ич ична",
"ий":"иевич|ьевич иевна|ьевна",
"ла":"лович ловна",
"ма":"мич минична",
"ов":"ович овна",
@dy
dy / gist:8560514
Created January 22, 2014 15:19
Insert image placeholder onerror
<img src="{{ im.url }}" onerror="this.setAttribute('src','{% static 'img/placeholder.jpg' %}' )"/>
@dy
dy / Eiffel.tmTheme
Last active August 29, 2015 13:56
Enhanced markdown syntax highlighting for Sublime Text 2 Eiffel.tmTheme
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Eiffel</string>
<key>author</key>
<string>Ian Joyner</string>
<key>settings</key>
<array>
@dy
dy / distraction-free.json
Last active March 22, 2017 19:05
My sublime settings
{
"gutter": true,
"line_numbers": true,
"margin": -2,
"fold_buttons": true,
"fade_fold_buttons": false,
"draw_centered": false,
"rulers": [90],
"word_wrap": true,
@dy
dy / kudago.countdown
Created July 15, 2014 11:56
Kudago countdown failure
/**
* Katherine's countdowner.
* It would be great to obtain docs for that.
*/
var Digit = Mod({
name: 'digit',
selector: '.digit',
init: function(){
@dy
dy / require.js
Last active August 29, 2015 14:05
require.js in browser
/**
* Require stub for browser.
* Prepend this script in head.
* Set `data-module="name"` attribute on script tag to define module name to register (or it will be parsed as src file name).
* Works only in browsers supporting Object.observe (Chrome with flags)
*/
//module/exports changing observer to expose global variables
var module = {};
var exports = {};
@dy
dy / Parse css value
Created August 21, 2014 17:31
Parse css value
~~str.slice(0,-2);
@dy
dy / zn_gauge_feedback.md
Last active August 29, 2015 14:10
Фидбек по zn_gauge
  1. Прежде всего вам стоит подтянуть свой английский, особенно письменный. Вы будете работать с другими разработчиками, и если вы не будете относиться серьезно к чистоте терминов - возникнут ненужные сложности в коммуникации и понимании. Стоит научиться не делать не только письменных, но и концептуальных ошибок:
  • lenght, а length
  • lengthScale, а lastNumber (scale вообще про масштаб, и измеряется от 1±).
  • не numberInACircle, а numberIsInsideCircle, а еще лучше inset (см. пункт 5)
  • не idElement, а elementId, а еще лучше element (см. пункт 5)
  • canvasDrow, но numbersDraw
  • numberstap, valueFalseNum, valueFalsePer
  1. Посмотрите на примеры хорошего кода: tooltip, spinner и прочие. Вы заметите, что у этого кода есть особенности:

gauge.js

  • [-] Зачем зависимости включены в git-репозиторий? Следовало добавить node_modules и bower_components в .gitignore.
  • [-] Не следовало мешать bower и npm.
  • [-] Выполнено на канвасе. Он плохо стилизуется, невозможно выделить текст, довольно тяжеловесен в сравнении с простым div и более тормозной.
  • [+] Удобное для юзера API (опции).
  • [-] Вместо класса Gauge использован синглтон.
  • [-] Небольшие неточности в английском: numbersInside → numbersAreInside, а лучше inset.
  • [-] Небольшие расхождения в названиях: smallMarksStep, но smallMarkRadius
  • [-] Жуткий paper.full в зависимостях (300kb) - для одного компонента это слишком.