Skip to content

Instantly share code, notes, and snippets.

Avatar

Rinat Abdullin abdullin

View GitHub Profile
@abdullin
abdullin / Dockerfile
Created Feb 18, 2014
FoundationDB dockerfile
View Dockerfile
FROM ubuntu:12.04
# For FDB 2.0.1
RUN apt-get update -qq
RUN apt-get install -y wget -qq
RUN cd /tmp ; wget https://foundationdb.com/downloads/I_accept_the_FoundationDB_Community_License_Agreement/2.0.1/foundationdb-clients_2.0.1-1_amd64.deb --no-check-certificate; \
wget https://foundationdb.com/downloads/I_accept_the_FoundationDB_Community_License_Agreement/2.0.1/foundationdb-server_2.0.1-1_amd64.deb --no-check-certificate
#Hack to avoid install problem - we break FDB server on purpose (to prevent if from starting)
RUN mkdir /etc/foundationdb && touch /etc/foundationdb/fdb.cluster
View index.html
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
body {
width: 960px;
padding-top: 40px;
margin: auto;
View using-git-revision-in-windows-azure-cloud-deployments.md

Using Git Revision in Windows Azure Cloud Deployments

Here's a quick approach for including git versions of your codebase into Windows Azure Deployment labels (as visible in the Portal). This applies to Azure SDK 1.6 and probably higher. Versions are appended automatically whenever you trigger a publish from Visual Studio.

git versions usually are reported by git describe and could look like r40 (if there is r40 tag on the last commit) or r39-31-g48ac07c (if last tag r39 was 31 commits ago).

It works like this.

Step 1: Create new Azure Deployment profile for your deployment project. It will be saved somewhere to Profiles\ProjectName.azurePubxml.

View gist:32b8fa6057467ccae8ed

План моих докладов на ufa42conf в этот четверг 19:00 (updated)

Зарегистрироваться

30m : 5 Event-driven лайфхаков

  • Intro : Event-driven или reactive принципы
  • BDD и тестирование кода
  • Пусть код документирует себя
  • Простое масштабирование (latency + throughput)
@abdullin
abdullin / vs.markdown
Last active Aug 29, 2015
Android vs iPhone
View vs.markdown

Summary of the last argument at HappyPancake team about iPhone vs Google Nexus with @pjvds.

This discussion, unlike last discussions about Facebook Flux or JSON assertions, was over in 10 minutes.

  1. iPhone is a product with premium design and polish. It is more expensive.
  2. Google Nexus is a good product with similar hardware specs but less polish. It is less expensive.
  3. Recent iOS updates make iPhones feel outdated slightly faster than recent Android changes.
  4. App ecosystems of iPhone and Android are comparable. iPhone has a few more exclusive apps and apps are generally more expensive and polished. Android has more apps with lower quality on the average.
@abdullin
abdullin / serving-architect.md
Last active Aug 29, 2015
Serving Architect
View serving-architect.md

I think, I heard term "Serving Architect" from a ThoughtWorks presentation. It can be described this way.

Somebody with an experience works with a team, eliminating bottlenecks and helping them to move forward in the project. Ideally he or she would have experience of multiple roles in a software project: architect (software designer), developer, tester, lead and manager; with technical hands-on expertise covering stacks used by the team. This way a serving architect can help and share experience with any role in the team, without interfering with the team dynamics.

View golang.adoc

Go: The Good Parts

Go is a programming language initially developed by Google in 2007. It is a statically typed language with a simple syntax, resembling C or JavaScript. It features garbage collection, type safety and large standard library.

Go can be statically compiled into a single executable binary, which could target a large number of operating systems (from Linux and

@abdullin
abdullin / performLogin.js
Created Mar 6, 2015
Flux action with login
View performLogin.js
var client = require("shared/client");
module.exports = function(context, payload, done) {
if (payload.login === undefined) {
throw new Error("Login must be defined");
}
if (payload.password === undefined) {
throw new Error("Password must be defined");
}
context.dispatch("event:LoginStarted");
@abdullin
abdullin / SampleQuarantine.cs
Created Jun 15, 2011
Quarantine sample that reports recurring failures to email (sample for Lokad.CQRS v2.0)
View SampleQuarantine.cs
// This quarantine sample uses in-memory quarantine to detect repetitive processing failures
// It records each failure into the streaming container (which could be file/Azure)
// When failure threshold is breached, we send an email to the hardcoded address.
// failure message contains all information about failures and message contents
public sealed class MailQuarantine : IEnvelopeQuarantine
{
readonly SmtpHandlerCore _core;
readonly IStreamingContainer _container;
readonly MemoryQuarantine _quarantine = new MemoryQuarantine();
@abdullin
abdullin / IEnvelopeQuarantine.cs
Created Jun 16, 2011
Documented version of IEnvelopeQuarantine
View IEnvelopeQuarantine.cs
/// <summary>
/// Implements quarantine logic for the specific message handler. Default implementation
/// is <see cref="MemoryQuarantine"/>
/// </summary>
public interface IEnvelopeQuarantine
{
/// <summary>
/// Tries to quarantine the specified envelope. Implementation can decide whether we need to give another
/// try to process the envelope (by returning <em>False</em>) or if quarantine should accept the envelope
/// completely. Then processor will discard the queue from it's incoming queue and leave it up to the