Giter Site home page Giter Site logo

mrshell's Introduction

mrshell's People

Contributors

dylanyoung avatar frozenfire92 avatar gitter-badger avatar glavin001 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

gitter-badger

mrshell's Issues

Discuss Feature List

For the end of the week we need to solidify our high level overview of the project including our feature list

  • Extreme Piping, see #4
  • Map Reduce (under investigation)
  • Tab completion, see #9
  • Intelligent colorization, see #8
  • History, see #10

Pick a better name

MRShell (Map-Reduce Shell) is not catchy. I suck at naming. Let's discuss names :).

Basic Built-In Shell Functions/Features

table command

table will be very commonly used for the joining of multiple streams of extreme piping output data.

So that users of MrShell do not have to implement their own table command for joining and displaying extreme piping output, we can bundle MrShell with a pre-written table command.

Shell Core

  • Take a line of user input
  • Parse line of input into args
  • Execute as a single command (ls, whoami, etc)
    • Execute with command args (ls -la is ls with arg -la)

Map-Reduce syntax for language

I recommend skimming MapReduce on Wikipedia and Map-Reduce examples for MongoDB to get a feel of what it is usually used for and how.

Goals with this shell:

  • Multi-process (fork(), exec(), etc) Map-Reduce style queries
    • Implicitly Multi-core scripting, awesome!
  • Map function could be n # of pipes to other commands
    • Map(k1,v1) → list(k2,v2)
  • Reduce function should take a list of inputs that are piped to it and aggregate results
    • Reduce(k2, list (v2)) → list(v3)
  • Syntax for auto-piping to file to be used by Map sub-function
    • Some programs only access files and do not work with stdin, so there should be a special accessor syntax for stdin and for as file, without requiring to use another pipe to another shell script
    • File should be temporary and stored in the Operating System's respective temporary file directory
  • Pipes within Map and Reduce functions
    • Map function could have 3 parallel calls, however, those 3 calls could be a grouped representation of sequential (series) or calls to other functions.
    • For instance, one of the Map sub-calls could be to get the last name given the input, and then pipe that to another step where it will ALL-CAPS that outputted last name.

Extreme piping example

For the presentation an awesome example is key. I was thinking an intelligent one liner that moved, manipulated, and processed data into a cool d3 visualization website (python script) would net maximum wow

Potential commands to use? I was thinking

ls
cat
grep
history (or Mr Shell's equiv)
wc
sort
ps
datedash
tar
top / htop
uname

Wow

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.