Code Monkey home page Code Monkey logo

echoe's People

Contributors

anatol avatar andys avatar bmaland avatar caius avatar elliottcable avatar evan avatar flameeyes avatar greatseth avatar janfri avatar mdesantis avatar michaelklishin avatar ndarilek avatar rsanheim avatar technicalpickles avatar tylerrick avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

echoe's Issues

jruby + native extensions

Hi Evan,
I am writing some data import scripts for bringing data into our cassandra store. One of the steps involves a critical java library for doing some data massage. When I attempt to install the cassandra gem under jruby, the install aborts because the BinaryAcceleratedProtocol for ruby cannot build under jruby. I modified the thrift gem Rakefile with the following;

p.extension_pattern = '' if defined?(JRUBY_VERSION)

and everything works as expected.

So the issue is whether or not echoe should automatically do the above when jruby is used or whether that burden should be pushed to the gems making use of echoe. As I am writing this issue, I am heavily leaning towards the latter since only the gem authors would know whether or not it is acceptable to run without native extensions.

Anyway, I wanted to file this for your consideration and as documentation for others down the road.

Cheers,

Brian

Problems under windows: /tmp

On extensions.rb there is:
$stdout.reopen(File.new('/tmp/stdout.echoe', 'w'))
$stderr.reopen(File.new('/tmp/stderr.echoe', 'w'))
and "/tmp" is not valid. It should be Dir.tmpdir

unable to install rake install gem on jruby

Hi,
I'm unable to rake install gem on jruby, following the instructions i used
p.platform = "jruby"

But running "rake install" get the following error message:

/bin/sh: gems: command not found

Please advise

Echoe passes readme.md files to rdoc, leading to extraneous warning

First, great gem -- we've been using echoe for our project (Koala) and really like it.

I noticed that in setting up rdoc options, echoe looks for readme files in a way that catches "readme.md". Since rdoc doesn't natively know how to parse markdown, you then get "Could not find main page readme.md" warnings when installing the gem. It's fairly minor, but it looks kinda bad when a user is installing the gem and gets warnings.

I hacked my local copy to ignore .md files, but I don't know if that's a sustainable solution (textile probably has similar issues); perhaps a "no readme" flag or an option to ignore certain files for readme would work, though neither seem very elegant.

Thanks again!

rake aborted: ArgumentError: wrong number of arguments (given 2, expected 0)

using echoe v4.6.6 to build my old gem: palladius/ric

bundle exec rake release --trace


** Execute pkg/ric-0.12.5.gem
cd pkg/ric-0.12.5
rake aborted!
ArgumentError: wrong number of arguments (given 2, expected 0)
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/echoe-4.6.6/lib/echoe/rubygems.rb:10:in `validate'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/package.rb:301:in `build'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/package.rb:134:in `build'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/package_task.rb:118:in `block (3 levels) in define'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/file_utils_ext.rb:111:in `when_writing'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/package_task.rb:117:in `block (2 levels) in define'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/2.7.0/fileutils.rb:139:in `chdir'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/2.7.0/fileutils.rb:139:in `cd'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/file_utils_ext.rb:35:in `chdir'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/package_task.rb:116:in `block in define'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:281:in `block in execute'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:281:in `each'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:281:in `execute'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:219:in `block in invoke_with_call_chain'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:199:in `synchronize'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:199:in `invoke_with_call_chain'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:243:in `block in invoke_prerequisites'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:241:in `each'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:241:in `invoke_prerequisites'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:218:in `block in invoke_with_call_chain'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:199:in `synchronize'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:199:in `invoke_with_call_chain'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:243:in `block in invoke_prerequisites'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:241:in `each'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:241:in `invoke_prerequisites'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:218:in `block in invoke_with_call_chain'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:199:in `synchronize'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:199:in `invoke_with_call_chain'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:243:in `block in invoke_prerequisites'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:241:in `each'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:241:in `invoke_prerequisites'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:218:in `block in invoke_with_call_chain'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:199:in `synchronize'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:199:in `invoke_with_call_chain'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:188:in `invoke'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:160:in `invoke_task'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `each'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `block in top_level'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:125:in `run_with_threads'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:110:in `top_level'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:83:in `block in run'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:186:in `standard_exception_handling'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:80:in `run'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/bin/rake:23:in `load'
/home/riccardo/git/ric/vendor/bundle/ruby/2.7.0/bin/rake:23:in `<top (required)>'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/cli/exec.rb:63:in `load'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/cli/exec.rb:63:in `kernel_load'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/cli/exec.rb:28:in `run'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/cli.rb:476:in `exec'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor.rb:399:in `dispatch'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/cli.rb:30:in `dispatch'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/vendor/thor/lib/thor/base.rb:476:in `start'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/cli.rb:24:in `start'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.1.4/libexec/bundle:46:in `block in <top (required)>'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/friendly_errors.rb:123:in `with_friendly_errors'
/home/riccardo/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/bundler-2.1.4/libexec/bundle:34:in `<top (required)>'
/home/riccardo/.rbenv/versions/2.7.2/bin/bundle:23:in `load'
/home/riccardo/.rbenv/versions/2.7.2/bin/bundle:23:in `<main>'
Tasks: TOP => release => package => gem => pkg/ric-0.12.5.gem

code available in https://github.com/palladius/ric/

add ability to execute both manifest and install

Currently if there's no Manifest, then instantiation fails unless you explicitly run "rake manifest". I would like to be able to do something like the following in my Rakefile:
task :my_install => [:manifest, :install]

Even if I touch a Manifest file first, I get an error in the following circumstance:

  1. create a new file (foo.txt)
  2. run "rake manifest"
  3. delete the new file
  4. run rake my_install

expected: gem installs
actual: package task balks since it doesn't "know how to build task 'foo.txt'".

The workaround (system 'rake manifest') is pretty simple, but isn't the most elegant solution.

rake install gives me this error with echoe

Im running MacOSX with RVM installed

When I do rake install with this rakefile

require 'rake'
require 'rake/rdoctask'
require 'rubygems'
require 'echoe'

desc 'Generate documentation for the has_many_friends plugin.'
Rake::RDocTask.new(:rdoc) do |rdoc|
rdoc.rdoc_dir = 'rdoc'
rdoc.title = 'HasManyFriends'
rdoc.options << '--line-numbers' << '--inline-source'
rdoc.rdoc_files.include('README')
rdoc.rdoc_files.include('lib/*/.rb')
end

Echoe.new('has_many_friends', '0.1.0') do |p|
p.description = "Add friends to the user model with a friendship model"
p.url = "[email protected]:thenetduck/has_many_friends.git"
p.author = "swemoney packaged by The Net Duck"
p.ignore_pattern = ["tmp/", "script/"]
p.development_dependencies = []
end

I get this error

rake aborted!
Unknown package target "ruby".

(See full trace by running task with --trace)

What might be causing this?

There should be a way to override -P MediumSecurity

I'm not sure that -P MediumSecurity needs to be part of the gem install command in echoe.rb, since this can be set in ~/.gemrc as a default. At the very least, though, there should be a way to override it. This turned out to be a sticking point when we had, ahem, memcached listed as a dependent gem.

I know the correct procedure is to add the appropriate certificates, but this becomes more difficult when we run installs on several machines.

Also, it's not always obvious which gem is failing since the error message doesn't contain the name of the gem.

undefined method 'desc' for #<Echoe... on rake manifest

I think it must be a problem with rake or gems version or something like that.

I have...

ruby v 1.8.7
rake v 0.9.0
gem v 1.8.4
echoe v 4.5.6

with the following Rakefile.

require 'echoe'

Echoe.new('gemname') do | g |

g.author = "Jim Rowe"
g.description = "description"
g.summary = "summary"
g.email = '[email protected]'
g.url = 'http://www.github.com'
g.runtime_dependencies = ["builder", "zip"]
end

And I get the following error running: rake manifest --trace

rake/gempackagetask is deprecated. Use rubygems/package_task instead
rake/rdoctask is deprecated. Use rdoc/task instead (in RDoc 2.4.2+)
rm: cannot remove log-*': No such file or directory NOTE: Gem::Specification#has_rdoc= is deprecated with no replacement. It will be removed on or after 2011-10-01. Gem::Specification#has_rdoc= called from /usr/lib/ruby/gems/1.8/gems/echoe-4.5.6/lib/echoe.rb:398. rake aborted! undefined methoddesc' for #Echoe:0xb75b0128
/usr/lib/ruby/gems/1.8/gems/echoe-4.5.6/lib/echoe.rb:422:in define_tasks' /usr/lib/ruby/gems/1.8/gems/echoe-4.5.6/lib/echoe.rb:301:ininitialize'
/public/aehost/Rakefile:5:in new' /public/aehost/Rakefile:5 /usr/lib/ruby/gems/1.8/gems/rake-0.9.0/lib/rake/rake_module.rb:25:inload'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.0/lib/rake/rake_module.rb:25:in load_rakefile' /usr/lib/ruby/gems/1.8/gems/rake-0.9.0/lib/rake/application.rb:495:inraw_load_rakefile'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.0/lib/rake/application.rb:78:in load_rakefile' /usr/lib/ruby/gems/1.8/gems/rake-0.9.0/lib/rake/application.rb:129:instandard_exception_handling'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.0/lib/rake/application.rb:77:in load_rakefile' /usr/lib/ruby/gems/1.8/gems/rake-0.9.0/lib/rake/application.rb:61:inrun'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.0/lib/rake/application.rb:129:in standard_exception_handling' /usr/lib/ruby/gems/1.8/gems/rake-0.9.0/lib/rake/application.rb:59:inrun'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.0/bin/rake:31
/usr/bin/rake:19:in `load'
/usr/bin/rake:19

Hope you can see what is going on there. Thanks.

Echoe doesn't seem to work with Rspec 2

From what I can tell Echoe is not working with Rspec 2. If I have Rspec >= 2 installed, and run rake spec, nothing happens. Works fine if I manually run rspec . in my project.

Echoe incompatible with rake 0.9.2

$ rake clean --trace
rake aborted!
no such file to load -- rake/dsl
/Users/ben/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:59:in `require'
/Users/ben/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:59:in `rescue in require'
/Users/ben/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
/Users/ben/.rvm/gems/ruby-1.9.2-p180/gems/echoe-4.6.0/lib/echoe.rb:6:in `<top (required)>'
/Users/ben/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:59:in `require'
/Users/ben/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:59:in `rescue in require'
/Users/ben/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
/Volumes/Android/src/ninjadog-src/experimental/x264-gem/Rakefile:15:in `<top (required)>'
/Users/ben/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load'
/Users/ben/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load_rakefile'
/Users/ben/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:495:in `raw_load_rakefile'
/Users/ben/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:78:in `block in load_rakefile'
/Users/ben/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/Users/ben/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:77:in `load_rakefile'
/Users/ben/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:61:in `block in run'
/Users/ben/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/Users/ben/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:59:in `run'
/Users/ben/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/bin/rake:32:in `<top (required)>'
/Users/ben/.rvm/gems/ruby-1.9.2-p180/bin/rake:19:in `load'
/Users/ben/.rvm/gems/ruby-1.9.2-p180/bin/rake:19:in `<main>'

Make Rubyforge url of the project optional

Hello!

With

Echoe.new("my_gem") do |p|
  p.project     = nil
end

after rake release the script exits with a There was a problem saving your gem: Home does not appear to be a valid URL error.

But I don't want to use Rubyforge for my project, so... is it possible to make it optional?

Cheers

JRuby 1.4 - jruby -S rake manifest results in empty manifest file

It appears to execute normally, but the file is empty.

Here's JRuby:
mark-cotners-macbook-pro:SNMP4JR markcotner$ jruby -S rake manifest
(in /Users/markcotner/ruby/gems/SNMP4JR)
Cleaning

  • pkg
    rm -rf pkg
    Building Manifest
  • CHANGELOG
  • Manifest
  • README.rdoc
    Rakefile
  • TODO.rdoc
  • gem-public_cert.pem
  • init.rb
  • lib/SNMP4J.jar
  • lib/SNMP4JR.rb
  • lib/log4j-1.2.9.jar
    mark-cotners-macbook-pro:SNMP4JR markcotner$ ls -al
    total 80
    drwx------ 12 markcotner staff 408 Mar 2 21:27 .
    drwxr-xr-x 5 markcotner staff 170 Mar 2 21:18 ..
    drwxr-xr-x 14 markcotner staff 476 Mar 2 12:44 .git
    -rw-r--r-- 1 markcotner staff 17 Feb 23 16:12 .gitignore
    -rw-r--r--@ 1 markcotner staff 23 Mar 2 21:08 CHANGELOG
    -rw-r--r-- 1 markcotner staff 0 Mar 2 21:27 Manifest

And here's MRI(works fine):
mark-cotners-macbook-pro:SNMP4JR markcotner$ rake manifest
(in /Users/markcotner/ruby/gems/SNMP4JR)
Cleaning
Building Manifest

  • CHANGELOG
  • Manifest
  • README.rdoc
    Rakefile
  • TODO.rdoc
  • gem-public_cert.pem
  • init.rb
  • lib/SNMP4J.jar
  • lib/SNMP4JR.rb
  • lib/log4j-1.2.9.jar
    mark-cotners-macbook-pro:SNMP4JR markcotner$ ls -al
    total 88
    drwx------ 12 markcotner staff 408 Mar 2 21:27 .
    drwxr-xr-x 5 markcotner staff 170 Mar 2 21:18 ..
    drwxr-xr-x 14 markcotner staff 476 Mar 2 12:44 .git
    -rw-r--r-- 1 markcotner staff 17 Feb 23 16:12 .gitignore
    -rw-r--r--@ 1 markcotner staff 23 Mar 2 21:08 CHANGELOG
    -rw-r--r-- 1 markcotner staff 128 Mar 2 21:29 Manifest

This particular library only needs JRuby to run, not install. Currently I'm just building the gems with MRI and installing them with JRuby, but I thought you all would like to know about the potential bug.

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.