Never Ending Security

It starts all here

Category Archives: Non-Security

Mac Linux USB Loader


Mac Linux USB Loader

Tool allowing you to put a Linux distribution on a USB drive and make it bootable on Intel Macs using EFI.

Mac Linux USB Loader logo

General Information

This is the Mac Linux USB Loader, a tool allowing you to take an ISO of a Linux distribution and make it boot using EFI. It requires a single USB drive formatted as FAT with at least 2 GB free recommended. Mac Linux USB Loader is available under the 3-clause BSD license.

The tool is necessary to make certain Linux distributions boot that do not have EFI booting support. Many distributions are adding this with the release of Windows 8, but it has not been finalized and is still nonstandard by most distributions. Many common distributions are supported, like Ubuntu and Linux Mint.

If you wish to contribute to the code or fork the repository, please do so. All development currently takes place on the master branch, and this is where code should be submitted for pull requests. The legacybranch contains the code for pre-3.0 versions of Mac Linux USB Loader; it will not be maintained and is present for historical interest only.

I created this tool, if you care, for several reasons:

  • None of the other tools available (esp. unetbootin) feel native and operate as you would expect on the Mac platform.
  • None of the other methods of which I am aware have the ability to make the archives boot on Intel Macs.
  • It was personally a pain in the neck getting Linux distributions to boot via USB on Macs.

That being said, it does have a few shortcomings:

  • Linux fails to have graphics on some Macs (i.e Macbook Pros with nVidia graphics), which in some cases prevents boot, but this is not necessarily an issue with Mac Linux USB Loader as much as it is an issue with the video drivers that ship with most distributions. Luckily, with Enterprise, which has been included with Mac Linux USB Loader since 2.0, you can use persistence to install the necessary video drivers on distributions like Ubuntu, helping to alleviate the issue.

Building from Source

Requirements: Xcode 6, OS X 10.10 SDK. OS X 10.8+ required to run built app

  1. Clone from git: git clone https://github.com/SevenBits/Mac-Linux-USB-Loader.git
  2. Run pod install (requires Cocoapods).
  3. Open Mac Linux USB Loader.xcworkspace and do an archive build, or simply run and debug it with Xcode

Acknowledgements

  • Used some icons from KDE’s Oxygen. link
  • Special thanks to Leander Lismond for translating the application into Dutch!

More information can be found on: https://github.com/SevenBits/Mac-Linux-USB-Loaderhttps://sevenbits.github.io/Mac-Linux-USB-Loader/https://github.com/SevenBits/Mac-Linux-USB-Loader/wiki

Linux super-duper admin tools: screen


Time to learn about yet another cool little admin application that will change the way you think and work. We had strace, a mighty, versatile debugging tool that helped us diagnose and categorize system programs quickly and effectively and point us in the right direction in our investigation of problems. We had OProfile, a powerful profiling utility that can be used to time the system and application performance and identify chokepoints and bottlenecks in program executions. Time to step back and appraise screen.

Teaser

screen

screen is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells. Each virtual terminal provides the functions of the legendary DEC VT100 terminal.

Additionally, the utility has insert/delete line, support for multiple character sets, a scrollback history buffer for each virtual terminal, and a copy-and-paste mechanism that allows moving text regions between windows.

When screen is called, it creates a single window with a shell in it and then gets out of your way so that you can use the program as you normally would. Then, at any time, you can create new full-screen windows with other programs in them, including more shells, kill existing windows, view a list of windows, turn output logging on and off, copy & paste text between windows, view the scrollback history, switch between windows in whatever manner you wish, etc.

All windows run their programs completely independent of each other. Programs continue to run when their window is currently invisible and even when the whole screen session is detached from the user’s terminal. When a program terminates, screen kills the window that contained it. If this window was in the foreground, the display switches to the previous window; if none are left, screen exits.

In a nutshell, if Ctrl + F buttons allow you to switch between up to seven virtual consoles, horizontally, screen lets you create an infinite vertical stack of consoles in each one of these.

Home users running full GUI desktops and playing with tabbed terminal utilities would be hard-tempted to find merit in screen, but when you’re running in runlevel 3 and the monitor space is limited, screen is a blessing.

Screen in action

Let’s begin with a few screenshots. To start screen, just type screen in any one console windows, be it gnome-terminal, xterm, Konsole, or any other.

Launch

This will display an introduction messages. Press Enter to exit.

Started

You’re inside a new virtual console. Why not fire another?

First

And here’s the second:

Second

Using the right keyboard shortcuts, we can switch between them, back and forth. Use Ctrl + a then 0 to go to the zeroth (first) screen, Ctrl + a then 1 to go to the second one, and so forth.

First toggled

Now, demonstrating screen with still images is difficult, so here’s a Flash movie! Created using Wink, which served us well so many times, including the tutorial itself, as well as the Windows PowerShell article, and a few others.

So here we go:

Lovely, right! Damn right!

Help window

Don’t hesitate to call for help. Ctrl + a, then ? will pop the help screen.

Help

Of course, you can also read the man page for more details. There’s a plenty you can do with screen, attach/detach/reattach sessions, specify the history scrollback buffer, turn login mode on and off, suppress error messages, and more. screen is a powerful marvel and you should start using it.

Conclusion

Yet another powerful tool mastered. Our list grows bigger, and so does our knowledge. screen may seem trivial to you, but what if you need to debug problems across multiple session and you can’t afford to have tons of Konsole or xterm windows strewn about the desktop like mad. Then, there’s the issue of practical visibility. Never take your eyes off the screen and yet enjoy full multi-view console.

I hope you liked this little surprise. Now, off to new wonders. Stay tuned for many more articles of great admin tools, aptly called super-duper, by me. Be excellent to each other and party on.

Cockroach – A Scalable, Geo-Replicated, Transactional Datastore


Cockroach Circle CI GoDoc Project Status

A Scalable, Geo-Replicated, Transactional Datastore

Table of Contents

WIRED on CockroachDB

Status

ALPHA

  • Gossip network
  • Distributed transactions
  • Cluster initialization and joining
  • Basic Key-Value REST API
  • Range splitting

Next Steps

  • Raft consensus
  • Rebalancing

See our Roadmap and Issues

Running Cockroach

Getting started is most convenient using a recent version (>1.2) of Docker.

If you don’t want to use Docker,

  • set up the dev environment (see CONTRIBUTING.md)
  • make build
  • ignore the initial calls to docker below.

Bootstrap and talk to a single node

Getting a Cockroach node up and running is easy. If you have the cockroach binary, skip over the next shell session. Most users however will want to run the following:

# Get the latest image from the registry. Skip if you already have an image
# or if you built it yourself.
docker pull cockroachdb/cockroach
# Open a shell on a Cockroach container.
docker run -t -i -p 8080:8080 cockroachdb/cockroach shell
# root@82cb657cdc42:/cockroach#

Now we’re in an environment that has everything set up, and we start by first initializing the cluster and then firing up the node:

DIR=$(mktemp -d /tmp/dbXXX)
./cockroach init $DIR
./cockroach start -stores ssd="$DIR" -gossip self:// &

This initializes and starts a single-node cluster in the background.

Built-in client

Now let’s talk to this node. The easiest way to do that is to use the cockroach binary – it comes with a simple built-in client:

# Put the values a->1, b->2, c->3, d->4.
./cockroach put a 1 b 2 c 3 d 4
./cockroach scan
# "a"     1
# "b"     2
# "c"     3
# "d"     4
# Scans do not include the end key.
./cockroach scan b d
# "b"     2
# "c"     3
./cockroach del c
./cockroach scan
# "a"     1
# "b"     2
# "d"     4
# Counters are also available:
./cockroach inc mycnt 5
# 5
./cockroach inc mycnt -3
#2
./cockroach get mycnt
#2

Check out ./cockroach help to see all available commands.

REST

Cockroach also exposes a REST API. You can use the REST Explorer at localhost:8080 or talk directly to it.

Note that if you’re using the Docker container, you want to do this in a new shell and not inside the container, which does not have cURL installed. Note also that if you’re using boot2docker, you don’t want to curl localhost – find out the correct endpoint using boot2docker ip.

curl -X POST -d "Hello" http://localhost:8080/kv/rest/entry/Cockroach
{"header":{"timestamp":{"wall_time":1416616834949813367,"logical":0}}}
curl http://localhost:8080/kv/rest/entry/Cockroach
{"header":{"timestamp":{"wall_time":1416616886486257568,"logical":0}},"value":{"bytes":"SGVsbG8=","timestamp":{"wall_time":1416616834949813367,"logical":0}}}

Note that SGVsbG8= equals base64("Hello").

Among other things, you can also scan a key range:

curl "http://localhost:8080/kv/rest/range/?start=Ca&end=Cozz&limit=10"
{"header":{"timestamp":{"wall_time":1416617120031733436,"logical":0}},"rows":[{"key":"Q29ja3JvYWNo","value":{"bytes":"SGVsbG8=","timestamp":{"wall_time":1416616834949813367,"logical":0}}}]}

Note that Q29ja3JvYWNo equals base64("Cockroach").

Building the Docker images yourself

See build/README.md for more information on the available Docker images cockroachdb/cockroachand cockroachdb/cockroach-dev. You can build both of these images yourself:

  • cockroachdb/cockroach-dev: (cd build ; ./build-docker-dev.sh)
  • cockroachdb/cockroach: (cd build ; ./build-docker-deploy.sh) (this will build the first image as well)

Once you’ve built your image, you may want to run the tests:

  • docker run "cockroachdb/cockroach-dev" test
  • make acceptance

Assuming you’ve built cockroachdb/cockroach, let’s run a simple Cockroach node in the background:

docker run -p 8080:8080 -v /data cockroachdb/cockroach init /data
docker run -p 8080:8080 -d --volumes-from=$(docker ps -q -n 1) cockroachdb/cockroach start -stores ssd=/data -gossip self://

Run docker run cockroachdb/cockroach help to get an overview over the available commands and settings, and see Running Cockroach for first steps on interacting with your new node.

Get in touch

Contributing

See CONTRIBUTING.md

Design

For full design details, see the original design doc.

For a quick design overview, see the Cockroach tech talk slides or watch a presentation:

Cockroach is a distributed key/value datastore which supports ACID transactional semantics and versioned values as first-class features. The primary design goal is global consistency and survivability, hence the name. Cockroach aims to tolerate disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention. Cockroach nodes are symmetric; a design goal is one binary with minimal configuration and no required auxiliary services.

Cockroach implements a single, monolithic sorted map from key to value where both keys and values are byte strings (not unicode). Cockroach scales linearly (theoretically up to 4 exabytes (4E) of logical data). The map is composed of one or more ranges and each range is backed by data stored in RocksDB (a variant of LevelDB), and is replicated to a total of three or more cockroach servers. Ranges are defined by start and end keys. Ranges are merged and split to maintain total byte size within a globally configurable min/max size interval. Range sizes default to target 64M in order to facilitate quick splits and merges and to distribute load at hotspots within a key range. Range replicas are intended to be located in disparate datacenters for survivability (e.g. { US-East, US-West, Japan }, { Ireland, US-East, US-West}, { Ireland, US-East, US-West, Japan, Australia }).

Single mutations to ranges are mediated via an instance of a distributed consensus algorithm to ensure consistency. We’ve chosen to use the Raft consensus algorithm. All consensus state is stored in RocksDB.

A single logical mutation may affect multiple key/value pairs. Logical mutations have ACID transactional semantics. If all keys affected by a logical mutation fall within the same range, atomicity and consistency are guaranteed by Raft; this is the fast commit path. Otherwise, a non-locking distributed commit protocol is employed between affected ranges.

Cockroach provides snapshot isolation (SI) and serializable snapshot isolation (SSI) semantics, allowing externally consistent, lock-free reads and writes–both from an historical snapshot timestamp and from the current wall clock time. SI provides lock-free reads and writes but still allows write skew. SSI eliminates write skew, but introduces a performance hit in the case of a contentious system. SSI is the default isolation; clients must consciously decide to trade correctness for performance. Cockroach implements a limited form of linearalizability, providing ordering for any observer or chain of observers.

Similar to Spanner directories, Cockroach allows configuration of arbitrary zones of data. This allows replication factor, storage device type, and/or datacenter location to be chosen to optimize performance and/or availability. Unlike Spanner, zones are monolithic and don’t allow movement of fine grained data on the level of entity groups.

A Megastore-like message queue mechanism is also provided to 1) efficiently sideline updates which can tolerate asynchronous execution and 2) provide an integrated message queuing system for asynchronous communication between distributed system components.

SQL – NoSQL – NewSQL Capabilities

SQL - NoSQL - NewSQL Capabilities

Datastore Goal Articulation

There are other important axes involved in data-stores which are less well understood and/or explained. There is lots of cross-dependency, but it’s safe to segregate two more of them as (a) scan efficiency, and (b) read vs write optimization.

Datastore Scan Efficiency Spectrum

Scan efficiency refers to the number of IO ops required to scan a set of sorted adjacent rows matching a criteria. However, it’s a complicated topic, because of the options (or lack of options) for controlling physical order in different systems.

  • Some designs either default to or only support “heap organized” physical records (Oracle, MySQL, Postgres, SQLite, MongoDB). In this design, a naive sorted-scan of an index involves one IO op per record.
  • In these systems it’s possible to “fully cover” a sorted-query in an index with some write-amplification.
  • In some systems it’s possible to put the primary record data in a sorted btree instead of a heap-table (default in MySQL/Innodb, option in Oracle).
  • Sorted-order LSM NoSQL could be considered index-organized-tables, with efficient scans by the row-key. (HBase).
  • Some NoSQL is not optimized for sorted-order retrieval, because of hash-bucketing, primarily based on the Dynamo design. (Cassandra, Riak)

Datastore Scan Efficiency Spectrum

Read vs. Write Optimization Spectrum

Read vs write optimization is a product of the underlying sorted-order data-structure used. Btrees are read-optimized. Hybrid write-deferred trees are a balance of read-and-write optimizations (shuttle-trees, fractal-trees, stratified-trees). LSM separates write-incorporation into a separate step, offering a tunable amount of read-to-write optimization. An “ideal” LSM at 0%-write-incorporation is a log, and at 100%-write-incorporation is a btree.

The topic of LSM is confused by the fact that LSM is not an algorithm, but a design pattern, and usage of LSM is hindered by the lack of a de-facto optimal LSM design. LevelDB/RocksDB is one of the more practical LSM implementations, but it is far from optimal. Popular text-indicies like Lucene are non-general purpose instances of write-optimized LSM.

Further, there is a dependency between access pattern (read-modify-write vs blind-write and write-fraction), cache-hitrate, and ideal sorted-order algorithm selection. At a certain write-fraction and read-cache-hitrate, systems achieve higher total throughput with write-optimized designs, at the cost of increased worst-case read latency. As either write-fraction or read-cache-hitrate approaches 1.0, write-optimized designs provide dramatically better sustained system throughput when record-sizes are small relative to IO sizes.

Given this information, data-stores can be sliced by their sorted-order storage algorithm selection. Btree stores are read-optimized (Oracle, SQLServer, Postgres, SQLite2, MySQL, MongoDB, CouchDB), hybrid stores are read-optimized with better write-throughput (Tokutek MySQL/MongoDB), while LSM-variants are write-optimized (HBase, Cassandra, SQLite3/LSM, Cockroach).

Read vs. Write Optimization Spectrum

Architecture

Cockroach implements a layered architecture, with various subdirectories implementing layers as appropriate. The highest level of abstraction is the SQL layer (currently not implemented). It depends directly on the structured data API (structured/). The structured data API provides familiar relational concepts such as schemas, tables, columns, and indexes. The structured data API in turn depends on the distributed key value store (kv/). The distributed key value store handles the details of range addressing to provide the abstraction of a single, monolithic key value store. It communicates with any number of cockroach nodes (server/), storing the actual data. Each node contains one or morestores (storage/), one per physical device.

Cockroach Architecture

Each store contains potentially many ranges, the lowest-level unit of key-value data. Ranges are replicated using the Raft consensus protocol. The diagram below is a blown up version of stores from four of the five nodes in the previous diagram. Each range is replicated three ways using raft. The color coding shows associated range replicas.

Range Architecture Blowup

Client Architecture

Cockroach nodes serve client traffic on two primary HTTP endpoints: a RESTful endpoint which treats key/value pairs and sequences of key/value pairs as resources; and a fully-featured key/value DB API which accepts requests as either application/x-protobuf or application/json. Client implementations consist of an HTTP sender (transport) and a transactional sender which implements a simple exponential backoff / retry protocol, depending on Cockroach error codes.

The REST and DB client gateways accept incoming requests and send them through a transaction coordinator, which handles transaction heartbeats on behalf of clients, provides optimization pathways, and resolves write intents on transaction commit or abort. The transaction coordinator passes requests onto a distributed sender, which looks up index metadata, caches the results, and routes internode RPC traffic based on where the index metadata indicates keys are located in the distributed cluster.

In addition to the gateways for external REST and DB client traffic, each Cockroach node provides the full key/value API (including all internal methods) via a Go RPC server endpoint. The RPC server endpoint forwards requests to one or more local stores depending on the specified key range.

Internally, each Cockroach node uses the Go implementation of the Cockroach client in order to transactionally update system key/value data; for example during split and merge operations to update index metadata records. Unlike an external application, the internal client eschews the HTTP sender and instead directly shares the transaction coordinator and distributed sender used by the REST and DB client gateways.

Client Architecture


More information can be found on: https://github.com/cockroachdb/cockroach

ATOM – A hackable text editor for the 21st Century


Atom

Build Status

Atom is a hackable text editor for the 21st century, built on Electron, and based on everything we love about our favorite editors. We designed it to be deeply customizable, but still approachable using the default configuration.

Visit atom.io to learn more or visit the Atom forum.

Visit issue #3684 to learn more about the Atom 1.0 roadmap.

Documentation

If you want to read about using Atom or developing packages in Atom, the Atom Flight Manual is free and available online, along with ePub, PDF and mobi versions. You can find the source to the manual in atom/docs.

The API reference for developing packages is also documented on Atom.io.

Installing

OS X

Download the latest Atom release.

Atom will automatically update when a new release is available.

Windows

Download the latest AtomSetup.exe installer.

Atom will automatically update when a new release is available.

You can also download an atom-windows.zip file from the releases page. The .zip version will not automatically update.

Using chocolatey? Run cinst Atom to install the latest version of Atom.

Debian Linux (Ubuntu)

Currently only a 64-bit version is available.

  1. Download atom-amd64.deb from the Atom releases page.
  2. Run sudo dpkg --install atom-amd64.deb on the downloaded package.
  3. Launch Atom using the installed atom command.

The Linux version does not currently automatically update so you will need to repeat these steps to upgrade to future releases.

Red Hat Linux (Fedora, CentOS, Red Hat)

Currently only a 64-bit version is available.

  1. Download atom.x86_64.rpm from the Atom releases page.
  2. Run sudo yum localinstall atom.x86_64.rpm on the downloaded package.
  3. Launch Atom using the installed atom command.

The Linux version does not currently automatically update so you will need to repeat these steps to upgrade to future releases.

Building


More information can be found on: https://github.com/atom/atom and on https://atom.io

How to Convert a Video to Animated GIF Image on Linux


Video To Animated GIF

How to convert video to animated gif image on Linux

Once thought of as outdated art forms, animated GIF images have now come back. If you haven’t noticed, quite a few online sharing and social networking sites are now supporting animated GIF images, for example, on Tumblr, Flickr, Google+, and partly on Facebook. Due to their ease of consumption and sharing, GIF-ed animations are now part of mainstream Internet culture.

So some of you may wonder how you can create such animated GIF images. There are various online or offline tools dedicated to create animated GIF images. Another option is to create an animated GIF image off of an existing video clip. In this tutorial, I will describe how to convert a video file to an animated GIF image on Linux.

Step 1: Download a YouTube Video

First, download a YouTube video that you would like to convert. You can use youtube-dl tool to save a YouTube video as an MP4 file. Suppose you saved your favorite YouTube video as “funny.mp4″.

Step 2: Extract Video Frames from a Video

Next, install FFmpeg on your Linux system, which I will use to extract video frames from the video.

The following command will extract individual video frames, and save them as GIF images. Make sure to use the output file format (“out%04d.gif”) as is. That way, individual frames will be named and saved properly.

ffmpeg -t <duration> -ss <starting position in hh:mm:ss format> -i <input_video> out%04d.gif

For example, if you want to extract the video frames of input video, for 5 seconds, starting at 10 seconds from the beginning, run the following command.

$ ffmpeg -t 5 -ss 00:00:10 -i funny.mp4 out%04d.gif

After FFmpeg is completed, you will see a list of GIF files created, which are named as “out[\d+].gif”.

Step 3: Merge Video Frames into an Animated GIF

The next step is to merge individual GIF files into one animated GIF image. For that, you can use ImageMagick.

First, install ImageMagick on your Linux system if you haven’t done so.

Then, run the following command to merge created GIF images into a single animated GIF file.

convert -delay <ticks>x<ticks-per-second> -loop 0 out*gif <output-gif-file>

In the command, “-delay” is an option that controls the animation speed. This option indicates that [ticks/ticks-per-second] seconds must elapse before the display of the next frame. The “-loop 0″ option indicates infinite loops of animation. If you want, you can specify “-loop N”, in which case the animation will repeat itself N times.

For example, to create an animated GIF image with 20 frames-per-second and infinite loop, use the following command.

$ convert -delay 1x20 -loop 0 out*.gif animation.gif

Step 4 (Optional): Reduce the Size of an Animated GIF

The last (optional) step is to reduce the size of the created GIF file, by using ImageMagick’s GIF optimizer.

Use the following command to reduce the GIF size.

$ convert -layers Optimize animation.gif animation_small.gif

Now you are ready to share the GIF image on your social networks. The following shows a sample GIF image that I created from a cute YouTube video.

10 Best Online Grammar and Spell checker Tools


The very first step after writing an article is to check whether you made any grammatical/spelling error or not. The task becomes more difficult when your article is lengthy. A single spelling error can change the meaning of whole sentence.

Spelling Mistake

To avoid these kinds of errors and speed up your process, we have compiled a list of best automated online grammar and spell checker tools. There are hundreds of tools available on the internet and we have selected these ten based on their accuracy and user reviews. They are very helpful especially for writers and daily bloggers.

Note: There is no software/tool (yet) that provides 100 percent accuracy. 

10. Spellcheckplus

Spellcheckplus

Another good tool for those who are looking for free language checker for proofreading. It detects your grammatical and spelling errors within few seconds. Since it is compatible with Microsoft word files, it doesn’t change the text format.
Let me try

9. Jspell

jspell

Whether it’s your resume, blog post or speech, you can check anything on Jspell. It is integrated with the medical word checker. Each individual word is checked against a set of correct words. It also looks for suggestion that is similar in sound and structure to the incorrect word.
Let me try

8. LanguageTool

LanguageTool

LanguageTool is open source proof reading software that supports more than 20 languages including English, German, French, Spanish, Swedish and more. It highlights the text with errors. The software is available under LGPL 2.1 or later, you can find the source code on Github. Moreover, you can download the standalone tool (73 MB) for your desktop.
Let me try

7. Spellcheck

spellcheck

Spellcheck is free and easy to use software that supports more than 100 languages including English, German, Hindi, Spanish, Urdu and more. Just copy and paste the text on the web homepage. A pop up box will appear highlighting your errors. Also, you can click on the specific letter to check its definition.
Let me try

6. Grammarbase

Grammarbase

Grammarbase is the free online tool for instant grammar and spelling error detection. You just need to paste the text into the application of the website. Whether it’s complex or simple, it shows all types of mistakes. Along with this, the tool provides quick correction of mistakes and formats.
Let me try

5. Whitesmoke

whitesmoke

Whitesmoke is advanced software that checks your grammar, spelling, punctuation and sentence structure. It can translate full text from over 45 languages. It automatically checks all emails send from Outlook and works with MS Word. Moreover, the tool is integrated with plagiarism checker, 100 letter templates and self-improvement writing tool and tips.
Starting Price: $9.95

4. Paperrater

paperrater

Paperrater has 3 main features i.e. robust grammar check, plagiarism detection (compares text with over 10 billion documents) and writing suggestion. Some of the other features include auto grader, title validation, readability statistics, vocabulary builder tool, style and word choice analysis.
Starting Price: $8

3. Reverso

reverso

Reverso is the broad tool that doesn’t only provide spell/grammar checker but also conjugation, dictionary and translation services. You can check synonyms, conjugator and definition of particular text. That means along with the document scanning you can make it more attractive and versatile.
Let me try

2. Gingersoftware

ginger- Online Grammar and Spell checker Tools

Ginger is based on innovative Natural Language Processing platform to decipher the semantic and contextual meaning of input. It helps both ESL as well as native speakers to enhance their language skills. The software works with MS Word, PowerPoint, Outlook, Chrome, Firefox and Internet Explorer. It has grammar checker, sentence rephraser, translator (over 40 languages), dictionary, text reader (male as well as female voice) and personal trainer that helps to quickly and efficiently improve your skills.
Let me Try

1. Grammarly

grammarly

Grammarly’s technology reviews and improves your input by correcting spelling, grammar, word choice and style mistake. The sofwware checks over 250 grammar points including commas misuse, double negative, use of subjective, duplicate pronouns, subjective verb agreement, sentence fragment, tenses, faulty parallelism, unbalanced or misplaced punctuation, dangling modifier, pronoun case agreement and more. Also, it is integrated with plagiarism detection software. You can use it on any browser plus Microsoft office suite to check any type of text like resume, essay, polish emails, memos, academic papers, cover letters medical reports etc.
Let me Try

How to Decompress ZIP Archives With SSH


To save time on big file transfers, you can upload as a ZIP archive and decompress the file using SSH.

It could save you a lot of time.1

Here’s how to do it.

Tools and Setup

Before you begin, make sure you have shell access enabled for your domain. Not all web hosting companies provide this.

Secondly, you will need a SSH client. That’s the software you use to connect. On Windows, we recommend PuTTY, partly because it’s free. (If you using Mac or Unix, check out this info on how to start a SSH session).

Finally, you’ll need an FTP application like FileZilla.

Transfer and Decompress

Here’s how to do the rest. Replace all of the generic words we’ve used with your own details.

  1. FTP the ZIP file to the right directory on your host. It’s easier if you FTP the file to the folder where you want the unzipped files to appear.
  2. Open your SSH client or connect using your preferred application.
  3. Log in using your FTP password.
  4. At the [server]$ prompt, type ls to display a list of your directories.
  5. Type cd subdomain.domain.com to change directory to the location of the zip file upload.
  6. Type ls again. You should see the name of the ZIP file you uploaded.
  7. Type unzip yourfilename.zip

Depending on how many files are in the zip, it might take a while to finish. But, when it does you will have all your files decompressed, exactly where you wanted them.

How to Decompress ZIP Archives With SSH

Cross-platform Youtube Player, NO Ads. and Banner-FREE


Atrici logo

Atraci is an application for Windows, Mac and Linux that lets you listen instantly to more than 60 million songs (way more than iTunes’s 26 million). It requires no sign up, displays no ads and is 100% safe.

Atraci

Atraci Youtube player

Go over to Webupd8 and grab the PPA to get it installed easily.

Webupd8 page:   HEREhttp://www.webupd8.org/2014/07/atraci-new-youtube-based-music-player.html#more

Atraci Github:  HEREhttps://github.com/Atraci/Atraci

Emotime – Recognizing emotional states in faces


Emotime

Recognizing emotional states in faces


Authors: Luca Mella, Daniele Bellavista

Development Status: Experimental

Copyleft: CC-BY-NC 2013

Project Page: https://github.com/luca-m/emotime


Goal

This project aims to recognize main facial expressions (neutral, anger, disgust, fear, joy, sadness, surprise) in image sequences using the approaches described in:

References

Here is listed some interesting material about machine learning, opencv, gabor transforms and other stuff that could be useful to get in this topic:

Project Structure

src
  \-->dataset        Scripts for dataset management
  \-->facecrop       Utilities and modules for face cropping and registration
  \-->gaborbank      Utilities and modules for generating gabor filters and image filtering
  \-->adaboost       Utilities and modules for adaboost train, prediction, and feature selection
  \-->svm          Utilities and modules for svm training and prediction
  \-->detector     Multiclass detector and preprocessor
  \-->utils        String and IO utilities, CSV supports, and so on..
doc                Documentation (doxigen)
report             Class project report (latex)
resources          Containing third party resources (eg. OpenCV haar classifiers)
assets             Binary folder
test               Some testing scripts here

Build

Dependencies:

  • CMake >= 2.8
  • Python >= 2.7, < 3.0
  • OpenCV >= 2.4.5

Compiling on linux:

  • mkdir build
  • cd build
  • cmake .. ; make ; make install – now the asset folder should be populated

Cross-compiling for windows:

  • Using CMake or CMakeGUI, select emotime as source folder and configure.
  • If it complains about setting the variable OpenCV_DIR set it to the appropriate path so that:
    • C:/path/to/opencv/dir/ contains the libraries (*.lib)
    • C:/path/to/opencv/dir/include contains the include directories (opencv and opencv2)
    • IF the include directory is missing the project will likely not be able to compile due to missing reference to opencv2/opencv or similar.
  • Then generate the project and compile it.
  • This was tested with Visual Studio 12 64 bit.

Detection and Prediction

Proof of concept model trained using faces extracted using the detector cbcl1 are available for download, mulclass strategy 1 vs all and many vs many can be found.

NOTE: watch for illumination! At the moment optimal results can be obtained in live webcam sessions using direct illumination directed to the user’s face. Don’t worry you are not required to blind you with a headlight.

If you’d like to try emotime without any further complication you should take a look to thex86_64 release.

Usage

Video gui:

echo "VIDEOPATH" | ./emotimevideo_cli FACEDETECTORXML (EYEDETECTORXML|none) WIDTH HEIGHT NWIDTHS NLAMBDAS NTHETAS (svm|ada) (TRAINEDCLASSIFIERSXML)+

Cam gui:

./emotimegui_cli FACEDETECTORXML (EYEDETECTORXML|none) WIDTH HEIGHT NWIDTHS NLAMBDAS NTHETAS (svm|ada) (TRAINEDCLASSIFIERSXML)+

Or using the python script:

python gui.py --cfg <dataset_configuration_path> --mode svm --eye-correction <dataset_path>

Binary Release and Trained Models

If you just want to take a quick look to the project we strongly suggest to go to the release section and download compiled binaries for Linux 64bit, then:

  • download and unzip the binaries in an empty folder
  • run ./download_trained_models.sh
  • Then cd assets and ./emotimegui_cli ../resources/haarcascade_frontalface_cbcl1.xml none 48 48 3 5 4 svm ../dataset_svm_354_cbcl1_1vsallext/classifiers/svm/*

Training

After mkdir build; cd build; cmake ..; make ; make install go to the assets folder and:

  1. Initialize a dataset using:
    python datasetInit.py -cfg <CONFIGFILE> <EMPTY_DATASET_FOLDER>
    
  2. Then fill it with your images or use the Cohn-Kanade importing script:
    python datasetFillCK --cfg <CONFIGFILE> <DATASETFOLDER> <CKFOLDER> <CKEMOTIONFOLDER>
    
  3. Now you are ready to train models:
    python train_models.py --cfg <CONFIGFILE> --mode svm --prep-train-mode [1vsall|1vsallext] <DATASETFOLDER>
    

Dataset

The Cohn-Kanade database is one of the most used faces database. Its extended version (CK+) contains also FACS code labels (aka Action Units) and emotion labels (neutral, anger, contempt, disgust, fear, happy, sadness, surprise).

Validation

First, rough evaluation of the performance of the system Validation test involved the whole systemface detector + emotion classifier, so should not be considered relative to the emotion classifieritself.

Of course, a more fine validation shuld be tackled in order to evaluate emotion classifier alone. For the sake of completeness the reader have to know that the cbcl1 face model is a good face locator rather than detector, roughly speaking it detects less but is more precise.

Following results are commented with my personal – totally informal – evaluation after live webcam session.

multicalss method: 1vsAllExt 
face detector:     cbcl1
eye correction:    no 
width:             48
height:            48 
nwidths:           3 
nlambdas:          5
nthetas:           4

Sadness                   <-- Not good in live webcam sessions too
  sadness -> 0.67%
  surprise -> 0.17%
  anger -> 0.17%
Neutral                   <-- Good in live webcam sessions
  neutral -> 0.90%
  contempt -> 0.03%
  anger -> 0.03%
  fear -> 0.02%
  surprise -> 0.01%
Disgust                   <-- Good in live webcam sessions
  disgust -> 1.00%
Anger                     <-- Good in live webcam sessions
  anger -> 0.45%
  neutral -> 0.36%
  disgust -> 0.09%
  contempt -> 0.09%
Surprise                  <-- Good in live webcam sessions
  surprise -> 0.94%
  neutral -> 0.06%
Fear                      <-- Almost Good in live webcam sessions
  fear -> 0.67%
  surprise -> 0.17%
  happy -> 0.17%
Contempt                  <-- Not good in live webcam sessions
  neutral -> 0.50%
  contempt -> 0.25%
  anger -> 0.25%
Happy                     <-- Good in live webcam sessions
  happy -> 1.00%
multicalss method: 1vsAll 
face detector:     cbcl1
eye correction:    no 
width:             48
height:            48 
nwidths:           3 
nlambdas:          5
nthetas:           4

Sadness                   <-- Not good in live webcam sessions too
  unknown -> 0.50%
  sadness -> 0.33%
  fear -> 0.17%
Neutral                   <-- Good in live webcam sessions 
  neutral -> 0.73%
  unknown -> 0.24%
  surprise -> 0.01%
  fear -> 0.01%
  contempt -> 0.01%
Disgust                   <-- Good in live webcam sessions
  disgust -> 0.82%
  unknown -> 0.18%
Anger                     <-- Almost sufficient in live webcam sessions
  anger -> 0.36%
  neutral -> 0.27%
  unknown -> 0.18%
  disgust -> 0.09%
  contempt -> 0.09%
Surprise                  <-- Good in live webcam sessions
  surprise -> 0.94%
  neutral -> 0.06%
Fear                      <-- Sufficient in live webcam sessions
  fear -> 0.67%
  surprise -> 0.17%
  happy -> 0.17%
Contempt                  <-- Not good in live webcam sessions too
  unknown -> 1.00%
Happy                     <-- Good in live webcam sessions 
  happy -> 1.00%

Also main difference between the 1vsAll and the 1vsAllExt mode experimented in livecam sessions are related to the amount of unknown states registered and the stability of the detected states. In detail 1vsAll multiclass method provide more less noisy detections during a live web-cam session, 1vsAllExt mode instead is able to always predict a valid state for each frame processed, but sometimes it result to be more unstable during the expression transition.

Sorry for the lack of fine tuning and detail, but it is a spare time project at the moment.. If you have any idea or suggestion feel free to write us!

Further Development

  • Tuning GaborBank parameters for accuracy enhancement.
  • Tuning image sizes for better real-time performance.
  • Better handle illumination, detections are good when frontal light is in place (keep it in mind when you use it with your camera).

More info about this project can be found at: https://github.com/luca-m/emotime

10 Free and powerful File Managers for the web


if you looking for Free and powerful File Managers Based on jQuery , Ajax, php and Mootools ready to use in your web projects and easy to customize , take a look at this list with Free and powerful File Managers using jQuery/Ajax/php . All File Managers Based on jQuery ,Ajax, php and Mootools that allows you to preview, upload and modify files and folders via the browser.

1.MooTools based FileManager

A MooTools based File-Manager for the web that allows you to (pre)view, upload and modify files and folders via the browser.
MooTools-based-FileManager

Features :

  • Browse through Files and Folders on your Server
  • Rename, Delete, Move (Drag&Drop), Copy (Drag + hold CTRL) and Download Files
  • View detailed Previews of Images, Text-Files, Compressed-Files or Audio Content
  • Nice User Interface ;)
  • Upload Files via FancyUpload (integrated Feature)
  • Option to automatically resize big Images when uploading
  • Use it to select a File anywhere you need to specify one inside your Application’s Backend
  • Use as a FileManager in TinyMCE
button-4109 button-310

2.eXtplorer -PHP and JavaScript based File Manager

eXtplorer is a web-based free File Manager built with PHP and JavaScript . eXtplorer is released under a dual-license You can choose whether you want to use eXtplorer under the Mozilla Public License (MPL 1.1) or under the GNU General Public License (GNU/GPL).
eXtplorer compatible with PHP 4.3 on the server and an up-to-date browser with Javascript enabled to run. But here is one more thing I like about eXplorer is you can use eXtplorer as a file manager for your local files or use eXtplorer to login to the FTP server (like net2ftp) and work as if you were using an FTP client.
eXtplorer -PHP and JavaScript based File Manager

Features :

  • browse your directories & files on the server like FTP server
  • edit, copy, move (Drag&Drop), delete files from server
  • search, upload and download files,
  • create and extract archives,
  • create new files and directories
button-4109 button-310

3. AjaXplorer

AjaXplorer is a web-based free File Manager which is easy-to-install file explorer for remotely managing files on a web server. Its “rich client” layout and actions make it accessible to any end-user for a variety of purposes: file management/sharing, photo gallery, code browsing, etc. Only PHP (4 or 5) is necessary, no database needed.
AjaXplorer-is-a-web-based-f

Features :

  • Rename/Copy/Move/Delete/Download files or folders
  • Upload multiple files and track status with progress bar (Flash required and no https)
  • Create folders and empty files
  • Edit Text files and code files (js, php, html, java, sql, perl), syntax is highlighted in the editor
  • View Images online, preview images in the list, diaporama of a given folder
  • Listen to MP3s online without downloading them
  • View Flash videos (FLV) online and full screen.
  • Browse and Extract ZIP files online
button-4109 button-310

4.Relay -Ajax directory manager

Relay is a Ajax based free File Manager for the web that allows you to (pre)view of thumbnail including pdf, upload and modify files and folders via the browser.
Relay -Ajax directory manager
Relay -Ajax directory manager compatible with ;

  • PHP version 4+
  • MySQL version 4+
  • Perl 5.8.0 (for upload progress)
  • Apache/IIS

Features :

  • easily drag-n-drop files and folders
  • dynamic loading file structure
  • dynamic upload progress bar
  • thumbnail preview, including pdf
  • multiple users & accounts for sharing
button-4109 button-310

5. fileNice

filenice is free php file browser , filenice Basically useful for if you have a ‘dump’ folder on your server where you regularly upload files and you want to be able to see what’s there.
filenice is free php file browser

Features:

  • Source viewing of code
  • Preference based sorting
  • Search
  • Folder comments
  • easy and quickly Send to Flickr
  • preview about File details
  • Folder specific slideshows of images without reloading pages.
button-4109 button-310

6.phpXplorer

phpXplorer is an open source file management system written in PHP. It enables you to work on a remote file system through a web browser. By default it has got dialogs for editing HTML, PHP, image, Apache, compressed and email files. Its modular design makes it easy to build your own filetypes, property sheets, views and themes.
phpXplorer

button-4109 button-310

7.FileVista

FileVista is a web file manager for storing, managing and sharing files online through your web browser. It is a web based software which you install on your web server to fulfill web file management requirements of your company or organization. This web file manager allows your users to upload, download and organize any type of file with an intuitive user interface.
FileVista

button-4109 button-310

8.FileMan

FileMan help you to quickly and easily access your website’s files and directories through any compatible browser. You can perform many tasks including creating and editing html files using a WYSIWYG editor, uploading one or multiple files with ascii/binary transfer capability, searching for files based on file names or full text searches, replacing files, and much much more.
FileMan

button-4109 button-310

9.CKFinder

CKFinder is a powerful and easy to use Ajax file manager for web browsers. Its user-friendly interface makes it him intuitive and quick to learn for all kinds of users, from advanced professionals to Internet beginners.
CKFinder

Features:

  • Full source code included for the server side integration.
  • secure file uploads.
  • quickly responses without refreshing page.
  • Lightweight and user-friendly interface .
  • Full user control: create, rename and delete folders and files.
  • Multi-language support with automatic user language detection.
  • Quality image thumbnails, making it quick to find things.
  • Folders tree navigation: for easy to navigate .
button-4109 button-310

10.FileRun

FileRun is a web-based (PHP) file management system that allows you to manage files stored on your web server, through an innovative user-friendly (Ajax) interface. fileRun is 100% web based (PHP) file management system, a browser is the only thing a user will need for sending and receiving files .
There’s nothing to download; you can easily access your documents or files from any computer with an Internet connection and a standard browser.
filerun

Features:

  • user-friendly Ajax interface
  • Download folders by zipping them on the fly!
  • Uploads folders (without having to Zip and Unzip them).
  • unlimited space for Uploads files of unlimited sizes, overcoming PHP upload limitation configuration directives.
  • Easily manage files already existing in the file-system (No import required!).

button-4109

Using Wget to download any website


Use this command to download a website:

wget –recursive –no-clobber –page-requisites –html-extension –convert-links –restrict-file-names=windows –domains example.com –no-parent http://www.example.com

The options are:
–recursive: download the entire Web site.
–domains website.org: don’t follow links outside website.org.
–no-parent: don’t follow links outside the directory tutorials/html/.
–page-requisites: get all the elements that compose the page (images, CSS and so on).
–html-extension: save files with the .html extension.
–convert-links: convert links so that they work locally, off-line.
–restrict-file-names=windows: modify filenames so that they will work in Windows as well.
–no-clobber: don’t overwrite any existing files (used in case the download is interrupted and resumed).

IRC Nachrichten per WhatsApp senden und empfangen

Watching Your Mac OS X Media on a Smart TV from Sony, Samsung or LG


Every smart TV has options to access the shared media content on the internet device which you are using. Like suppose you are using a wireless router to connect your laptop and smartphone on the internet, then you can use the same wireless router to share your videos, music and photos with your LED or Smart TV also, whether that is a sony Bravia, a samsung one or else a LG Smart TV, that doesn’t matter but the thing is that the TV which is needed to be connected must be a smart TV / LED. Following is the process to play some high quality videos, music and photos on your smart TV:

1- You need a laptop which has Mac OS X running on it.

2- Download Vuze for the OS X, and install the program. OS X has probably the easiest way of installing any software or application. From: http://www.vuze.com/download.php

3- After installing Vuze, just run the software. It’s actually a downloading applications for torrents file at the same time. But the good thing which it has is the DLNA feature which makes your laptop a media server making the video files available to your smart tv present in your laptop. Thus, it means you can play the songs present in your laptop to the big screen.

your TV has been detected along with it’s applied IP address. (Be sure that you have connected your smart TV with the wireless router of your home network and also your laptop must be connected to the same network)

See on top at the screen shot, you’ll see that a Bravia tv has been detected. I have already enabled the device playback feature. Once you install Vuze you need to turn on the device playback feature.

5- Now, just you need to select the TV device and then, just drag and drop the videos which you want to make available on the network and the TV in the end.

6- Access the network and USB feature of your TV using the smart remote. And there you will see the Vuze media server, select that and wait a second after some time you will see your shared videos from laptop on the TV. That’s it , Enjoy playing videos from laptop to your sony bravia, samsung or else LG smart TV.

If for some reason it did not work for you as described here above, then there is a second way to get this working by using an other program but also a few steps to setup.

1- You’ll need to download Sofa Play software from the Application store. Just run the Mac Appstore

2- Click on search field at the top on the right side and search for: "Sofa Play Lite" and install it, since Sofa Play will be the paid version (If you want to get more features then just purchase this Application its worth giving a shot.

3- After downloading just open the application. It will search for television or LED TV present in your network. Make sure that you are not connected to any Proxy Networks while searching for the Television. You’ll see your television inside the drop down once it completes it search and if there are more than one televisions present in your wifi network then it will show you more television networks.

4- Once Sofa Lite completes the search you’ll see televisions connected to your wireless network in the drop down list. Select the TV and just drag and drop a video file in the window of the sofa lite.

5- Once you drag and drop videos on the Sofa Play lite, it will automatically start playing on the Smart TV and even if it doesn’t play then just drag and drop another video, this time it will work. In some TV’s you’ll need to go to the Media Player through pressing Home button (In case of the Sony TV) or by pressing media button present on the remote control. Thought, in most TV’s you don’t need to do much , just run this application (Note: Before running Sofa Lite make sure that your TV is connected to the Wi-Fi network and your Laptop is also connected to same Wi-Fi network) and drag and drop the videos after selecting the right TV.

Note: This way you can’t mirror your exact screen of MAC on the Smart TV but instead you can play videos directly on your Smart TV and instead of enjoying media on the small screen of the laptop you will be able to enjoy things with family while using a MAC. Keep in mind that if the transfer rate of your Wi-Fi router is not good then the videos of HD quality will start to get interrupted while getting played.

MASSIVE COLLECTIONS: Awesome, Awesome All, Awesome-Awesome, Awesome-Awesomes, Awesome Awesomeness, Awesome-Collection, Lists, Lists Of Github Lists, List of Lists, Must-Watch-List and Wiki China Lists


Awesome

A curated list of awesome lists
For more info check: https://github.com/sindresorhus/awesome

Platforms

Programming languages

Front-end development

Back-end development

Computer science

Big data

Theory

Miscellaneous

Awesome All

A curated list of all the awesome lists of awesome frameworks, libraries and software
For more info check: https://github.com/bradoyler/awesome-all

Contributing

Please take a quick gander at the contribution guidelines first. Thanks to all contributors; you rock!

Contents

Awesome-Awesome

A curated list of awesome curated lists! Inspired by inspiration.
For more info check: https://github.com/erichs/awesome-awesome

Awesome Awesome

A curated list of amazingly awesome curated lists of amazingly awesome libraries, resources and shiny things for various languages and frameworks.
For more info check: https://github.com/oyvindrobertsen/awesome-awesome

C

Clojure

Common Lisp

Go

Java

JavaScript

PHP

Python

Ruby

Scala

Swift

Awesome-Awesomes

Awesome collection of awesome lists of libraries, tools, frameworks and software for any programming language, or closely related :D
For more info check: https://github.com/fleveque/awesome-awesomes

Feel free to add new lists or categories! Remember, it’s not mandatory that name starts with awesome- ;)

Programming languages | Frameworks, platforms, etc | Related and useful

Programming Languages

C

  • Awesome C – A curated list of awesome C libraries, frameworks and other shinies.

Clojure

  • Awesome Clojure – A curated list of awesome clojure libraries and software

Common Lisp

  • Awesome Common Lisp – A curated list of awesome Common Lisp libraries, software and other shinies.

D

  • Awesome D – A curated list of awesome D documents, frameworks, libraries and software

Elixir

  • Awesome Elixir – A curated list of amazingly awesome Elixir libraries, resources and shiny things

Erlang

Go

  • Awesome Go – A curated list of awesome Go frameworks, libraries and software

Haskell

  • Awesome Haskell – A curated list of awesome Haskell frameworks, libraries and software

Java

JavaScript

  • Awesome JavaScript – A curated list of amazingly awesome browser-side JavaScript libraries, resources and shiny things

PHP

  • Awesome PHP – A curated list of amazingly awesome PHP libraries, resources and shiny things

Python

  • Awesome Python – A curated list of awesome Python frameworks, libraries and software

Ruby

Scala

  • Awesome Scala – A curated list of awesome Scala frameworks, libraries and software

Frameworks, platforms, etc

Frontend

Node.js

  • Awesome Node.js – A curated list of astonishing Node.js frameworks, libraries and resources

Ruby on Rails

  • Awesome Rails – A curated list of amazingly awesome open source rails related resources

Mobile

Related and useful

Editors

Environments

  • Awesome Dev Env – A curated list of awesome tools, resources and workflow tips making an awesome development environment.

Shell

  • Awesome Shell – A curated list of awesome command-line frameworks, toolkits, guides and gizmos

SysAdmin

  • Awesome Sysadmin – A curated list of amazingly awesome open source sysadmin resources

Talks

  • Awesome Talks – List of online talks that you would love to watch

MachineLearning

  • Awesome Machine Learning – A curated list of awesome machine learning frameworks, libraries and software (by language).

Awesomes

  • Awesome Awesomes – This one!! ;) Awesome collection of awesome lists of libraries, tools, frameworks and software for any programming language :D
  • Awesome Awesomeness – A curated list of awesome awesomeness
  • Awesome Awesome – A curated list of awesome curated lists! Inspired by inspiration

Awesome Awesomeness

A curated list of amazingly awesome awesomeness. Also available on:
Awesome-Awesomeness.ZEEF.com: https://awesome-awesomeness.zeef.com/alexander.bayandin
And Github: https://github.com/bayandin/awesome-awesomeness

Awesome Awesome

A curated list of awesome curated lists of many topics, can also found on:
Github: https://github.com/emijrp/awesome-awesome

Computer management

  • awesome-shell – Command-line frameworks, toolkits, guides and gizmos.
  • awesome-sysadmin – Backups, configuration management, DNS, IMAP/POP3, LDAP, monitoring, SSH, statistics, troubleshooting, virtualization, VPN and more.

Data processing

Programming languages

  • awesome-clojure – Package management, audio, HTTP, database, websocket and testing.
  • awesome-c – C frameworks, libraries, resources and other cool stuff.
  • awesome-cpp – C/C++ frameworks, libraries, and resources.
  • awesome-cobol – Web frameworks, template engine, forms, authentication & OAuth, database, e-mail, messaging, imagery, text processing, machine learning, testing, audio, video and logging.
  • awesome-common-lisp – Common Lisp frameworks, libraries, resources and other shinies.
  • awesome-d – Build tools, compilers, IDE, GUI, database clients.
  • awesome-elixir – Elixir libraries, resources and shiny things.
  • awesome-go – Go frameworks, libraries and software.
  • awesome-java – Build tool, code analysis, database, GUI, IDE, JSON, machine learning, PDF, science, testing and web crawling.
  • awesome-javascript – JavaScript libraries, resources and shiny things.
  • awesome-julia – List of Julia resources and packages.
  • awesome-perl – Benchmarks, databases, images, logging, profiling, testing, text processing and web frameworks.
  • awesome-php – Frameworks, templating, URL, e-mail, files, imagery, testing, security, documentation, geolocation, date, PDF, search and authentication.
  • awesome-python – Files, dates, text processing, NLP, imagery, audio, video, geolocation, web frameworks, OAuth, web crawling, networking, GUI, game development, testing, science and data analysis and machine learning.
  • [awesome-R] – Not yet! Do it yourself!
  • awesome-ruby – Ruby libraries, tools, frameworks and software
  • awesome-scala – Scala frameworks, libraries and software.
  • awesome-swift – Swift documentation, projects, tutorials, updates, etc

Sciences

  • [awesome-biology] – Not yet! Do it yourself!
  • [awesome-chemistry] – Not yet! Do it yourself!
  • [awesome-geography] – Not yet! Do it yourself!
  • [awesome-math] – Not yet! Do it yourself!
  • [awesome-physics] – Not yet! Do it yourself!

Web browsers

  • [awesome-firefox] – Not yet! Do it yourself!

Websites

  • [awesome-github] – Not yet! Do it yourself!
  • [awesome-flickr] – Not yet! Do it yourself!
  • [awesome-twitter] – Not yet! Do it yourself!
  • awesome-wikipedia – Datasets, frameworks, libraries and other software related to Wikipedia.
  • [awesome-youtube] – Not yet! Do it yourself!

Web platforms

Other

  • [awesome-music] – Not yet! Do it yourself!

Awesome-Collection

a list of awesome repos
For more info check: https://github.com/flyhigher139/awesome-collection

awesome lists

  • Awesome – A curated list of awesome lists
  • awesome-all – A curated list of awesome lists of awesome frameworks, libraries and software
  • awesome-awesome by @emijrp – A curated list of awesome curated lists of many topics.
  • awesome-awesome by @erichs – A curated list of awesome curated lists! Inspired by inspiration.
  • awesome-awesome by @oyvindrobertsen – A curated list of curated lists of libraries, resources and shiny things for various languages.
  • awesome-awesomeness – A curated list of awesome awesomeness
  • awesome-awesomes – Awesome collection of awesome lists of libraries, tools, frameworks and software for any programming language
  • lists – The definitive list of (awesome) lists curated on GitHub. (comment: No awesome, but more awesome)

Programming languages

General

Lists

The definitive list of (awesome) lists curated on GitHub.
For more info check: https://github.com/jnv/lists
List of useful, silly and awesome lists curated on GitHub. Contributions welcome!

Non-technical

Technical

awesome-*

Lists of lists

  • awesome – A curated list of awesome lists.
  • awesome-all – A curated list of awesome lists of awesome frameworks, libraries and software
  • awesome-awesome by @emijrp – A curated list of awesome curated lists of many topics.
  • awesome-awesome by @erichs – A curated list of awesome curated lists! Inspired by inspiration.
  • awesome-awesome by @oyvindrobertsen – A curated list of curated lists of libraries, resources and shiny things for various languages.
  • awesome-awesomeness – A curated list of awesome awesomeness
  • awesome-awesomes – Awesome collection of awesome lists of libraries, tools, frameworks and software for any programming language
  • awesome-collection – A list of awesome repos.
  • ListOfGithubLists – List of github lists
  • list-of-lists – A meta list of lists of useful open source projects and developer tools.
  • must-watch-list – List of must-watch lists.
  • this one
  • wiki In Chinese – A curated list of awesome lists.

Lists of lists of lists

Lists of lists of lists of lists

Lists of lists of lists of lists of lists

List of github lists

Creating a github list is so trendy nowadays, so here’s another one.
Fore more info check: https://github.com/asciimoo/ListOfGithubLists

Pull requests are welcome

Lists

List-Of-Lists

A meta list of lists of useful open source projects and developer tools
For more info check: https://github.com/cyrusstoller/list-of-lists

Tools

Frameworks / Libraries

Resources

Other lists of lists

Misc

must-watch-list

A list of must-watch lists
For more info check: https://github.com/adrianmoisey/must-watch-list

Overview of all lists from this post:
Awesome: https://github.com/sindresorhus/awesome
Awesome All: https://github.com/bradoyler/awesome-all
Awesome-Awesome: https://github.com/erichs/awesome-awesome
Awesome Awesome: https://github.com/oyvindrobertsen/awesome-awesome
Awesome-Awesomes: https://github.com/fleveque/awesome-awesomes
Awesome-Awesomeness: https://github.com/bayandin/awesome-awesomeness
Awesome Awesome: https://github.com/emijrp/awesome-awesome
Awesome-Collection: https://github.com/flyhigher139/awesome-collection
Lists: https://github.com/jnv/lists
List Of Github Lists: https://github.com/asciimoo/ListOfGithubLists
List-Of-Lists: https://github.com/cyrusstoller/list-of-lists
Must-Watch-List: https://github.com/adrianmoisey/must-watch-list
Wiki China Lists: https://github.com/huguangju/wiki

Awesome-Awesomeness (zeef): https://awesome-awesomeness.zeef.com/alexander.bayandin