github – Stepan Suvorov Blog https://stepansuvorov.com/blog Release 2.0 Wed, 01 Mar 2017 20:34:46 +0000 en-US hourly 1 https://wordpress.org/?v=6.3.1 New github acid colors … and return back to normal colors https://stepansuvorov.com/blog/2017/03/new-github-acid-colors-and-return-back-to-normal-colors/ https://stepansuvorov.com/blog/2017/03/new-github-acid-colors-and-return-back-to-normal-colors/#respond Wed, 01 Mar 2017 20:34:46 +0000 http://stepansuvorov.com/blog/?p=3276 Continue reading ]]> Do you see the same what I see right now? I don’t know why but github team decided to change link color and folder color to ugly acid blue.

Hardly got used to it and decided to create userscript to return the normal color. You are welcome to contribute.

To install userscript you can use Tampermonkey google extension.

]]>
https://stepansuvorov.com/blog/2017/03/new-github-acid-colors-and-return-back-to-normal-colors/feed/ 0
Idea: BacklogDonator https://stepansuvorov.com/blog/2015/03/idea-backlogdonator/ https://stepansuvorov.com/blog/2015/03/idea-backlogdonator/#respond Sun, 15 Mar 2015 11:31:13 +0000 http://stepansuvorov.com/blog/?p=2363 Continue reading ]]> robomongo-backlog

Idea brought by Oleg Polovets. Oleg, I hope you don’t mind sharing it here. The idea quite simple, but more the useful for popular open-source projects.

Usually if your open-source solution is widely used you have a quite big backlog with requests to update some parts of your code. And in almost all the cases you don’t have time to cover them all immediately. So which one to take first?

What if we organise something like a poll for each backlog issue? But to make votes even more exact we will ask users not just click the button, but to donate for each vote. By this will filter votes of users that really need this issue.

Robomongo already does so. But the idea is to create a service(I called it BacklogDonator) that could be easily connected to your github repo and provide such kind of list.

]]>
https://stepansuvorov.com/blog/2015/03/idea-backlogdonator/feed/ 0
Minimal set for Github OAuth with AngularJS and Node.js https://stepansuvorov.com/blog/2015/03/minimal-set-for-github-oauth-with-angularjs-and-node-js/ https://stepansuvorov.com/blog/2015/03/minimal-set-for-github-oauth-with-angularjs-and-node-js/#respond Thu, 12 Mar 2015 19:41:26 +0000 http://stepansuvorov.com/blog/?p=2437 Continue reading ]]> I so many times had returned back to this topic that decided to create kind of hint/note for myself and probably it also could be useful for the audience.

Applications on Github

To make possible github OAuth on your app you first should to register your application there. And get set of necessary params:

  • Client ID
  • Client Secret

Algorithm

I’ll not go in all the details, because there are a lot of manuals in internet. Only resume. In 7 steps:

  1. web application provides user authorisation link to github
  2. user follows this link and confirms authorisation
  3. github redirects user back to our site with special code parameter in url
  4. our web application gets this code parameter and sends it to the server
  5. server creates OAuth request based on this code and our api secret and sends it to github
  6. github responses to our server with OAuth token
  7. server provide token to the web application

Authorisation link

it’s just a link of such format:

https://github.com/login/oauth/authorize?client_id=%YOUR_APP_ID%

Web Application part

I’ve created simple example of Angular service that will send code parameter to the server:

[javascript]
angular.module(‘config-builder’)
.service(‘Github’, function($http) {

var token = null;

this.getTokenPromise = function(code) {
return $http.get(‘/api/github/token/’ + code).then(function(result){
token = result.data.access_token;
});
};
});
[/javascript]

Server side

And server side part to send OAuth token request:

[javascript]
app.get(‘/api/github/token/:code’, function(req, res) {
request.post({
uri: ‘https://github.com/login/oauth/access_token’,
form: {
client_id: ‘%YOUR_APP_ID%’,
client_secret: ‘%YOUR_APP_SECRET%’,
code: req.params.code
},
json: true
}, function(err, httpResponse, body) {
if (err) {
res.send(500, { error: err });
return;
}
res.send(body);
});
});
[/javascript]

app – is an instance of express framework in this case.

That’s all!

]]>
https://stepansuvorov.com/blog/2015/03/minimal-set-for-github-oauth-with-angularjs-and-node-js/feed/ 0
В поисках сервиса для деплоя https://stepansuvorov.com/blog/2015/03/deploy-service/ https://stepansuvorov.com/blog/2015/03/deploy-service/#comments Tue, 03 Mar 2015 19:18:11 +0000 http://stepansuvorov.com/blog/?p=2143 Continue reading ]]> semaphore-logo  dploy-logo  ftploy-logo  codeship-logo

На данным момент мы для своего проекта используем semaphore. Этот же сервис я использую и для своих личный проектов. Задача на него ставиться простая: при каждом пуше в мастер – выливаем код в продакшен, предварительно выполнив тесты и подготовив билд.

Из-за периодических тормозов, отсутствия возможности создания общей конфигурации для нескольких приложений (в нашем случае у нас 7 разных приложений, которые собираются и деплоятся одними и теме же командами, через один и тот же распределяющий сервер) и не совсем интуитивного интерфейса, задался вопросом: есть ли что-то более интересное, при этом по прежнему легкое и дружелюбное (читать бесплатное) по отношению к опенсорс.

Попробовали как альтернативу использовать Codeship – не понравилось.

Потом еще наткнулся на dploy и ftploy – не впечатлило.

Если у вас есть опыт успешного использования какого-либо подобного сервиса – поделитесь пожалуйста в комментариях.

 

UPD: после того как узнал, что в semaphore можно делать даже так:

[shell]sudo apt-get install -yqq ftp[/shell]

решил пока остаться на нем.

]]>
https://stepansuvorov.com/blog/2015/03/deploy-service/feed/ 3
RawGit – to get raw files from github by direct link https://stepansuvorov.com/blog/2015/01/rawgit-to-get-raw-files-from-github-by-direct-link/ https://stepansuvorov.com/blog/2015/01/rawgit-to-get-raw-files-from-github-by-direct-link/#respond Sat, 31 Jan 2015 02:02:41 +0000 http://stepansuvorov.com/blog/?p=2272 rawgit logo

It’s really ingenious.

Prehistory: GitHub service forbad option to use its service like CDN (by direct linking to source file).

RawGit service provide proxy to solve this ( so you just need to replace “https://github.com/” to “https://rawgit.com/”).

]]>
https://stepansuvorov.com/blog/2015/01/rawgit-to-get-raw-files-from-github-by-direct-link/feed/ 0
gitscore. your hacker reputation https://stepansuvorov.com/blog/2014/09/gitscore-your-hacker-reputation/ https://stepansuvorov.com/blog/2014/09/gitscore-your-hacker-reputation/#respond Sun, 07 Sep 2014 15:58:20 +0000 http://stepansuvorov.com/blog/?p=1951

was going to create something like this, but suddenly found that it’s already created.

]]>
https://stepansuvorov.com/blog/2014/09/gitscore-your-hacker-reputation/feed/ 0
FeedTheDevs. For the moral of our developers https://stepansuvorov.com/blog/2014/08/feedthedevs/ https://stepansuvorov.com/blog/2014/08/feedthedevs/#respond Thu, 28 Aug 2014 20:01:08 +0000 http://stepansuvorov.com/blog/?p=1905 Continue reading ]]> Let me introduce you my pet-project FeedTheDevs. It provides easy way to estimate (by voting ) each PullRequest to any github repo. Could be used like developer work evaluation.

Application was created using AngularJS, node.js, PostgreSQL, GitHub API. You can find source code here.

Why “feed”? For got PR you give developer pizza, otherwise you feed him with spoiled tomatoes :)

]]>
https://stepansuvorov.com/blog/2014/08/feedthedevs/feed/ 0
Создание файлов прямо на GitHub https://stepansuvorov.com/blog/2012/12/%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d1%84%d0%b0%d0%b9%d0%bb%d0%be%d0%b2-%d0%bf%d1%80%d1%8f%d0%bc%d0%be-%d0%bd%d0%b0-github/ https://stepansuvorov.com/blog/2012/12/%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d1%84%d0%b0%d0%b9%d0%bb%d0%be%d0%b2-%d0%bf%d1%80%d1%8f%d0%bc%d0%be-%d0%bd%d0%b0-github/#respond Thu, 06 Dec 2012 10:25:56 +0000 http://stepansuvorov.com/blog/?p=769 Свершилось! Они сдеали возможность создавать файлы прямо в веб интерфейсе.

подробнее на офсайте.

]]>
https://stepansuvorov.com/blog/2012/12/%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d1%84%d0%b0%d0%b9%d0%bb%d0%be%d0%b2-%d0%bf%d1%80%d1%8f%d0%bc%d0%be-%d0%bd%d0%b0-github/feed/ 0