Tuesday, June 28, 2016

Progressive Slack Usage at Onedio

TLDR; Slack is just a tool. But it's a great tool. And it is working.

There are too many thoughts about Slack. Some of them are positive [1], some of them are too way negative [2]

At Onedio.com we are a team of hundreds of people. And we are all communicating with Slack. Some of our colleagues use only Slack to do their jobs. We have many webhooks and custom channels, like #daily-reporting-of-somethin, #comment-moderation-channel or #server-status-reports-channel.

We are communicating only with slack. Some of our friends haven't even opened their email inbox.

We have some private channels and we are talking about almost anything in these private channels (side projects, fashion, football, politics, gags, gifs, food, party, gossip, news etc). We have also too many  public channels that are open to all users. We like open communication in our company.




Our slack usage increases by time. 




We are not just posting we are also reading messages. Our slack messages are not just noises. We use mentions and magic mentions (@here @group )  wisely.






Slack is super fast while transferring files. 




Slack is just a tool. But it's a great tool. And it is working. Again but you will use this tool, and you may use it wrong. Maybe It's all about your communication problem. If your boss sucks at communication, sorry but Slack won't help your communication.

We are using slack as a natural way of communication. Our users are not always online. And sometimes they set their status don't disturb mode. In that case we are using different types of communication methods just like SMS or phone call (Btw slack also has an audio call feature). This is just a simple flow. If you don't like realtime notifications of everything then please use slack channel settings to turn on/off. If you like weekly/daily reports of messages then again use your slack preferences and make your settings with this way. Slack will help you to find your way on natural communication.

Slack works. Slack has a great dev team and all applications are just works without bugs (yes maybe with not very often crashes or UX fails)

Slack has many plugins. You can also write your own service or webhook for slack easily.

I am a fan of IRC and mail lists. But this is different. If your team is very young, dynamic and your project is fast growing, you will need a fast, clean and working method to communicate. Slack is a very advanced version of IRC.


1. Wht Slack Works? https://medium.com/@noelsequeira/slacktivism-cb384450e99e#.k5l2tsagb
2. Slack, I’m Breaking Up with You : https://medium.com/better-people/slack-i-m-breaking-up-with-you-54600ace03ea#.nd5hb27ci

Sunday, January 17, 2016

Multi-threading in JavaScript with ParallelJS


Parallel.js is a simple library for parallel computing in Javascript (in node.js or in the modern web browsers). Paralleljs takes advantage of Web Workers for the web, and child processes for Node.

What is web workers

Web Workers are a mechanism by which a script operation can be made to run in a background thread separate from the main execution thread of a web application. The advantage of this is that laborious processing can be performed in a separate thread, allowing the main (usually the UI) thread to run without being blocked/slowed down.
- https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API 


Multi-Threading in JavaScript

JavaScript is executed in a single thread by an event loop. With the Worker interface, a solution to this single-thread limitation problem has been found. With web workers Messages Api is used to communicate.

Note that, multi-threaded programming is parallel, but parallel programming is not necessarily multi-threaded. Unless the multi-threading occurs on a single core, in which case it is only concurrent.

Parallel.js

ParallelJS  provides a great easy to useAPI for web workers with many helpers. A sample usage :

var p = new Parallel([1, 2, 3, 4, 5]);console.log(p.data)


The instance p contains a set of helper methods, for example spawn, map, reduce.
Here is a simple example of map function usage. It returns a Promise with the result. This is not the right solution for multi-threading with parallel.js but only a simple example. 

p.map(function (number) {
 return number * number;
}).then(function (data) {
 console.log(data);
});

Tuesday, January 12, 2016

Install Caffe with GPU support without pain

This is my cheatsheet to install caffe with gpu support on an ubuntu machine.
https://gist.github.com/hasantayyar/1023dbdb01647b0c9559


apt-get update && apt-get install -q -y \
  wget \
  build-essential \
  module-init-tools

cd /opt && \
  wget http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/cuda_7.0.28_linux.run && \
  chmod +x *.run && \
  mkdir nvidia_installers && \
  ./cuda_7.0.28_linux.run -extract=`pwd`/nvidia_installers && \
  cd nvidia_installers && \
  ./NVIDIA-Linux-x86_64-346.46.run -s -N --no-kernel-module && \
  ./cuda-linux64-rel-7.0.28-19326674.run -noprompt

#ENV LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-7.0/lib64

#ENV PYTHONPATH=/opt/caffe/python

#ENV PATH $PATH:/opt/caffe/.build_release/tools

apt-get update && apt-get install -y \
  bc cmake curl git
  gcc-4.6 g++-4.6 gcc-4.6-multilib g++-4.6-multilib \
  gfortran unzip wget \
  libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev \
  libboost-all-dev \
  libhdf5-serial-dev \
  liblmdb-dev libjpeg62 libfreeimage-dev libatlas-base-dev \
  pkgconf protobuf-compiler \
  python-dev python-pip python-yaml python-numpy

# you may not need to change your gcc version
# update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-4.6 30 && \
  update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++-4.6 30 && \
  update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 30 && \
  update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 30

# Allow it to find CUDA libs
echo "/usr/local/cuda/lib64" > /etc/ld.so.conf.d/cuda.conf && \
ldconfig
# Clone caffe
cd /opt && git clone https://github.com/BVLC/caffe.git

# you may not need to install glog. but caffe will log warnings until you've glog installed.
cd /opt && wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz && \
  tar zxvf glog-0.3.3.tar.gz && \
  cd /opt/glog-0.3.3 && \
  ./configure && \
  make && \
  make install

ldconfig

cd /opt && \
  wget https://github.com/schuhschuh/gflags/archive/master.zip && \
  unzip master.zip && \
  cd /opt/gflags-master && \
  mkdir build && \
  cd /opt/gflags-master/build && \
  export CXXFLAGS="-fPIC" && \
  cmake .. && \
  make VERBOSE=1 && make && make install

cd /opt/caffe && \
  cp Makefile.config.example Makefile.config

# echo "CXX := /usr/bin/g++-4.6" >> Makefile.config && sed -i 's/CXX :=/CXX ?=/' Makefile && \
make all -j8

# link caffe-ld-so.conf under /etc/ld.so.conf.d/

ldconfig

# you can install pillow from apt python-pil
easy_install pillow 

# You can find apt alternatives for these python deps.
cd /opt/caffe/python ; \
      for req in $(cat requirements.txt); do pip install $req; done

cd /opt/caffe && make py

# Done

Monday, January 11, 2016

If You are Dealing with Data, You will Like Anaconda

With Python at its core, Anaconda is a platform for connecting your expertise and curiosity with data to explore and deploy innovative analytic apps that solve challenging problems with ease and agility. Processing multi-workload data analytics – from batch through interactive to real-time – the platform is used for both ad hoc and production deployments. Anaconda is tuned to take advantage of modern computing environments – everything from multi-core servers, to Spark and Hadoop, to GPUs – delivering flexibility and allowing you to maximize your infrastructure investment. All of this plus the key capabilities required of an open source modern analytics platform – spanning advanced analytics, interactive visualizations, governance, security and operational support.


 https://www.continuum.io/



    Anaconda Stack

    APP

  • Notebooks 
  • Embeddable Dashboards 
  • Data Services 
  • Visual Apps 
  • VIZ 
  • Plots
  • Interactive Viz
  • Big Data
  • Maps & GIS
  • 3D
  • Streaming
  • Graphs 

      STORYBOARD

  • Notebooks
  • Interactive Exploration
  • Visual Programming
  • Data IDEs 

      ANALYTICS

  • DataPrep
  • Stats
  • ML & Ensembles
  • Deep Learning
  • Simulation & Optimization
  • Geospatial
  • Text & NLP
  • Video/Image/Audio Mining
  • Graph & Network 

      DATA

  • Hadoop & Hive
  • Spark
  • NoSQL
  • DW & SOL
  • Files & Web Services

      HARDWARE

  • Servers
  • Clusters
  • GPUs & High End Workstations

Friday, December 25, 2015

Thursday, November 26, 2015

Analyze Your All Network Traffic with Chrome DevTools


Chrome DevTools has a powerful network panel. If you want to analyze your traffic outside the browser kdzwinel/betwixt electron based application will help you.  


Installation

# Clone this repository
$ git clone https://github.com/kdzwinel/betwixt.git
# Go into the repository
$ cd betwixt
# Install dependencies and run the app
$ npm install && npm start


After installation you should configure your traffic to use proxy as localhost:8008



Last month in my git radar

Here some of my starred open source projects for last month.

This month my radar catched too many projects so if you want to take a look as full list my starred repos link is https://github.com/stars/hasantayyar



BurntSushi / fst
Represents large sets and maps compactly with finite state transducers

evancz / elm-architecture-tutorial
How to create modular Elm code that scales nicely with your app

paldepind / functional-frontend-architecture
A functional frontend framework.

MyScript / myscript-math-web
The easy way to integrate mathematical expressions handwriting recognition in your web app.

kdzwinel / betwixt
⚡Web Debugging Proxy based on Chrome DevTools Network panel.

samyk / magspoof
MagSpoof is a portable device that can spoof/emulate any magnetic stripe or credit card "wirelessly", even on standard mastripe readers.

samyk / usbdriveby
USBdriveby exploits the trust of USB devices by emulating an HID keyboard and mouse, installing a firewall-evading backdoor, and rerouting DNS within seconds of plugging it in

samyk / skyjack
SkyJack is a drone engineered to autonomously seek out, hack, and wirelessly take full control over any other Parrot drones within wireless or flying distance, creating an army of zombie drones under your control.

joyent / node-krill
simple boolean filter language

0x8890 / simulacra
One-way data binding for web applications.

apfeltee / a2mp3
convert (nearly) every type of (audio)file to mp3 in a quick, easy, batch-enabled way!


Newmu / dcgan_code
Deep Convolutional Generative Adversarial Networks

timekit-io / booking-js
Make a beautiful embeddable booking widget in minutes

CacheBrowser / cachebrowser
A proxy-less censorship resistance tool

MrSwitch / hello.js
A Javascript RESTFUL API library for connecting with OAuth2 services, such as Google+ API, Facebook Graph and Windows Live Connect

feross / webtorrent
 Streaming torrent client for node & the browser

Microsoft / JSanity
A secure-by-default, performance, cross-browser client-side HTML sanitization library

facebook / graphql
GraphQL is a query language and execution engine tied to any backend service.

nbubna / storeA better way to use localStorage and sessionStorage

bevacqua / woofmark
Barking up the DOM tree. A modular, progressive, and beautiful Markdown and HTML editor

metabase / metabase
The simplest, fastest way to get business intelligence and analytics to everyone in your company

winterbe / java8-tutorial
Modern Java - A Guide to Java 8

bevacqua / es6
ES6 Overview in 350 Bullet Points

DIYgod / APlayer
Wow, such a beautiful html5 music player

karpathy / neuraltalk2
Efficient Image Captioning code in Torch, runs on GPU

google / skflow
Simplified interface for TensorFlow (mimicking Scikit Learn)



Tuesday, November 24, 2015

GERÇEK YAZILIMCILARA, GERÇEK HACKATHON


Packathon (23 Ocak 2016, BahçeÅŸehir Üniversitesi)


"Gerçek yazılımcılar için gerçek Hackathon" sloganıyla yazılımcıları davet eden etkinliğin davet metni aşağıda. İlgini çekecektir.

Her ÅŸey teknoloji


Fikrinizin gelir modeli umrumuzda değil, yalnızca kodlarınız konuşacak. Çünkü bu bir Hackathon.

Jstanbul, Pyistanbul,BAU I/O, Crystal Türkiye, PHP Istanbul, Istanbul JUG ve diÄŸer bir çok topluluÄŸun desteÄŸiyle, Türkiye’deki hackathon kültürünü yaÅŸatmak için yepyeni bir Hackathon serisi düzenliyoruz.
Packathon nedir? Packathon’lar, temelde programlama dillerine paket geliÅŸtirme üzerine kurulu bir etkinlik. Konu serbest, tek yapmanız gereken bir paket geliÅŸtirmek, ve eÄŸlenmek.
Paket nedir? Paketler, programlama dilleri üzerine kurulmuÅŸ küçük modüller. NPM üzerindeki Node modüller (node modules), Ruby gem’leri ya da PIP paketleri bunlara örnek verilebilir. Kullandığınız framework’ler, veritabanı kütüphaneleri, vs. tamamı bu paket sistemleri üzerinden yazılımcılara ulaşır.
Ne kadar sürüyor? Amacımız yorulmak deÄŸil, eÄŸlenmek. Ödüller de “San Francisco yolculuÄŸu!” gibi uçuk deÄŸil, daha küçük. Bu yüzden sizi 2 gün boyunca uykunuzdan ederek bir ÅŸeyler yapmanız için zorlamıyoruz. Sabahtan akÅŸama kadar sürecek bir etkinlikte, eÄŸlenmek için bir ÅŸeyler yapıyoruz.

Monday, October 5, 2015

MongoDB New CRUD API


The new mongodb shell includes new CRUD API! In addition to the old insert, update, and remove, the shell now supports insertMany, replaceOne, and a variety of other new methods.

> // the old insert API
> db.test.insert({_id: 1})
WriteResult({ "nInserted" : 1 })
> db.test.insert([{_id: 2}, {_id: 3}, {_id: 4}])
BulkWriteResult({
    "writeErrors" : [ ],
    "writeConcernErrors" : [ ],
    "nInserted" : 3,
    "nUpserted" : 0,
    "nMatched" : 0,
    "nModified" : 0,
    "nRemoved" : 0,
    "upserted" : [ ]
})
The new API better distinguishes single- and bulk-insert, and returns more useful results:
> // the new CRUD API
> db.test2.insertOne({_id: 1})
{
    "acknowledged" : true,
    "insertedId" : 1
}
> db.test2.insertMany([{_id: 2}, {_id: 3}, {_id: 4}])
{ 
    "acknowledged" : true,
    "insertedIds" : [ 2, 3, 4 ]
}

> // the old update API
> db.test.update(
... {_id: 1},
... {$set: {x: 1}},
... true              /* upsert */,
... false             /* multi */
)
WriteResult({
    "nMatched" : 0,
    "nUpserted" : 1,
    "nModified" : 0,
    "_id" : 1
})

> // the new update API
> db.test2.updateOne(
... {_id: 1},
... {$set: {x: 1}},
... {upsert: true}
)
{
    "acknowledged" : true,
    "matchedCount" : 0,
    "modifiedCount" : 0,
    "upsertedId" : 1
}

> // the old replace API
> db.test.update(
... {_id: 1},
... {set: {x: 1}}  // OOPS!!
)
WriteResult({
    "nMatched" : 1,
    "nUpserted" : 0,
    "nModified" : 1
})
> // document was replaced
> db.test.findOne()
{ "_id" : 1, "set" : { "x" : 1 } }


> // the old delete API
> db.test.remove({})  // remove EVERYTHING!!

> // the new delete API
> db.test2.deleteOne({})
{ "acknowledged" : true, "deletedCount" : 1 }
> db.test2.deleteMany({})
{ "acknowledged" : true, "deletedCount" : 3 }
Read more on 
https://www.mongodb.com/blog/post/consistent-crud-api-next-generation-mongodb-drivers

Friday, October 2, 2015

RIP Yahoo Pipes

As of August 30th 2015, users will no longer be able to create new Pipes. The Pipes team will keep the infrastructure running until end of September 30th 2015 in a read-only mode. http://pipes.yqlblog.net/

Pipes announced before that the service will be shut down. Now it's completely dead.

Sunday, August 9, 2015

Starred open source projects on github last month

kpashka / linda
Multi-platform, highly configurable conference bot.


SamVerschueren / dynongo
MongoDB like syntax for DynamoDB


epha / dynamise
The promised DynamoDB client of your dreams


rebar / rebar
Erlang build tool that makes it easy to compile and test Erlang applications, port drivers and releases.


basho / riak_kv
Riak Key/Value Store

klacke / yaws
Yaws webserver

p8952 / bocker
Docker implemented in 100 lines of bash

maurizzzio / greuler
graph theory visualizations

ericelliott / essential-javascript-links
Essential JavaScript website.

nikgraf / belle
Configurable React Components with great UX

ipselon / react-ui-builder
React UI Builder

borisyankov / react-sparklines
Beautiful and expressive Sparklines React component

jonobr1 / two.js
A renderer agnostic two-dimensional drawing api for the web.

octalmage / robotjs
Node.js Desktop Automation.

s-a / iron-node
Debug Node.js code with Google Chrome Developer Tools.

avinassh / rockstar
Makes you a Rockstar C++ Programmer in 2 minutes

hugeinc / styleguide
A tool to make creating and maintaining style guides easy.

watson-developer-cloud / tone-analyzer-nodejs
Sample Node.js Application for the IBM Tone Analyzer Service

PHP-DI / PHP-DI
The dependency injection container for humans

babel / babel-sublime
Syntax definitions for ES6 JavaScript with React JSX extensions.

7shifts / jQueryTimeAutocomplete
jQuery autocomplete plugin that works with times. Works basically the same as Google Calendars time input when you add an event. Example: http://7shifts.com/better-time-drop-downs-jquery-timeautocomplete/

Upload / Up1
Client-side encrypted image host web server

sparkbox / mediaCheck
Control JS with mediaqueries

arendjr / selectivity
Modular and light-weight selection library for jQuery and Zepto.js

KartikTalwar / gmail.js
Gmail JavaScript API

ermouth / jQuery.my
jQuery.my is a plugin that bind form controls with js data structures.

makeusabrew / bootbox
Wrappers for JavaScript alert(), confirm() and other flexible dialogs using Twitter's bootstrap framework

DrBoolean / mostly-adequate-guide
Mostly adequate guide to FP (in javascript)

install mahout with less pain

$ mkdir mahout
$ cd mahout/
$ svn co http://svn.apache.org/repos/asf/mahout/trunk
$ cd trunk/
$ mvn compile
$ mvn install 
#this will take very long time because of tests
# if you dont want to run tests run mvn -DskipTests clean install
# optionally : 
$ export MAHOUT_LOCAL=TRUE
$ export MAHOUT_HEAPSIZE=1000

Wednesday, July 22, 2015

Vogels - DynamoDB data mapper for node.js

Check out vogels on github https://github.com/ryanfitz/vogels/


Features


You can configure vogels to automatically add createdAt and updatedAt timestamp attributes when saving and updating a model. updatedAt will only be set when updating a record and will not be set on initial creation of the model.
var Account = vogels.define('Account', {
  hashKey : 'email',

  // add the timestamp attributes (updatedAt, createdAt)
  timestamps : true,

  schema : {
    email : Joi.string().email(),
  }
});
If you want vogels to handle timestamps, but only want some of them, or want your timestamps to be called something else, you can override each attribute individually:
var Account = vogels.define('Account', {
  hashKey : 'email',

  // enable timestamps support
  timestamps : true,

  // I don't want createdAt
  createdAt: false,

  // I want updatedAt to actually be called updateTimestamp
  updatedAt: 'updateTimestamp'

  schema : {
    email : Joi.string().email(),
  }
});
You can override the table name the model will use.
var Event = vogels.define('Event', {
  hashkey : 'name',
  schema : {
    name : Joi.string(),
    total : Joi.number()
  },

  tableName: 'deviceEvents'
});
if you set the tableName to a function, vogels will use the result of the function as the active table to use. Useful for storing time series data.
var Event = vogels.define('Event', {
  hashkey : 'name',
  schema : {
    name : Joi.string(),
    total : Joi.number()
  },

  // store monthly event data
  tableName: function () {
    var d = new Date();
    return ['events', d.getFullYear(), d.getMonth() + 1].join('_');
  }
});

See more at examples https://github.com/ryanfitz/vogels/tree/master/examples
Read more at https://github.com/ryanfitz/vogels/

Monday, June 29, 2015

Should I work for free?

This chart will help you to make a decision.

http://shouldiworkforfree.com/#no5




This cart is a copyrighted work by Jessica Hische 2011

Saturday, June 13, 2015

Image Placeholder Services

Here I listed some of my favorite image placeholder services :


  1. https://placekitten.com/ - all of your placeholders will be kittens! (Or if you like bears http://placebear.com/)
  2. http://placehold.it/ - boring placeholders but your draft will be more professional without kittens. You can change format, color, text and size
  3. http://fakeimg.pl/ - alternative to placehold.it
  4. http://loremflickr.com/ - Random real photos with given sizes. You can give tags or you can get only black and white photos.
  5. http://p-hold.com/ - This service has too many features for image placeholding.
  6. http://dummyimage.com/ - alternative to placehold.it . Thi service has also an interactive placeholder url generator form
  7. https://placeimg.com/ - You can select categories. 
  8. http://lorempixel.com/ - This service is more popular among others (has no more features from  p-hold.com but faster). 

Others 

This second list also has many funny services. Have a look


Bonus

Http status code image holder service

Tuesday, May 12, 2015

Starred Open Source Projects on Github Last Two Months



crobertsbmw / deckofcards
An API to simulate a deck of cards

fchollet / keras
Theano-based Deep Learning library (convnets, recurrent neural networks, and more).

okor / justice
Embeddable script for displaying web page performance metrics.

rapidloop / rtop
rtop is an interactive, remote system monitoring tool based on SSH

facebook / PathPicker
PathPicker accepts a wide range of input -- output from git commands, grep results, searches -- pretty much anything. After parsing the input, PathPicker presents you with a nice UI to select which files you're interested in. After that you can open them in your favorite editor or execute arbitrary commands.

TidalLabs / Slacker
Simple Slack client for the CLI

ermouth / jQuery.my
jQuery.my is a plugin that bind form controls with js data structures.

dariubs / GoBooks
A curated list of Golang books

thephpleague / climate
PHP's best friend for the terminal.

go-bootstrap / go-bootstrap
Generates a lean and mean Go web project.

mblode / marx
The stylish CSS reset.

hephaest0s / usbkill
« usbkill » is an anti-forensic kill-switch that waits for a change on your USB ports and then immediately shuts down your computer.

typicode / json-server
Get a full fake REST API with zero coding in less than 30 seconds (seriously)

kevina / wordlist
SCOWL (and friends).

bevacqua / dragula
Drag and drop so simple it hurts

NathanEpstein / datakit
A lightweight framework for data analysis in JavaScript.

jondavidjohn / payform
A library for building credit card forms, validating inputs, and formatting numbers.

steelbrain / Worker-Exchange
Human-Friendly Web Worker wrapper.

mohebifar / xto6
Turn your ES5 code into readable ES6

dokipen / whoosh
unofficial git mirror of http://svn.whoosh.ca svn repo

guardianproject / ObscuraCam
keep it simple, keep it safe

mholt / caddy
Configurable, general-purpose HTTP/2 web server for any platform.

moose-team / friends
P2P chat powered by the web.

Graphify / graphify
Graphify is a Neo4j unmanaged extension used for document and text classification using graph-based hierarchical pattern recognition.

Wednesday, April 8, 2015

Starred Projects on Github Last Week




    caseyamcl / phpoaipmh OAI-PMH library for PHP

    schmittjoh / JMSDiExtraBundle Provides Advanced Dependency Injection Features for Symfony2

    JMSDiExtraBundle adds more powerful dependency injection features to Symfony2:
    configure dependency injection via annotations
    convention-based dependency injection in controllers
    aspect-oriented programming capabilities for controllers

    Automattic / kue Kue is a priority job queue backed by redis, built for node.js.

    animade / frontend-md Frontend.md looks at your frontend source code and generates a markdown file (called, predictably, FRONTEND.md) outlining the folder/file structure together with any topline comments. It's not a complete documentation system or styleguide generator. Rather it's designed to be a very simple tool which you can use on new or existing projects to get a high level view of how the code is laid out.
    Features
  • Portable - drop it into any frontend project and see what's going on
  • Easy setup - very little configuration required
  • Attractive - generates a nested view of folder structure (inspiration taken from sass-guidelin.es)
  • Automated - Parses comments in a file, pulls out the first one and adds it as a description
  • Readable - results are saved to a seperate Frontend.md markdown file in the root of your project

  • emirozer / fake2db create test databases that are populated with fake data

    sindresorhus / chalk
    Terminal string styling done right

    colors.js used to be the most popular string styling module, but it has serious deficiencies like extending String.prototype which causes all kinds of problems. Although there are other ones, they either do too much or not enough.

    Chalk is a clean and focused alternative.



    git-ftp / git-ftp Git powered FTP client written as shell script.

    mofarrell / p2pvc A point to point color terminal video chat. 

    demo

    alfredxing / calc
    A simple, fast command-line calculator written in Go

    tdenniston / bish Bish is a language that compiles to Bash. It's designed to give shell scripting a more comfortable and modern feel.

Monday, March 16, 2015

Two online wedding planners


  • https://ladymarry.com/  LadyMarry is the new wedding checklist for you. It provides highly customized schedule, a visual timetable and allows you to discover detailed resources
  • https://weddinglovely.com/ WeddingLovely helps you plan your wedding and helps you find your wedding vendors. Personalized for you.

Monday, March 9, 2015

Selected Reading: "Knowledge-Based Trust: Estimating the Trustworthiness of Web Sources"

Knowledge-Based Trust: Estimating the Trustworthiness of Web Sources 
Xin Luna Dong, Evgeniy Gabrilovich, Kevin Murphy, Van Dang Wilko Horn, Camillo Lugaresi, Shaohua Sun, Wei Zhang Google Inc. {lunadong|gabr|kpmurphy|vandang|wilko|camillol|sunsh|weizh}@google.com



ABSTRACT
 The quality of web sources has been traditionally evaluated using exogenous signals such as the hyperlink structure of the graph. We propose a new approach that relies on endogenous signals, namely, the correctness of factual information provided by the source. A source that has few false facts is considered to be trustworthy. The facts are automatically extracted from each source by information extraction methods commonly used to construct knowledge bases. We propose a way to distinguish errors made in the extraction process from factual errors in the web source per se, by using joint inference in a novel multi-layer probabilistic model. We call the trustworthiness score we computed Knowledge-Based Trust (KBT). On synthetic data, we show that our method can reliably compute the true trustworthiness levels of the sources. We then apply it to a database of 2.8B facts extracted from the web, and thereby estimate the trustworthiness of 119M webpages. Manual evaluation of a subset of the results confirms the effectiveness of the method.