Wednesday, November 19, 2014

Hatırlatma: 3. Türkiye PostgreSQL Konferansı

Konferans ücretsiz

PostgreSQL Kullanıcıları ve Geliştiricileri Derneği’nin düzenlediği 3. Türkiye PostgreSQL Konferansı TOBB Ekonomi ve Teknoloji Üniversitesi Yerleşkesinde 06.12.2014 Cumartesi günü gerçekleştirilecektir.

Konferans detayları:
Ücretsiz kayıt :

Tuesday, November 11, 2014

Hatırlatıcı: Özgür Web Günleri 2014

Özgür Web Günleri 2014

Özgür Web Teknolojileri Günleri?
Linux Kullanıcıları Derneği ve Yeditepe Üniversitesi Bilgisayar Topluluğu tarafından beşinci kez düzenleniyor.
Türkiye’de web teknolojileri ve özgür yazılım ile ilgilenen herkesin buluşma yeri.
Toplumun her kesimine uygun düzeyde, tanıtıcı ve teknik seminerler yapılır.
Kamu kuruluşları ve özel sektörden ilgili şirketler stand açar, ürün ve hizmetlerini tanıtır.

Sunday, October 5, 2014

Introduction to Redis with Peter Hayes

Hack Reactor alumnus, Peter Hayes, gives a talk on an introduction to Redis. The presentation covers:

• What are key-value stores and what is Redis?
• Why use them? What are the advantages compared to standard databases?
• Setting up a connection in node
• The Redis API
• Basic Operations
• Hashes
• Sets
• Lists

The lecture is a combination of slides and a bit of live coding.

Friday, September 26, 2014

This Week's Starred Open Source Projects on Github

Here are the open source projects that I interested and found useful and starred.

Stamplay / stamplay-foodme
AngularJS take-out food ordering application.

nickel-org /
An expressjs inspired web framework for Rust  

apidoc / apidoc
RESTful web API Documentation Generator

facebook / watchman
watches files and takes action when they change

structr / structr
Graph Application Platform based on Neo4j

mcrider / rest
A gateway plugin for Open Journal Systems that allows external applications to make HTTP requests for information about a journal, returning JSON-formatted data.

Stamplay / stamplay-tutorials
A set of basic tutorials to understand Stamplay APIs

Stamplay / stamplay-stackoverflow
Building Stack Overflow with AngularJS

Stamplay / stamplay-hackernews
JQuery based Hacker News clone build on top of Stamplay

simov / express-admin-examples
Examples repository for Express Admin

simov / express-admin
MySQL, MariaDB, SQLite, PostgreSQL admin for NodeJS

anvaka /
Visualization of npm

symfony / DomCrawler
[READ-ONLY] Subtree split of the Symfony DomCrawler Component -- clone into Symfony/Component/ (master at symfony/symfony)

v0lkan / efficient-javascript
Source for the "efficient JavaScript" workshop that I've presented to udemy engineering team on 04/30

CrossRef / rest-api-doc
Documentation for CrossRef's REST API

NikhilKalige / git-log
A Atom package for git commit graphs

royrusso / elasticsearch-HQ
Monitoring and Management Web Application for ElasticSearch instances and clusters.

visionmedia / consolidate.js
Template engine consolidation library for node.js

lmenezes / elasticsearch-kopf
web admin interface for elasticsearch

byroot / derrick
Inspect Redis databases and print statistics about the keys

Cetsoft / imcache
Imcache is a Java Caching Library.

paulasmuth / recommendify
ruby/redis based recommendation engine (collaborative filtering)

timoxley / best-practices
Tidbits of developer best practices from around the web

timoxley / functional-javascript-workshop
A functional javascript workshop. No libraries required (i.e. no underscore), just ES5.

exercism /
Crowd-sourced mentorship.

koehlma / pygrooveshark
PyGrooveshark is an implementation of the unofficial Grooveshark API as used by the official clients. It is written in Python and supports searching, stations as well as the popular songs list.

robmorgan / phinx
PHP Database Migrations for Everyone

yob / pdf-reader
The PDF::Reader library implements a PDF parser conforming as much as possible to the PDF specification from Adobe.

CrossRef / pdfextract
A tool and library that can extract various areas of text from a PDF, especially a scholarly article PDF.

CrossRef / pdfmark
Add CrossRef bibliographic metadata (or any XMP) to a PDF

symfony / BrowserKit
[READ-ONLY] Subtree split of the Symfony BrowserKit Component -- clone into Symfony/Component/ (master at symfony/symfony)

fabpot / PHP-CS-Fixer
Analyzes some PHP source code and tries to fix coding standards issues (PSR-1 and PSR-2 compatible)

brianc / node-postgres
Non-blocking PostgreSQL client for node.js. Pure JavaScript and native libpq bindings.

thelia / thelia
Thelia is an open source tool for creating e-business websites and managing online content. Repo containing the new major version (v2)

FriendsOfSymfony / FOSMessageBundle
Provides messenging features for your Symfony2 application.

facebook / mcrouter
Mcrouter is a memcached protocol router for scaling memcached deployments.

tarcieri / reia
Ruby-like hybrid OOP/functional programming language for BEAM, the Erlang VM

basho / webmachine
A REST-based system for building web applications.

discoproject / disco
a Map/Reduce framework for distributed computing

voronianski / melchior.js
Chainable Module Definition (CMD) dependency loader for JavaScript

marmelab / ng-admin
Add an AngularJS admin GUI to any RESTful API

Wednesday, September 24, 2014

How to monitor MongoDB @serverdensity

ServerDensity uses MongoDB to power many different components of their server monitoring product, Server Density. This ranges from basic user profiles all the way to high throughput processing of over 30TB/month of time series data.

Here is a post from ServerDensity blog about mongodb monitoring.

Wednesday, September 17, 2014

How I Start Go - with Peter Bourgon

A great place to start learning Go language.

Go is a lovely little programming language designed by smart people you can trust and continuously improved by a large and growing open-source community.
Go is meant to be simple, but sometimes the conventions can be a little hard to grasp. I'd like to show you how I start all of my Go projects, and how to use Go's idioms. Let's build a backend service for a web app.
  1. Setting up your environment
  1. A new project
  1. Making a web server
  1. Adding more routes
  1. Querying multiple APIs
  1. Make it concurrent
  1. Simplicity
  1. Further exercises

This Week's Open Source Projects on Github

Here my starred repositories for this week. Mostly javascript/nodejs projects

omeka / omeka-s
The Omeka S web publication system for galleries, libraries, archives, and museums. A local network of independently curated exhibits sharing a collaboratively built pool of items and their metadata.

omeka / Omeka
A flexible web publishing platform for the display of library, museum and scholarly collections, archives and exhibitions.

sindresorhus / awesome-nodejs
A curated list of delightful Node.js packages and resources.

marmelab / ng-admin
Add an AngularJS admin GUI to any RESTful API

voronianski / melchior.js
Chainable Module Definition (CMD) dependency loader for JavaScript

yatish27 / linkedin-scraper
Scrapes the public profile of the linkedin page

okulbilisim / awesome-datascience
An awesome Data Science repository to learn and apply for real world problems.

KnpLabs / Gaufrette
PHP5 library that provides a filesystem abstraction layer − will be a feast for your files!

erming / shout
A web IRC client

Tuesday, September 16, 2014

Two important links about MongoDb

This week two important links were caught on my radar about mongodb.

Wednesday, August 27, 2014

Links about Data Science

Checkout this  DataScience repository to learn and apply for real world problems.

You can find 
  • Data Sets 
  • Bloggers 
  • Facebook Accounts 
  • Twitter Accounts 
  • Toolboxes - Environment 
  • Other Awesome Lists
about DataScience in this repo.

Monday, August 25, 2014

Listen switch_user Event in #Symfony

    class: MyApp\AppBundle\Listener\SecuritySwitchUserListener 
      - { 
         name: kernel.event_listener, 
         event: security.switch_user, 
         method: onSecuritySwitchUser }
// src/MyApp/AppBundle/Listener/SecuritySwitchUserListener.php
namespace MyApp\AppBundle\Listener;
use Symfony\Component\Security\Http\Event\SwitchUserEvent;
class SecuritySwitchUserListener
public function onSecuritySwitchUser(SwitchUserEvent $event)
$newUser = $event->getTargetUser();
} }

Friday, August 22, 2014

Pecl errors

PECL paketleri kurulumu sırasında bazen arşiv hataları olusabiliyor.

Örnek bir durum

$ sudo pecl install mongo 
downloading mongo-1.5.5.tgz ...
Starting to download mongo-1.5.5.tgz (192,109 bytes)
.........................................done: 192,109 bytes
could not extract the package.xml file from "/build/buildd/php5-5.5.9+dfsg/pear-build-download/mongo-1.5.5.tgz"
Download of "pecl/mongo" succeeded, but it is not a valid package archive
Error: cannot download "pecl/mongo"
Download failed

install failed

Bu durumdan genellike --nocompress ile kurtulabilirsin. 

pecl install --nocompress mongo"

Friday, August 1, 2014

#redis Matt Stancliff talks about the challenges on a large open source project.

Redis is a popular key-value store used by many companies. Matt Stancliff, a Redis Core Contributor, talks about the challenges with working on a large open source project. Takes your 30 minutes, but worth it.

At first I must say that Matt is a bit prejudiced about MongoDb. but still a "must watch" video if you are interested in open source development and redis.

Wednesday, July 30, 2014

Two Links : Note taking and outliner tool suggestion

Laverna is a note taking application that supports both Dropbox and remoteStorage

Fargo is a simple idea outliner, notepad, todo list, blogging tool, project organizer. #

Both tools are open source and free.

Tuesday, July 29, 2014

Hadoop at Pinterest

Big data plays a big role at Pinterest. With more than 30 billion Pins in the system, we’re building the most comprehensive collection of interests online. One of the challenges associated with building a personalized discovery engine is scaling our data infrastructure to traverse the interest graph to extract context and intent for each Pin.
We currently log 20 terabytes of new data each day, and have around 10 petabytes of data in S3. We use Hadoop to process this data, which enables us to put the most relevant and recent content in front of Pinners through features such as Related Pins, Guided Search, and image processing. It also powers thousands of daily metrics and allows us to put every user-facing change through rigorous experimentation and analysis.

Building a self-serve platform for Hadoop

Though Hadoop is a powerful processing and storage system, it’s not a plug and play technology. Because it doesn’t have cloud or elastic computing, or non-technical users in mind, its original design falls short as a self-serve platform. Fortunately there are many Hadoop libraries/applications and service providers that offer solutions to these limitations. Before choosing from these solutions, we mapped out our Hadoop setup requirements.
1. Isolated multitenancy
2. Elasticity
3. Multi-cluster support
4. Support for ephemeral clusters
5. Easy software package deployment
6. Shared data store
7. Access control layer 
Read all 7 items more on

Monday, July 28, 2014

Artist collections

I fetched albums and songs with youtube media links for one of the best singer of all times "Zeki Müren" and the coffee mate man "Tom Waits".
Project and data fetcher scripts are hosted on github.

Fix "Invalid SSL Certificate" bug in OS X

OS X kullananlar için genel olmayan bir problem sanırım. Detayı burada

Sertifika sorunuzu bener başka sertifika sorunları gibi silerek çözebilirsiniz.  

Keychain Access programını başlatın. View -> Show Expired Certs ve burada süresi geçmiş sertifikaları silin veya daha güvenli bir yolan oalrak sadece ‘DigiCert High” ifadesi geçen ve süresi geçmiş sertifikayı bulup silin.

Wednesday, June 25, 2014

Metor'a destek

Hi everyone -

It's been two days since we launched the 2014 Meteor Challenge. This week until June 30,sponsors from the Meteor community are donating $5 to CodeNow every time someone new stars Meteor on GitHub. If we can introduce 5,000 people to Meteor by then, we'll raise $25,000 for kids learning to code.

We've broken $6000, we're a quarter of the way to our goal, and my twitter feed is full of #meteorchallenge-- all thanks to you. We're right on track for hitting $25,000 next Monday. Let's see if we can kick it up a notch and get there early -- I want to see how fast you can raise 3,500 more stars.

Let's each take a moment today to share the Meteor ChallengeE-mail is the most powerful way to do this -- nothing beats a direct message from a friend. Forward this to your eng@ lists, developer groups, and school listservs with a quick word on why you think they should check out Meteor and star it.

We can watch the numbers go up together at Give a shout on #meteorchallengeafter you've e-mailed your friends, and I'll favorite/retweet you!

PS - If you're making money with Meteor, it's not too late to join in as a sponsor! Just and let us know how much you'd like to pledge. More sponsors means we can raise our goal, reach even more new Meteorites, and help even more CodeNow kids.

Monday, June 16, 2014

Twig Extension içinde Symfony ContainerInterface kullanabilme

config.yml services altında

  class: Sfapp\Common\Twig\SfappExtension
  arguments: [@service_container]
    - { name: twig.extension } 

arguments sayesinden extension dosyasında service container'a erişebileceğim.

Sunday, May 18, 2014

Laravel 4.0 > 4.1 Upgrade Problem

Şurada güzelce açıklanan upgrade klavuzunu adım adım takip edince genelde sorununuz kalmaz. Ancak son denediğim güncelleme grişiminde "composer update" sırasında şöyle bir hata aldım.

PHP Fatal error:  Class 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider' not found in /home/tayyar/test/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php on line 123
{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Class 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider' not found","file":"\/home\/tayyar\test\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/ProviderRepository.php","line":123}}Script php artisan clear-compiled handling the post-update-cmd event returned with an error

  Error Output: PHP Fatal error:  Class 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider' not found in /home/tayyar/test/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php on line 123                                                                              

Bu veya benzer bir hata alınması halinde ilk olarak "composer update --no-scripts" çalıştırmalı. Ancak muhtemelen bu sorunu çözmeyecektir.


rm -rf vendor
rm  composer.lock
composer install

Artık sorununuz kalmamış olmalı.

Thursday, May 8, 2014

Important Announcment on Chrome Native Messaging API

Important announcement!
Due to Chrome's abandonment of NPAPI, we had to move to a newer technology called Native Messaging API. Which is kind of good, because now we fully support Linux!
The bad news is that in order to use Devtools Terminal now you have to manually install the Node.js proxy. 

Don't worry, it's easy, here are some quick instructions to get you going: * Install Node.js (
* Open your terminal and run:  

npm install -g devtools-terminal  
sudo devtools-terminal --install --id=leakmhneaibbdapdoienlkifomjceknl

Basically, the first command will install the proxy app and the second one will tell the Chrome browser where to find it. If it didn't work for you, please, report at Thanks

Friday, May 2, 2014

HHVM on Ubuntu 14.04

Ubuntu 14.04'e yükseltmişseniz HHV derlemek için gerekli paketler bunlar

  sudo apt-get install \
autoconf automake binutils-dev build-essential cmake g++ git \ 
libboost-dev libboost-filesystem-dev libboost-program-options-dev libboost-regex-dev \ libboost-system-dev libboost-thread-dev libbz2-dev libc-client-dev \ 
libc-client2007e-dev libcap-dev libcurl4-openssl-dev libdwarf-dev libelf-dev \ 
libexpat-dev libgd2-xpm-dev libgoogle-glog-dev libgoogle-perftools-dev libicu-dev \ 
libjemalloc-dev libmcrypt-dev libmemcached-dev libmysqlclient-dev libncurses-dev \ 
libonig-dev libpcre3-dev libreadline-dev libtbb-dev libtool libxml2-dev zlib1g-dev libevent-dev \ 
libmagickwand-dev libinotifytools0-dev libiconv-hook-dev libedit-dev libiberty-dev libxslt1-dev ocaml-native-compilers

Friday, April 25, 2014

baudio by @substack

Eğer takip etmiyorsanız @substack takip edilecek kişilerdendir.

Javascript ile müzik yapmak için geliştirilmiş çok sevdiğim şu paketin de geliştiricisi : baudio

Yarım saatlik şu videosunu da izlerseniz bu paket hakkında daha çok fikre sahip olursunuz.

Baudio ile muzik yapmak javascript geliştiriciler için çok daha eğlenceli :)

Örnek :
var baudio = require('baudio');

var n = 0;
var b = baudio(function (t) {
    var x = Math.sin(t * 262 + Math.sin(n));
    n += Math.sin(t);
    return x;

Saturday, April 19, 2014


Tiny helper to catch hash changes

Demo :

        '': function(){
            content.innerHTML = "default page";
        'about': function(){
            content.innerHTML = "about page";
        '^video\/(.*)': function(params){
            content.innerHTML = '<iframe width="100%" height="315" '+
            '" frameborder="0" allowfullscreen></iframe>';
    default: function(){
        console.log("404/notfound/default action"); 
    beforeAction: function(){
        console.log("before action");

Tuesday, April 15, 2014

Yalan api

Üstelik Api'si de mevcut.

$ curl 
  "lie": "Stajyer herşeyi bozmuş!"

Ayrıca bana daha fazla yalan lazım. Şurdan iletirseniz.

Monday, April 7, 2014

Turkey Internet Map

Alexa verileriyle her ay güncellediğim

Maintenance page redirection with htaccess

RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
RewriteRule ^.*$ /maintenance.html [R=503,L]
ErrorDocument 503 /maintenance.html 

When you want to disable maintenance mode just remname maintenance file to something else

mv maintenance.html maintenance.html.disabled"

Gist with sample maintenance page :

Wednesday, April 2, 2014

Symfony forms disable csrf protection

Şöyle iki şekilde yapılabilir. İlki formu olustururken, ikincisi de kökten çözüm EntityFormType içine yazarak. İkincisini yaparsanız ilgili tüm form kullanımlarında csrf olayını kapatmış oluyorsunuz.

Friday, February 28, 2014

#mongodb kill slow operations

home dizininizde tıpkı .vimrc gibi .mongorc olacak. Bu "mongo" konsolu her açıldığında çalışır tıpkı .vimrc'nin vim her açıldığında çalışması için.
.mongorc içine custom fonksiyonlar yazabilirsiniz. Bu da bir acil durum komutu killzombie(). 2 saniyeden fazla süren işlemleri öldürüyor. Dikkatli kullannakta fayda var :)

killzombie.js :

Tuesday, February 18, 2014

Rainy? sadece şuanda yağmurlu mu değil mi onu söyler. Tek hedef kitlesi pencereden bakmaya üşenenler (veya bodrumda çalışanlar)

Duruma uygun şarkılar seçin - songs-for app

Aslında benim kendim için bir youtube müzik bookmark servisi olarka düşünmüştüm.
Ama herkesin kullanmasında sakınca yok.

Kaynak  :

Wednesday, January 22, 2014

Benchmark of docx -> html coversation tools

Link to gist :

NoSQL vs. SQL Summary

SQL DatabasesNoSQL Databases
TypesOne type (SQL database) with minor variationsMany different types including key-value stores, document databases, wide-column stores, and graph databases
Development HistoryDeveloped in 1970s to deal with first wave of data storage applicationsDeveloped in 2000s to deal with limitations of SQL databases, particularly concerning scale, replication and unstructured data storage
ExamplesMySQL, Postgres, Oracle DatabaseMongoDB, Cassandra, HBase, Neo4j
Data Storage ModelIndividual records (e.g., "employees") are stored as rows in tables, with each column storing a specific piece of data about that record (e.g., "manager," "date hired," etc.), much like a spreadsheet. Separate data types are stored in separate tables, and then joined together when more complex queries are executed. For example, "offices" might be stored in one table, and "employees" in another. When a user wants to find the work address of an employee, the database engine joins the "employee" and "office" tables together to get all the information necessary.Varies based on database type. For example, key-value stores function similarly to SQL databases, but have only two columns ("key" and "value"), with more complex information sometimes stored within the "value" columns. Document databases do away with the table-and-row model altogether, storing all relevant data together in single "document" in JSON, XML, or another format, which can nest values hierarchically.
SchemasStructure and data types are fixed in advance. To store information about a new data item, the entire database must be altered, during which time the database must be taken offline.Typically dynamic. Records can add new information on the fly, and unlike SQL table rows, dissimilar data can be stored together as necessary. For some databases (e.g., wide-column stores), it is somewhat more challenging to add new fields dynamically.
ScalingVertically, meaning a single server must be made increasingly powerful in order to deal with increased demand. It is possible to spread SQL databases over many servers, but significant additional engineering is generally required.Horizontally, meaning that to add capacity, a database administrator can simply add more commodity servers or cloud instances. The database automatically spreads data across servers as necessary
Development ModelMix of open-source (e.g., Postgres, MySQL) and closed source (e.g., Oracle Database)Open-source
Supports TransactionsYes, updates can be configured to complete entirely or not at allIn certain circumstances and at certain levels (e.g., document level vs. database level)
Data ManipulationSpecific language using Select, Insert, and Update statements, e.g. SELECT fields FROM table WHERE…Through object-oriented APIs
ConsistencyCan be configured for strong consistencyDepends on product. Some provide strong consistency (e.g., MongoDB) whereas others offer eventual consistency (e.g., Cassandra)