Can somebody make Atmosphere faster?


#1

It is so laggy. This is really bad introduction to new Meteor people. Like, if this is how Meteor apps are, then this is probably not the framework one should use.

Eat your own dog food. But then observe the issues and fix them.

(Writing out my frustration after one more question from a friend “Why is atmosphere so slow” after I tried to hook them to use Meteor. I am really fed up with this question.)

@sashko: Together with guide there should really be some complete properly done full Meteor examples people could look at.

(Why is Atmosphere not open source?)


#2

Your concerns are actually very common. I recommend Fastosphere to people now: http://fastosphere.meteor.com/


#3

I think it is much faster after recent fixes and changes.


#4

Thanks - that so much better


#7

I use fastosphere CLI tool with this wrapper:
msearch() { DAYS_COLOR="1;32" # green YEARS_COLOR="1;30" # gray WORDS_COLOR="1;36" # light-blue URL_COLOR="1;34" # blue STAR_COLOR="1;33" # yellow DOWNLOAD_COLOR="1;32" # green cgrep() { while read line; do (echo $line | GREP_COLOR="$2" grep -E --color=always "$1") || echo $line; done } fastosphere -n 30 -g "$*" | sort -nr | cgrep "${*/ /|}" "$WORDS_COLOR" | cgrep 'days?' "$DAYS_COLOR" | cgrep 'years?' "$YEARS_COLOR" | cgrep 'https?://[^\S]*' "$URL_COLOR" | cgrep '★' "$STAR_COLOR" | cgrep '⬇' "$DOWNLOAD_COLOR" }
It sorts results by downloads, highlights search words, fresh and old packages.

Looks like that


#8

A bit fixed output formatting (missed a pair of quotes):

meteorSearch() {
    DAYS_COLOR="1;32"     # green
    YEARS_COLOR="1;30"    # gray
    WORDS_COLOR="1;36"    # light-blue
    URL_COLOR="1;34"      # blue
    STAR_COLOR="1;33"     # yellow
    DOWNLOAD_COLOR="1;32" # green
    cgrep() { while  IFS='' read line; do (echo "$line" | GREP_COLOR="$2" grep -i -E --color=always "$1") || echo "$line"; done }
    fastosphere -n 30 -g "$*" | sort -nr | cgrep "${*/ /|}" "$WORDS_COLOR" | cgrep 'days?' "$DAYS_COLOR" | cgrep 'years?' "$YEARS_COLOR" | cgrep 'https?://[^\S]*' "$URL_COLOR" | cgrep '★' "$STAR_COLOR" | cgrep '⬇' "$DOWNLOAD_COLOR"
}

#9

Please give to me example - how to use this wrapper?


#10

You can add it into your .bashrc (or .zshrc or similar depending on your default shell) and run from the command line as usual, i.e.:

meteorSearch react blaze

I use different shells, so not to copy the init scripts content, I just have a script named ms, that is in the PATH:

#!/bin/bash
<meteorSearch function here>
meteorSearch $@

P.S. Do not forget to install fastosphere before running by npm i -g fastosphere.


#11

Do you know about changelog-feature?


#12

nope, and my wrapper it not intended (yet) to support it


#13

Bug on letter “S”:


#14

That is the result of grep behavior. It does not ignore color management codes when processed the input string. I have a bit different version of the function (see below), but it has another bug - when the description column contains url or there is no git url given, the output is broken. When I have time, I’ll fix it. I have also the plan to add Atmosphere url to every line. It would be helpful as not every package contains the git link.

meteorSearch() {
    DAYS_COLOR="1;32"     # green
    YEARS_COLOR="1;30"    # gray
    WORDS_COLOR="1;36"    # light-blue
    URL_COLOR="1;34"      # blue
    STAR_COLOR="1;33"     # yellow
    DOWNLOAD_COLOR="1;32" # green
    cgrep() { while  IFS='' read line; do (echo "$line" | GREP_COLOR="$2" grep -i -E --color=always "$1") || echo "$line"; done }
    nocolorUrl() { while read line; do echo "$line" | awk -F 'https?://' '{last=$2; $2=""; printf $0; system("echo https://\""last"\" | sed -r \"s/\\x1B\\[([0-9]{1,2};[0-9]{1,2})?[m|K]//g\"")}'; done }
    fastosphere -n 30 -g "$*" | sort -nr | cgrep "${*/ /|}" "$WORDS_COLOR" | cgrep 'days?' "$DAYS_COLOR" | cgrep 'years?' "$YEARS_COLOR" | nocolorUrl | cgrep 'https?://[^\ ]*$' "$URL_COLOR" | cgrep '★' "$STAR_COLOR" | cgrep '⬇' "$DOWNLOAD_COLOR"
}