jugyo / earthquake Goto Github PK
View Code? Open in Web Editor NEWTwitter terminal client with streaming API support.
License: MIT License
Twitter terminal client with streaming API support.
License: MIT License
It would be great if :recent supported lists, or if there was a :list command.
I would like to post "<C-n>"
as just "<C-n>"
.
Or more generically, every command that expects a user as a parameter should be able to receive an identifier of a tweet and use that tweets user.
E.g.:
[$aa] seppo0010: earthquake rules
⚡ :user $aa
{
"id" => 8117182,
"screen_name" => "seppo0010",
"name" => "seppo0010",
"profile_image_url" => "http://a1.twimg.com/profile_images/1487896175/11_-_1_normal.jpg",
"description" => "Programmer. Studying to be an Actuary. Linux fan.",
"url" => "http://catdevmind.blogspot.com/",
"location" => "",
"time_zone" => "Buenos Aires",
"lang" => "en",
"protected" => false
}
In the readme it shows an :alias command, but it doesn't work:
⚡ :alias rt retweet
Command not found
When my Mac goes to sleep, internet is put off. After awaking it, I no longer receive new tweets. :recent still works and restarting earthquake also makes them work again.
Just installed fresh. Everything works until I enter the PIN and it tells me it got a 401 Unauthorized. Sad panda. Tried multiple times, copy-pasting the PIN as well.
earthquake.gem で、マルチバイトの長い文字列を投稿しようとすると、
下のように表示がおかしくなります。
vimshellのバグかと思いましたが、GNOME Terminalでも再現したため、earthquake.gemのバグと結論付けました。
⚡ ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ
��ああああああああああああああ' [Yn] n
vimshellで、どのようなエスケープシーケンスが出ているのか調べてみると、
ああああああああああああああああああああああああああああああああああああああああああ
ああああああああああああああああああああああああああああああ ^Mあああああああああああああああ^M
update 'あああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ^M<82>ああああああああああああああああああ' [Yn]
となっており、
という問題が発生していることが分かります。
In this tweet https://twitter.com/#!/xeBuz/status/154298953389703168
the character ♥ appeared as ♥ in the timeline.
User could choose yfrog, plixi, etc... And there should be a simple way to provide new services.
Then it could be tricked by implicit or explicit ways:
The favorite service should be configured by user. Maybe ":enable image_service yfrog" could do the trick.
Whenever I launch earthquake
I get the following error, followed by a crash:
_ _ _
___ __ _ _ __| |_| |__ __ _ _ _ __ _| | _____
/ _ \/ _` | '__| __| '_ \ / _` | | | |/ _` | |/ / _ \
| __/ (_| | | | |_| | | | (_| | |_| | (_| | < __/
\___|\__,_|_| \__|_| |_|\__, |\__,_|\__,_|_|\_\___|
|_| v0.8.3
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/eventmachine-0.12.10/lib/rubyeventmachine.bundle: [BUG] Segmentation fault
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0]
-- control frame ----------
c:0039 p:-540475476 s:0151 b:0151 l:000150 d:000150 TOP
c:0038 p:---- s:0149 b:0149 l:000148 d:000148 CFUNC :require
c:0037 p:0174 s:0145 b:0145 l:000144 d:000144 METHOD /Users/mark/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55
c:0036 p:0012 s:0138 b:0138 l:000122 d:000137 BLOCK /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240
c:0035 p:0005 s:0136 b:0136 l:000127 d:000135 BLOCK /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223
c:0034 p:0045 s:0134 b:0134 l:000133 d:000133 METHOD /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640
c:0033 p:0041 s:0128 b:0128 l:000127 d:000127 METHOD /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223
c:0032 p:0019 s:0123 b:0123 l:000122 d:000122 METHOD /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240
c:0031 p:0150 s:0117 b:0117 l:000116 d:000116 TOP /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/eventmachine-0.12.10/lib/eventmachine.rb:66
c:0030 p:---- s:0115 b:0115 l:000114 d:000114 FINISH
c:0029 p:---- s:0113 b:0113 l:000112 d:000112 CFUNC :require
c:0028 p:0174 s:0109 b:0109 l:000108 d:000108 METHOD /Users/mark/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55
c:0027 p:0012 s:0102 b:0102 l:000086 d:000101 BLOCK /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240
c:0026 p:0005 s:0100 b:0100 l:000091 d:000099 BLOCK /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223
c:0025 p:0045 s:0098 b:0098 l:000097 d:000097 METHOD /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640
c:0024 p:0041 s:0092 b:0092 l:000091 d:000091 METHOD /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223
c:0023 p:0019 s:0087 b:0087 l:000086 d:000086 METHOD /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240
c:0022 p:0011 s:0081 b:0081 l:000080 d:000080 TOP /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/twitter-stream-0.1.14/lib/twitter/json_stream.rb:1
c:0021 p:---- s:0079 b:0079 l:000078 d:000078 FINISH
c:0020 p:---- s:0077 b:0077 l:000076 d:000076 CFUNC :require
c:0019 p:0174 s:0073 b:0073 l:000072 d:000072 METHOD /Users/mark/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55
c:0018 p:0012 s:0066 b:0066 l:000050 d:000065 BLOCK /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240
c:0017 p:0005 s:0064 b:0064 l:000055 d:000063 BLOCK /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223
c:0016 p:0045 s:0062 b:0062 l:000061 d:000061 METHOD /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640
c:0015 p:0041 s:0056 b:0056 l:000055 d:000055 METHOD /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223
c:0014 p:0019 s:0051 b:0051 l:000050 d:000050 METHOD /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240
c:0013 p:0012 s:0045 b:0045 l:000036 d:000044 BLOCK /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/earthquake-0.8.3/lib/earthquake.rb:14
c:0012 p:---- s:0042 b:0042 l:000041 d:000041 FINISH
c:0011 p:---- s:0040 b:0040 l:000039 d:000039 CFUNC :each
c:0010 p:0034 s:0037 b:0037 l:000036 d:000036 TOP /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/earthquake-0.8.3/lib/earthquake.rb:3
c:0009 p:---- s:0035 b:0035 l:000034 d:000034 FINISH
c:0008 p:---- s:0033 b:0033 l:000032 d:000032 CFUNC :require
c:0007 p:0174 s:0029 b:0029 l:000028 d:000028 METHOD /Users/mark/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55
c:0006 p:0445 s:0022 b:0022 l:000021 d:000021 TOP /Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/earthquake-0.8.3/bin/earthquake:44
c:0005 p:---- s:0013 b:0013 l:000012 d:000012 FINISH
c:0004 p:---- s:0011 b:0011 l:000010 d:000010 CFUNC :load
c:0003 p:0127 s:0007 b:0007 l:0014e8 d:0009d0 EVAL /Users/mark/.rvm/gems/ruby-1.9.2-p290/bin/earthquake:19
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:0014e8 d:0014e8 TOP
---------------------------
-- Ruby level backtrace information ----------------------------------------
/Users/mark/.rvm/gems/ruby-1.9.2-p290/bin/earthquake:19:in `<main>'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/bin/earthquake:19:in `load'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/earthquake-0.8.3/bin/earthquake:44:in `<top (required)>'
/Users/mark/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
/Users/mark/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/earthquake-0.8.3/lib/earthquake.rb:3:in `<top (required)>'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/earthquake-0.8.3/lib/earthquake.rb:3:in `each'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/earthquake-0.8.3/lib/earthquake.rb:14:in `block in <top (required)>'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in `new_constants_in'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `block in load_dependency'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `block in require'
/Users/mark/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
/Users/mark/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/twitter-stream-0.1.14/lib/twitter/json_stream.rb:1:in `<top (required)>'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in `new_constants_in'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `block in load_dependency'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `block in require'
/Users/mark/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
/Users/mark/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/eventmachine-0.12.10/lib/eventmachine.rb:66:in `<top (required)>'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in `new_constants_in'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `block in load_dependency'
/Users/mark/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `block in require'
/Users/mark/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
/Users/mark/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
-- C level backtrace information -------------------------------------------
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html
[1] 9438 abort earthquake
Should be optional, and may be enabled with a command such like ":enable auto_expand_urls".
Then messages will appear with shortened URLs replaced with the full ones.
Could be called manually with a command like ":expand_urls " (prints the message with full URLs) and/or ":expand_url " (prints full url).
Hi
It would be nice if earthquake could display a char count like other clients do, because it's hard to tweet with try&error…
Love, love, love earthquake. But can't run it anymore, because I get:
Invalid gemspec in [/usr/lib64/ruby/gems/1.9.1/specifications/earthquake-0.8.1.gemspec]: Illformed requirement ["#Syck::DefaultKey:0x0000000251a278 0.4.3"]
when I try to install it.
In fact, that error appears even when earthquake is not actually installed (when running anything having to do with gems, irb etc.)
Any thoughts on what might be causing this? Is there a way to clear out the gemspec and start over?
Please support ruby 1.8... for the unwashed that do not run 1.9 already and cannot any time soon...
twitter_oauth does not support proxies configurable flexibility. for example, using port like http_proxy='http://example.com:8080'.
And twitter_oauth don't have option to use SSL.
We have better to use another twitter API client.
$ earthquake
/home/logankoester/.rvm/gems/ruby-1.9.2-p136/gems/earthquake-0.1.1/lib/earthquake.rb:5:in <top (required)>': private method
require' called for Bundler:Module (NoMethodError)
from internal:lib/rubygems/custom_require:29:in require' from <internal:lib/rubygems/custom_require>:29:in
require'
from /home/logankoester/.rvm/gems/ruby-1.9.2-p136/gems/earthquake-0.1.1/bin/earthquake:3:in <top (required)>' from /home/logankoester/.rvm/gems/ruby-1.9.2-p136/bin/earthquake:19:in
load'
from /home/logankoester/.rvm/gems/ruby-1.9.2-p136/bin/earthquake:19:in `
thank you
Currently, the result of :recent, :status, :thread etc are marked with color bar.
But, this color is generated randomly, and sometimes (ry
_Termtter is more colorful, so earthquake should be as well._
http://picplz.com/user/no6v/pic/0cnc9/
https://gist.github.com/2303881
When calling :thread on a tweet that leads to a protected tweet an exception is raised and no tweet is displayed.
Ex.: user A has protected tweets and the current user is not authorized to view his tweets.
[$aa] B: @A yeah, me too (reply to $ab) ...
⚡ :thread $aa
.
⚡
I was able to see the exception showing an invalid json with some html page in the growl notification, but not enough to get something useful.
If you have earthquake running and delete DMs (from another client) an nil exception is raised.
_ _ _
___ __ _ _ __| |_| |__ __ _ _ _ __ _| | _____
/ _ \/ _` | '__| __| '_ \ / _` | | | |/ _` | |/ / _ \
| __/ (_| | | | |_| | | | (_| | |_| | (_| | < __/
\___|\__,_|_| \__|_| |_|\__, |\__,_|\__,_|_|\_\___|
|_| v0.9.0
/usr/lib/ruby/1.9.1/syck.rb:145:in `initialize': No such file or directory - /home/******/work/earthquake/consumer.yml (Errno::ENOENT)
from /usr/lib/ruby/1.9.1/syck.rb:145:in `open'
from /usr/lib/ruby/1.9.1/syck.rb:145:in `load_file'
from /home/*******/work/earthquake/lib/earthquake/core.rb:53:in `load_config'
from /home/*******/work/earthquake/lib/earthquake/core.rb:35:in `_init'
from /home/*******/work/earthquake/lib/earthquake/core.rb:96:in `__init'
from /home/*******/work/earthquake/lib/earthquake/core.rb:106:in `start'
from /home/*******/bin/earthquake:44:in `<main>'
[1] 3284 exit 1 earthquake
I updated earthquake.gem today. But the error is appeared.
What's this problem?(I'm not rubyist...)
I'll look into this later, but I imagine the fact that it's an XML document and there are errors coming from the JSON parser might have something to do with it. ;^)
TrevorBramble⚡ :retweet $ao
retweet 'RT @defunkt: best diff ever: https://github.com/sstephenson/everyjs.com/commit/a993a3bcbc' [Yn]
TrevorBramble⚡ [ERROR] 706: unexpected token at '
<style type="text/css">
/* Page
----------------------------------------------- */
* { border: 0; padding: 0; margin: 0; }
body{ margin: 10px 0; background:#C0DEED url(//si0.twimg.com/sticky/error_pages/bg-clouds.png) repeat-x; color:#333; font: 12px Lucida Grande, Arial, sans-serif; text-align:center }
#container { width: 755px; margin: 0 auto; padding: 0px 0; text-align: left; position: relative; }
#content { width: 100%; margin-top: 0px; float: left; margin-top: 8px; padding-bottom: 15px; background: transparent url(//si0.twimg.com/sticky/error_pages/arr2.gif) no-repeat scroll 25px 0px;}
.subpage #content .wrapper { background-color: #fff; padding: 10px 0px 10px 0px; -moz-border-radius: 5px 5px 0 0; -webkit-border-radius: 5px; -webkit-border-bottom-left-radius: 0px; -webkit-border-bottom-right-radius: 0px;}
.subpage #content h2 { margin: 8px 20px 5px 20px; font: bold 26px Helvetica Neue, Helvetica, Arial, sans-serif; }
.subpage #content p { margin: 0 20px 10px 20px; color: #666; font-size: 13px;}
.subpage #content ul { padding-left: 30px; }
.subpage #content ol, #side ol { padding-left: 30px; }
a{text-decoration:none;color: #0084b4;}
#content div.desc { margin: 11px 0px 10px 0px; }
a img{border:0;}
a:hover { text-decoration: underline;}
ul{list-style:square;padding-left:20px;}
div.error { width: 100%; text-align: center; margin: 0px 0;}
/* Navigation
----------------------------------------------- */
#navigation { background-color: #fff; position: absolute; top: 8px; right: 0; padding: 6px 6px; font-size: 13px; text-align: center; }
#navigation ul { margin: 0; padding: 0px; width: auto; height: 100%; _width: 60px;}
#navigation li { display:inline; padding: 0 5px; }
#navigation li:before { content: ' '; padding-right: 0; }
#navigation li.first:before { content: ''; padding-right: 0; }
#navigation, #footer { -moz-border-radius: 5px;-webkit-border-radius: 5px;}
/* Footer
----------------------------------------------- */
#footer { clear: left; width: 555px; text-align: left; padding: 0px 0; font-size: 11px; color: #778899;}
#footer ul { clear: both; display: block;}
#footer li { display: block; float: left; margin: 0 16px 0 0;}
#footer li.first:before { content: ''; padding-right: 0; }
#languages li { margin-bottom: 25px; font-size: 12px; width: 14%; text-align: center; }
</style>
Please wait a moment and try again. For more information, check out Twitter Status »
I'm probably doing something wrong but when I install I get an error running earthquake:
$earthquake
Invalid gemspec in [/usr/lib/ruby/gems/1.9.1/specifications/earthquake-0.8.3.gemspec]: Illformed requirement ["#Syck::DefaultKey:0x00000001933928 0.4.3"]
$cat earthquake-0.8.3.gemspec | grep -i syck
s.add_runtime_dependency(%q<twitter_oauth>, ["#Syck::DefaultKey:0x00000001933928 0.4.3"])
s.add_dependency(%q<twitter_oauth>, ["#Syck::DefaultKey:0x00000001933928 0.4.3"])
s.add_dependency(%q<twitter_oauth>, ["#Syck::DefaultKey:0x00000001933928 0.4.3"])
$gem uninstall earthquake -i /usr/lib/ruby/gems/1.9.1
Invalid gemspec in [/usr/lib/ruby/gems/1.9.1/specifications/earthquake-0.8.3.gemspec]: Illformed requirement ["#Syck::DefaultKey:0x00000001933928 0.4.3"]
Invalid gemspec in [/usr/lib/ruby/gems/1.9.1/specifications/earthquake-0.8.3.gemspec]: Illformed requirement ["#Syck::DefaultKey:0x00000001933928 0.4.3"]
INFO: gem "earthquake" is not installed
I'm using ruby-1.9.2-p290
and latest earthquake.gem
When I start it, it logs in successfully - I can get recent tweets with :recent
command and post updates.
Unfortunately the app doesn't refresh automatically (as it can be seen here )
I tried to debug it myself, but I couldn't find any obvious reasons as to why it wouldn't work
How can I tweet $id, instead of for instance 187363363188248580?
⚡ :update $id
update '187363363188248580' [Yn] n
⚡ :update \$id
update '\187363363188248580' [Yn] n
I investigated it and got the idea to suppress this.
Currently, below sequence is resulted to "Command not found".
⚡ : :update $id
Command not found
The patch below makes ⚡ :
(start with colon + space) as a signal not to expand the typable id.
⚡ : :update $id
update '$id' [Yn] n
However, with this patch, we cannot use :reply, (quoted) :retweet, and more perhaps.
Those require the $id to determine the target tweet. One more thing, some commands
are using input() internally, then the input_filter will be applied twice.
Any idea?
Also available: https://gist.github.com/2237938
diff --git a/lib/earthquake/input.rb b/lib/earthquake/input.rb
index 870cefc..9469c25 100644
--- a/lib/earthquake/input.rb
+++ b/lib/earthquake/input.rb
@@ -141,6 +141,7 @@ module Earthquake
end
input_filter do |text|
+ next text if text.sub!(/\A: /, "")
if text =~ %r|^(:\w+)|
if target = command_aliases[$1]
text = text.sub(%r|^:\w+|, target)
I don't want to introduce any escape sequences, though ;-).
Why not just use $xx
to show a tweet instead of :status $xx
? It's shorter and easier to type.
Provide contextual help about a particular command, simply the information of what parameter is expected (type, where to find it, etc...) even if it seems obvious ;)
Would be good to be able to block/report_spam someone using their message-reference. easier to type it, that to type username
I'm having an issue where SSL certs aren't being accepted during plugin installs on OSX. I don't have enough knowledge of Ruby or how it uses curl natively (or if it even does) to fix this properly, but passing the following to all of your open() calls to https:// allows me to at least do what you're attempting to do.
:ssl_verify_mode => OpenSSL::SSL::VERIFY_NONE
I am sure there is a much nicer way to do this, but it certainly permits the desired behaviour.
Seems like twitter was having some server problems, and earthquake crashed when I tried to post an update.
I'm on revision 13b8f29.
⚡ [ERROR] 743: unexpected token at '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="en-us" />
<title>Twitter / Error</title>
<link href="//si0.twimg.com/sticky/error_pages/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<style type="text/css">
/* Page
----------------------------------------------- */
* { border: 0; padding: 0; margin: 0; }
body{ margin: 10px 0; background:#C0DEED url(//si0.twimg.com/sticky/error_pages/bg-clouds.png) repeat-x; color:#333; font: 12px Lucida Grande, Arial, sans-serif; text-align:center }
#container { width: 755px; margin: 0 auto; padding: 0px 0; text-align: left; position: relative; }
#content { width: 100%; margin-top: 8px; float: left; padding-bottom: 15px; background: transparent url(//si0.twimg.com/sticky/error_pages/arr2.gif) no-repeat scroll 25px 0px;}
.subpage #content .wrapper { background-color: #fff; -moz-border-radius: 5px; -webkit-border-radius: 5px; padding: 10px 0;}
.subpage #content h2 { margin: 5px 20px; font: bold 26px Helvetica Neue, Helvetica, Arial, sans-serif; }
.subpage #content p { margin: 0 20px 10px 20px; color: #666; font-size: 13px;}
.subpage #content ul { padding-left: 30px; }
.subpage #content ol, #side ol { padding-left: 30px; }
a{text-decoration:none;color: #2277BB;}
a:hover { text-decoration: underline;}
#content div.desc { margin: 11px 0px 10px 0px; }
a img{border:0;}
ul{list-style:square;padding-left:20px;}
div.error { width: 100%; text-align: right; margin: 10px 0;}
/* Navigation
----------------------------------------------- */
#navigation { background-color: #fff; position: absolute; top: 8px; right: 0; padding: 6px 6px; font-size: 13px; text-align: center; }
#navigation ul { margin: 0; padding: 0px; width: auto; height: 100%; _width: 60px; }
#navigation li { display:inline; padding: 0 5px; }
#navigation li:before { content: ' '; padding-right: 0; }
#navigation li.first:before { content: ''; padding-right: 0; }
#navigation, #footer { -moz-border-radius: 5px;-webkit-border-radius: 5px;}
/* Footer
----------------------------------------------- */
#footer { clear: left; width: 555px; text-align: left; padding: 0px 0; font-size: 11px; color: #778899;}
#footer ul { clear: both; display: block;}
#footer li { display: block; float: left; margin: 0 16px 0 0;}
#footer li.first:before { content: ''; padding-right: 0; }
#languages li { margin-bottom: 25px; font-size: 12px; width: 14%; text-align: center; }
</style>
</head>
<body>
<div id="container" class="subpage">
<div id="navigation">
<ul>
<li class="first"><a href="//twitter.com">Home ›</a></li>
</ul>
</div>
<h1 id="header"><a href="//twitter.com"><img src="//si0.twimg.com/sticky/error_pages/twitter_logo_header.png" width="155" height="36" alt="Twitter.com" /></a></h1>
<div id="content">
<div class="desc"></div>
<div class="wrapper">
<h2>Something is technically wrong.</h2>
<p>Thanks for noticing—we're going to fix it up and have things back to normal soon.</p>
</div>
</div>
<div id="footer" style="width:100%">
<ul id="languages">
<li class="first"><a onclick="displayLanguage('en');return false;" href="#">English</a></li>
<li><a onclick="displayLanguage('de');return false;" href="#">Deutsch</a></li>
<li><a onclick="displayLanguage('es');return false;" href="#">Español</a></li>
<li><a onclick="displayLanguage('fr');return false;" href="#">Français</a></li>
<li><a onclick="displayLanguage('it');return false;" href="#">Italiano</a></li>
<li><a onclick="displayLanguage('ja');return false;" href="#">日本語</a></li>
<li><a onclick="displayLanguage('ko');return false;" href="#">한국어</a></li>
<li><a onclick="displayLanguage('pt');return false;" href="#">Português</a></li>
</ul>
<ul>
<li class="first">© 2011 Twitter</li>
<li><a href="/about">About Us</a></li>
<li><a href="/about/contact">Contact</a></li>
<li><a href="http://blog.twitter.com/">Blog</a></li>
<li><a href="http://status.twitter.com/">Status</a></li>
<li><a href="http://dev.twitter.com/">API</a></li>
<li><a href="/help">Help</a></li>
<li><a href="/jobs">Jobs</a></li>
<li><a href="/tos">TOS</a></li>
<li><a href="/privacy">Privacy</a></li>
</ul>
</div>
<div class="error"><img src="//si0.twimg.com/sticky/error_pages/please_fix.png" width="311" height="212" alt=""/></div>
</div>
<!-- BEGIN google analytics -->
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-30775-6");
pageTracker._setDomainName("twitter.com");
pageTracker._trackPageview('500 Error');
</script>
<!-- END google analytics -->
<script type="text/javascript">
//<![CDATA[
var twttr = {};
twttr.translations = {
en: {
home: 'Home ›',
title: 'Something is technically wrong.',
description: 'Thanks for noticing—we\'re going to fix it up and have things back to normal soon.'
},
de: {
home: 'Startseite ›',
title: 'Es ist ein technischer Fehler aufgetreten.',
description: 'Vielen Dank für deine Aufmerksamkeit - wir lösen das Problem und alles wird bald wieder seine Richtigkeit haben.'
},
es: {
home: 'Página de Inicio ›',
title: 'Algo salió mal, técnicamente.',
description: 'Gracias por darte cuenta - vamos a solucionarlo y todo volverá a la normalidad pronto.'
},
fr: {
home: 'Accueil ›',
title: 'Un problème technique est survenu.',
description: 'Merci d\'avoir remarqué—nous allons réparer tout ça et remettre les choses en ordre sous peu.'
},
it: {
home: 'Pagina Iniziale ›',
title: 'Tecnicamente qualcosa è andato storto.',
description: 'Grazie per averlo notato: stiamo lavorando per aggiustare e rimettere presto tutto a posto.'
},
ja: {
home: 'ホーム ›',
title: '技術的な不具合が発生しています。',
description: 'ご迷惑をおかけして申し訳ありません。早急に問題を解決し、復旧いたします。'
},
ko: {
home: '홈 ›',
title: '현재 트위터에 문제가 있습니다',
description: '이용에 불편을 드려 죄송합니다. 가능한 빨리 복원하도록 하겠습니다.'
},
pt: {
home: 'Página Inicial ›',
title: 'Algo está tecnicamente errado.',
description: 'Obrigado por reparar—iremos corrigir este problema e ter as coisas de volta ao normal em breve.'
}
};
function displayLanguage(lang) {
if (lang && twttr.translations[lang]) {
document.getElementsByTagName('h2')[0].innerHTML = twttr.translations[lang].title;
document.getElementsByTagName('p')[0].innerHTML = twttr.translations[lang].description;
document.getElementById('navigation').getElementsByTagName('a')[0].innerHTML = twttr.translations[lang].home;
}
}
var lang = window.navigator.language ? window.navigator.language.replace(/^(..).*$/, '$1') : undefined;
displayLanguage(lang);
//]]>
</script>
</body>
</html>
'
/opt/local/lib/ruby1.9/1.9.1/json/common.rb:148:in `parse'
/opt/local/lib/ruby1.9/1.9.1/json/common.rb:148:in `parse'
/opt/local/lib/ruby1.9/gems/1.9.1/gems/twitter_oauth-0.4.3/lib/twitter_oauth/client.rb:80:in `post'
/opt/local/lib/ruby1.9/gems/1.9.1/gems/twitter_oauth-0.4.3/lib/twitter_oauth/status.rb:11:in `update'
/Users/seppo/Projects/free-software/earthquake/lib/earthquake/commands.rb:89:in `block (3 levels) in <top (required)>'
/Users/seppo/Projects/free-software/earthquake/lib/earthquake/input.rb:99:in `call'
/Users/seppo/Projects/free-software/earthquake/lib/earthquake/input.rb:99:in `handle_api_error'
/Users/seppo/Projects/free-software/earthquake/lib/earthquake/input.rb:95:in `block in async_e'
/Users/seppo/Projects/free-software/earthquake/lib/earthquake/core.rb:212:in `call'
/Users/seppo/Projects/free-software/earthquake/lib/earthquake/core.rb:212:in `block in async'
It looks like an EventMachine/SSL problem, somewhat related to this issue.
So I made a little change to ext.rb:
diff --git a/lib/earthquake/ext.rb b/lib/earthquake/ext.rb
index 7a8a00d..c6cd966 100644
--- a/lib/earthquake/ext.rb
+++ b/lib/earthquake/ext.rb
@@ -5,12 +5,12 @@ module Twitter
@reconnect_callback.call(timeout, @reconnect_retries) if @reconnect_callback
if timeout == 0
- reconnect @options[:host], @options[:port]
start_tls if @options[:ssl]
+ reconnect @options[:host], @options[:port]
else
EventMachine.add_timer(timeout) do
- reconnect @options[:host], @options[:port]
start_tls if @options[:ssl]
+ reconnect @options[:host], @options[:port]
end
end
end
(before that earthquake would just crash with the same error as in the mentioned EM issue)
...and now I get this:
│vagrant > lukasz: bin/earthquake [ruby-1.9.3@earthquake] master ~/Projects/earthquake
│ _ _ _
│ ___ __ _ _ __| |_| |__ __ _ _ _ __ _| | _____
│ / _ \/ _` | '__| __| '_ \ / _` | | | |/ _` | |/ / _ \
│| __/ (_| | | | |_| | | | (_| | |_| | (_| | < __/
│ \___|\__,_|_| \__|_| |_|\__, |\__,_|\__,_|_|\_\___|
│ |_| v0.9.0
│
│1) open:
https://api.twitter.com/oauth/authorize?oauth_token=csNTygR3B5ow8bT4QllWseqLAOABbqmyU9NeGpvcw
│Failure in opening
https://api.twitter.com/oauth/authorize?oauth_token=csNTygR3B5ow8bT4QllWseqLAOABbqmyU9NeGpvcw
with
│options {}: Unable to find a browser command. If this is unexpected, Please
rerun with environment variable LAUNCHY_DE
│BUG=true or the '-d' commandline option and file a bug at
https://github.com/copiousfreetime/launchy/issues/new
│2) Enter the PIN: 6174205
│Saving 'token' and 'secret' to '/home/lukasz/.earthquake/config'
│⚡ earthquake: error: invalid status code: 401.
│earthquake: reconnecting in: 10 seconds
│earthquake: reconnecting in: 20 seconds
│earthquake: reconnecting in: 40 seconds
│earthquake: reconnecting in: 80 seconds
│earthquake: reconnecting in: 160 seconds
│earthquake: reconnecting in: 320 seconds
OS: Debian Squeeze
Ruby 1.9.3 and 1.9.2
Earthquake version 0.8.5 and up
the text highlight behavior is weird when a tweet wraps around.
Hello,
trying to get a bundled development environment on OSX Snow Leopard
jmettraux@sanma ~/w 秋 git clone https://github.com/jugyo/earthquake.git
Cloning into earthquake...
remote: Counting objects: 2196, done.
remote: Compressing objects: 100% (981/981), done.
remote: Total 2196 (delta 1251), reused 2071 (delta 1135)
Receiving objects: 100% (2196/2196), 220.72 KiB | 114 KiB/s, done.
Resolving deltas: 100% (1251/1251), done.
jmettraux@sanma ~/w 秋 cd earthquake/
jmettraux@sanma ~/w/earthquake (master) 秋 rvm use 1.9.3-p125
Using /Users/jmettraux/.rvm/gems/ruby-1.9.3-p125
jmettraux@sanma ~/w/earthquake (master) 秋 gem -v
1.8.21
jmettraux@sanma ~/w/earthquake (master) 秋 bundle -v
Bundler version 1.1.3
jmettraux@sanma ~/w/earthquake (master) 秋 bundle install
Fetching gem metadata from http://rubygems.org/.
Unfortunately, the gem earthquake (0.8.1) has an invalid gemspec.
As a result, Bundler cannot install this Gemfile.
Please ask the gem author to yank the bad version to fix this issue.
For more information, see http://bit.ly/syck-defaultkey.
I looked at http://bit.ly/syck-defaultkey and tried to upgrade my RubyGems, but still having the issue with 1.8.21 (as seen above).
@jugyo さん, what about yanking 0.8.1 ? It seems I'm not the only one to have seen that issue: https://twitter.com/#!/sora_h/statuses/177977121510141952
If there is an easier work around, please tell me.
Not sure if the Twitter API provides a way to do this, but I'm pretty sure it does.
Example theoretical usage:
:spam [user or $tweetID]
I'm using two accounts on earthquake.gem. The main account works good, but cannot start with an optional directory for another account.
$ ruby bin/earthquake ~/.earthquake-another
[main account]⚡
It seems that command line options are not reflected properly.
After every command the config is reloaded. If a command changes a configuration that's also set by the default config, the changes by the command are lost.
after $ gem install earthquake
ERROR: While executing gem ... (NoMethodError)
undefined method `call' for nil:NilClass
I think it would be awesome if you could configure earthquake to run :recent every minutes.
I've got earthquake installed according to the install instructions for rvm (I'm on gentoo). I'm able to manually get tweets by using :recent
but it seems streaming doesn't work. When I launch, I get a notification saying: error: invalid status code: 401
along with: reconnecting in: 10 seconds
I'll then get the reconnecting error message every so often after that. I tried running in debug mode, but none of the program switches seem to do anything, they just leave me in the program prompt and seem to do nothing.
Is there any command to follow or unfollow
using ruby 1.9.3-p0, bundler 1.1rc.7
when bundle install, get following message.
$ bundle install
Fetching gem metadata from http://rubygems.org/.
Unfortunately, the gem earthquake (0.8.1) has an invalid gemspec. As a result, Bundler cannot install this Gemfile. Please ask the gem author to yank the bad version to fix this issue. For more information, see http://bit.ly/syck-defaultkey.
Example: [
[$ef] nicksergeant: RT @AisleOne: Holy mother! The 1976 NASA Graphic Standards Manual. http://j.mp/ntaI6W (retweet of $ee) - 19 Jul 15:39 - Twitter for iPhone
⚡ :retweet $ef /cc @SomaFMRusty
' [Yn] 976 NASA Graphic Standards Manual. http://j.mp/ntaI6W (93404564644040706)'
[$eg] ip2k: /cc @SomaFMRusty RT @nicksergeant: RT @AisleOne: Holy mother! The 1976 NASA Graphic Standards Manual. http://j.mp/ntaI6W (93404564644040706) 19 Jul 15:42 - earthquake.gem
The part I'd like to draw attention here is the stuff in parenthesis. I do not understand where these random numbers ( '(93404564644040706)' )came from, but my guess is that it's a bug.
It would be nice to be able to setup the default action for confirmation messages. At the moment most (or all?) of the confirms default to "yes" and it's impossible to change without modifying the source code.
First launch I get this:
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/oauth-0.4.5/lib/oauth/consumer.rb:219:in `token_request': 401 Unauthorized (OAuth::Unauthorized)
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/oauth-0.4.5/lib/oauth/consumer.rb:139:in `get_request_token'
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/earthquake-0.8.3/lib/earthquake/get_access_token.rb:10:in `get_access_token'
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/earthquake-0.8.3/lib/earthquake/core.rb:75:in `load_config'
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/earthquake-0.8.3/lib/earthquake/core.rb:35:in `_init'
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/earthquake-0.8.3/lib/earthquake/core.rb:90:in `__init'
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/earthquake-0.8.3/lib/earthquake/core.rb:100:in `start'
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/earthquake-0.8.3/bin/earthquake:48:in `<top (required)>'
from /usr/local/rvm/gems/ruby-1.9.2-p290/bin/earthquake:19:in `load'
from /usr/local/rvm/gems/ruby-1.9.2-p290/bin/earthquake:19:in `<main>'
Any idea what's up with it?
Hi,
I tried to install earthquake by following the slides, but it doesn't worked for me, so I tried with compiling the latest version of ruby, and I still get the same error message when I use gem install earthquake
, here's the full error message => http://pastebin.com/yyLyLJ3e
When first running on an Ubuntu server (without X installed), it throws a RuntimeError when attempting to open the system browser and does not prompt for the PIN (even on subsequent runs).
Output:
$ earthquake 1) open: http://api.twitter.com/oauth/authorize?oauth_token=QiYjJJOrCcY3c1RXFG0TZInET5jS2e0oyYBFi2Ns Unable to launch. No Browser application found. /home/oshuma/.rvm/gems/ruby-1.9.2-p136@earthquake/gems/launchy-0.4.0/lib/launchy/browser.rb:41:in `initialize': Unable to find browser to launch for os family 'nix'. (RuntimeError) from /home/oshuma/.rvm/gems/ruby-1.9.2-p136@earthquake/gems/launchy-0.4.0/lib/launchy/browser.rb:21:in `new' from /home/oshuma/.rvm/gems/ruby-1.9.2-p136@earthquake/gems/launchy-0.4.0/lib/launchy/browser.rb:21:in `run' from /home/oshuma/.rvm/gems/ruby-1.9.2-p136@earthquake/gems/earthquake-0.5.8/lib/earthquake/get_access_token.rb:12:in `get_access_token' from /home/oshuma/.rvm/gems/ruby-1.9.2-p136@earthquake/gems/earthquake-0.5.8/lib/earthquake/core.rb:69:in `load_config' from /home/oshuma/.rvm/gems/ruby-1.9.2-p136@earthquake/gems/earthquake-0.5.8/lib/earthquake/core.rb:35:in `_init' from /home/oshuma/.rvm/gems/ruby-1.9.2-p136@earthquake/gems/earthquake-0.5.8/lib/earthquake/core.rb:84:in `start' from /home/oshuma/.rvm/gems/ruby-1.9.2-p136@earthquake/gems/earthquake-0.5.8/bin/earthquake:13:in `' from /home/oshuma/.rvm/gems/ruby-1.9.2-p136@earthquake/bin/earthquake:19:in `load' from /home/oshuma/.rvm/gems/ruby-1.9.2-p136@earthquake/bin/earthquake:19:in `'
I'll try to work up a fix for this shortly.
Is there any plan on support trending topic?
I have made some commands for myself but I'm not sure how to make the UX consistent with the rest of the app.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.