
ASCII Art Weather - hjc89
http://wttr.in/london
======
dredmorbius
What's impressed me about this is how much faster it is than Web pages or
Android apps.

Really: just transmit the data necessary to convey your information. Your app
is in the way.

wttr.in on Android using Termux is actually pretty awesome.

~~~
mediumdeviation
Try looking at the source of the page. There's no way in hell anyone would
call that "just" the data necessary to convey the information.

The site is also unusable on mobile, because ASCII art unlike proper semantic
HTML is not easily rescalable by the browser. And it's inaccessible by users
relying on screen readers, ironically because of all the ASCII cruft.

~~~
frobware
The inaccessible comment is somewhat ironic. If the display of the ASCII craft
is in a terminal at least I have some control over the font size and, in
particular, the background colour.

~~~
mediumdeviation
Sorry, I meant cruft - autocorrect didn't recognize the word and corrected it
to 'craft'.

And the same control extends to users on the Web at the very least.
Userstyles/scripts and extensions can modify websites, giving users the
ultimate control over website content.

My point was in response to the grandparent's statement that most modern apps
get in the way of the user - those exact same things are also crucial to, for
instance support screen readers and mobile users.

------
pixelbeat
Oh cool, this is using my ansi -> html conversion script!

[http://www.pixelbeat.org/scripts/ansi2html.sh](http://www.pixelbeat.org/scripts/ansi2html.sh)

------
edw519

               \/\/\/\/
             /         \
            /           \
           /             \
       /\_/     0    0    \_/\
      |                       |
       \/ \      |_|      / \/
           \             /
            \  \-----/  / ---------- Brilliant!
             \         /
              \_______/
                |   |

------
insulanian
This is awesome!

But now I get:

> Sorry, we are runnig out of queries to the weather service at the moment.
> Here is the weather report for the default city just to show you, how it
> works. We will get new queries as soon as possible.

Can't you cache the data for an hour to prevent this from happening? Heck,
just show me something even if it's fake as I love how the thing looks :)

------
benzinschleuder
It works in the Terminal, too!

curl [http://wttr.in/london](http://wttr.in/london)

~~~
Jaruzel
But not as native ANSI though? Unless it's doing some clever useragent
detection? (I'm on Windows without curl/wget).

~~~
ajsalminen
Yes, it does return ANSI when you curl/wget the address.

------
manuw
And the moon: [http://wttr.in/Moon](http://wttr.in/Moon)

~~~
torgoguys
The moon phase visualization takes arbitrary dates too:
[http://wttr.in/Moon@2016-Mar-23](http://wttr.in/Moon@2016-Mar-23)

For the forecast, it also appears you can append "?m" to the URL for metric
units or "?u" for USCS units to override the default it uses based on your
presumed location.

~~~
djsumdog
I was looking for that; surprised I didn't see it in the github page/docs
anywhere. It's weird looking at London Weather with Imperial units.

------
akerro
We were unable to find your location, so we have brought you to Oymyakon, one
of the coldest permanently inhabited locales on the planet.

>Freezing fog

Don't want to know more about this place.

~~~
jason46
Any idea how to specify a location, I tried the site on a few different
browsers and some are correct and others are not. I suppose some browsers are
blocking its means for determining the location.

 _edit_ Looks like the issue is caused by some browsers/settings that hide the
public ip prevent it from finding location.. would be nice to specify, i like
the page.

~~~
jccc
Enter your Zip code after the URL (if you're in the U.S.) --

[http://wttr.in/65201](http://wttr.in/65201)

~~~
jayrhynas
It also supports UK postcodes[1], Canadian postal codes[2], and lat/long
coordinates[3]

1: [http://wttr.in/cb1](http://wttr.in/cb1)

2: [http://wttr.in/l1v](http://wttr.in/l1v)

3: [http://wttr.in/52.1988,0.0850](http://wttr.in/52.1988,0.0850)

------
fabiendem
Nice! :) alias weather="wget -O -
[http://wttr.in/london](http://wttr.in/london) -q"

~~~
xupybd
Slight tweak watch --color "wget -O -
[http://wttr.in/Palmerston_North](http://wttr.in/Palmerston_North) -q" Not
that its going to need to update that much, its just, well it makes me feel
like it's more accurate that way.

~~~
dtzWill
You might want to use wego[1] directly if you're interested in weather reports
in your terminal, if the dependencies aren't an issue.

[1] [https://github.com/schachmat/wego](https://github.com/schachmat/wego)

------
korginator
The weather data appears horribly inaccurate. I'm traveling in Vietnam (Hanoi)
today and we're seeing temperatures between 25 and 31 deg C, but the site says
we're roasting at 34 - 48 deg C.

I checked Bangkok where I will go tomorrow, and the site claims we will hit 45
deg C which is ridiculous.

~~~
neic
I don't think it's an interval. The second temperature seem to be the "Feels
Like" temperature from worldweatheronline.com. I'm getting 52°C in Singapore
which is ~15°C over the all time record.

------
tsukikage
wttr.in/Cambridge looks completely wrong. Says Cambridge, UK at the top, but
-2°C and heavy snow? Really?

EDIT: looks like it's using [http://www.worldweatheronline.com/cambridge-
weather/scottish...](http://www.worldweatheronline.com/cambridge-
weather/scottish-borders/gb.aspx) rather than the one in East Anglia

~~~
jvdh
There is no way at all to handle duplicate location names. Another nice
example is wttr.in/denhaag which uses the South African city of "Den Haag",
which is so small even Google Maps searches for it end up with the South
African embassy in the Dutch city of that name.

~~~
wobbleblob
... which is in a country so small, google maps searches end up with the town
in Michigan of that name ;)

------
oneeyedpigeon
It's pretty cool, but it doesn't quite line up for me. Unicode characters (but
... "ASCII"?) are the prime culprit, but something also going on with the
'delimitting' header lines too - they're way off.

~~~
cvs268
Broken for me as well.

Looks like certain assumptions about max length of weather numbers causes
unnecessary additional padding resulting in misaligned borders.

[http://imgur.com/vyupGUN](http://imgur.com/vyupGUN)

~~~
m_t
Funny thing is, it aligns properly in the terminal (cygwin here)

[http://imgur.com/LicBeh3](http://imgur.com/LicBeh3)

~~~
hugg
Yeah, because it's not showing the diagonal arrows.

~~~
jayrhynas
If you have a font that supports proper monospaced unicode, it works:
[http://cl.ly/2f410i1k270D](http://cl.ly/2f410i1k270D)

~~~
cvs268
Thanks for confirming. Can you share the font/fontname you are using? I would
like to install it on my PC as well...

Update: Looks like they fixed it now. I just re-visited the site after posting
this comment and see that there are new monospace arrows rendering in a
properly aligned manner.

------
geoffry
Nice! I like the aggregation into time blocks people tend to care about.

What's the definition of the probability of precip you're using? And how are
you aggregating it? I ask because definitions can vary a lot and aggregation
may not be straightforward.

Another thing to consider is how you interpret/convey wind direction. Usually
weather data sources provide the direction the wind is coming from. And people
seem split on if the arrow should point to the origin or direction, depending
on their background. It's a shame there aren't more characters like ⎋ (with
the arrow going the other direction) to better represent origin/direction.

------
tyingq
Related, "Forecast Font" takes an interesting approach to this, using a
webfont: [http://forecastfont.iconvau.lt/](http://forecastfont.iconvau.lt/)

Because it uses css to overlay elements, the woff font itself can be just the
required pieces, rather than all the combinations. The woff font is 4.6kb. Not
as tiny as ascii art, but still pretty small.

------
buro9
I much prefer weather via finger using graph.no:

[https://news.ycombinator.com/item?id=11106354](https://news.ycombinator.com/item?id=11106354)

[https://0p.no/2014/12/13/graph_no___weather_forecast_via_fin...](https://0p.no/2014/12/13/graph_no___weather_forecast_via_finger.html)

And the command:

    
    
        finger london@graph.no
    

Which produces this:

    
    
                      -= Meteogram for united_kingdom/england/london =-                
        'C                                                                   Rain (mm) 
        17                                                                   
        16      ^^^   ------^^^^^^                                           
        15   ^^^   ---            ^^^                                        
        14^^^                        ^^^                                     
        13                              ^^^                                  
        12                                 ^^^                               
        11                                    =========            ===   ^^^ 
        10                                             ============   ===    
         9                                            '  |                   2 mm 
         8                                      |  |  |  |  |  |  |  |  |    1 mm 
          _11_12_13_14_15_16_17_18 19 20 21 22 23 00 01 02 03 04 05 06_07_08 Hour
        
           SE SE  S  S  S  S  S  S  S  S  S  S SE  S  S  S  S  E SE SE  S SW Wind dir.
            1  2  5  4  4  4  5  4  4  4  3  3  3  2  3  2  1  0  1  2  1  3 Wind(mps)
       
       Legend left axis:   - Sunny   ^ Scattered   = Clouded   =V= Thunder   # Fog
       Legend right axis:  | Rain    ! Sleet       * Snow
    
    

So it's 16'c with a light cloud cover until 1pm, clear until 4pm after which
it gets a little cloudy again, some rain between 11pm and 7am, which is very
light and heaviest around 2am.

That is the equivalent of this:

[https://www.yr.no/place/United_Kingdom/England/London/hour_b...](https://www.yr.no/place/United_Kingdom/England/London/hour_by_hour_detailed.html)

Which has, for me, proven to be the most accurate and informative weather
forecast.

And if you just want to use the latest meteogram image:

[https://www.yr.no/place/United_Kingdom/England/London/avanse...](https://www.yr.no/place/United_Kingdom/England/London/avansert_meteogram.png)

Also: Weather available via HTTPS! I dislike how the vast majority of apps on
mobile devices use location for reporting local weather but do so over HTTP
and leak location data. BBC, I'm looking at you.

If you're on Android there's a great widget that makes using any other weather
app pretty redundant for most cases:

[https://play.google.com/store/apps/details?id=widget.weather...](https://play.google.com/store/apps/details?id=widget.weather.no.yr&hl=en_GB)

~~~
Moru
For me yr.no is almost always correct at least for the next few hours. It can
be off a bit if you go a day ahead but it's updated regularly so just check
often to get a picture of how the weather will be. I live in Sweden but have
tried it extensively in Germany too with similar results.

------
cat-dev-null
Brilliant!

Try:

    
    
        curl -sk https://wttr.in/sfo

~~~
masklinn
If you use plain http, you don't even need the flags.

------
yaronn01
To visualize weather in the terminal you can also use:

$> a=$(curl -Ls "bit.ly/1OuRPDJ"); curl --data "$a" "tty.zone?cols=${COLUMNS}"

(via [https://github.com/yaronn/wopr](https://github.com/yaronn/wopr))

------
leni536
Nice, looks nice in w3m an lynx too (I wonder if it's possible to enable
colors though). I have new alias:

    
    
       alias weather="w3m -dump wttr.in/budapest"
    

Edit: I just found in the comments that it works with plain curl too with
color. Nice.

------
hammerha
Really good! Now I can see the weather on the command line in addition to a
calendar and a clock.

I think It'd be better to show the weather of yesterday instead of showing the
weather of the day after tomorrow so that I can compare the sensory
temperature.

------
tptacek
I don't know why looking at this makes me so happy, but it does.

------
gitaarik
Made a small bash function for it. You can give the city as an argument and
otherwise defaults to the env var $WEATHER_CITY and if that's not set, won't
provide any city to the site which will result in the site guessing your
location.

weather() {

    
    
        if [ "$1" ] ; then
            city=$1
        else
            city=$WEATHER_CITY
        fi
    
        curl http://wttr.in/$city
    
    }

~~~
Tiksi
As a quick aside, you can set default variables in bash with ${var-default},
so your function can be condensed to:

    
    
      weather()
      {
        curl http://wttr.in/${1-$WEATHER_CITY}
      }

------
chrisdew
Why does it forecast sunshine at night?

------
panic
Neat idea! The social buttons on the bottom kinda ruin the aesthetic, though
(at least for me).

~~~
tux
I like it :-) But I agree, social buttons should be removed or at least moved
to page like /about.

------
throw7
I wish it showed dewpoint. Almost all these weather apps never show dewpoint
(or it's hidden away), but instead almost always show the relative humidity
percentage which is useless and just takes up space.

------
a3n
It even looks good when I turn off CSS, just lose color, and presentation of
the badges at the bottom. Looks really nice in the terminal (urxvt/linux).

------
acz
For PowerShell: (Invoke-WebRequest wttr.in/Brussels).AllElements |
?{$_.tagname -eq "pre"} | Select-Object -ExpandProperty outerText

~~~
masklinn
Or you could just set/unset all the right headers and get the ASCII art
directly (as `curl wttr.in/{location}` does)

Although you'll need to interpret or strip the color codes.

~~~
acz
There is a hack to make PowerShell print vt100 colours
[http://www.nivot.org/blog/post/2016/02/04/Windows-10-TH2-%28...](http://www.nivot.org/blog/post/2016/02/04/Windows-10-TH2-%28v1511%29-Console-
Host-Enhancements)

Doesn’t work for me, but works for others it seems.

------
aerique
Nice it supports coordinates as well:
[http://wttr.in/52.1,4.22](http://wttr.in/52.1,4.22)

~~~
maze-le
Sadly, the weather on the North Pole is undefined...

> [http://wttr.in/89.99,0.00](http://wttr.in/89.99,0.00) >> ERROR

Well, 85.90,0.00 works... must be a weather-station somewhere near...
Greenland or Jan Mayen.

------
slazaro
(Meta)

Perhaps the link should point to the base URL, apparently it detects your
location if available (didn't work for me because I have it disabled).

~~~
d99kris
Looks like it was submitted 2 days ago
[https://news.ycombinator.com/item?id=11477365](https://news.ycombinator.com/item?id=11477365)
, so maybe it was done to avoid the dupe detection.

~~~
iriche
No comments on that submission - so doesn't really matter :)

------
jccc
I'm in Oxford, Ohio. Thinks I'm in Oxford, England.

(Not criticizing, just amused.)

------
edem
It says "ERROR".

------
ninjakeyboard
cool! wind direction causes column alignment issues a bit in chrome.

~~~
cnlwsu
in safari etc as well. I think its if theres a lot of double digit winds:
[http://wttr.in/rst](http://wttr.in/rst)

------
bdz
I thought this will be something based on METAR codes...

------
shmerl
What is the source for the weather data?

------
uberneo
can't find a way to change fahrenheit to celsius

~~~
jayrhynas
append ?u=metric to the URL

------
thecryof
Plain, cool.

