Coder Social home page Coder Social logo

ericm / stonks Goto Github PK

View Code? Open in Web Editor NEW
541.0 13.0 34.0 1.82 MB

Stonks is a terminal based stock visualizer and tracker that displays realtime stocks in graph format in a terminal. See how fast your stonks will crash.

Home Page: https://stonks.icu

License: GNU General Public License v3.0

Go 98.00% Makefile 0.82% Dockerfile 1.19%
stock-market stock-data stocks stock-cli cli stock-market-data terminal-graphics go golang linux

stonks's Introduction

Stonks

GitHub GitHub contributors GitHub last commit GitHub release (latest by date) AUR version

Stonks is a terminal based stock visualizer and tracker.

Installation

Requirements: golang >= 1.13

Manual

  1. Clone the repo
  2. Run make && make install

Packages

Stonks is available on:

  • The AUR. You can install it on arch linux with my other project yup: $ yup -S stonks

  • HomeBrew: brew install ericm/stonks/stonks

Binaries

Binaries are now available for Windows, MacOSX and Linux under each release

You can now access basic stock graphs for passed stock tickers via the stonks HTTPS client (https://stonks.icu).

Try it:

$ curl -L stonks.icu/amd/ba

Usage

It uses Yahoo Finance as a backend so use the ticker format as seen on their website.

Displays realtime stocks in graph format in a terminal

Usage:
  stonks [flags]

Flags:
  -d, --days int          24 hour period of stocks from X of days ago.
  -e, --extra             Include extra pre + post time. (Only works for day)
  -h, --help              help for stonks
  -i, --interval string   stonks -i X[m|h] (eg 15m, 5m, 1h, 1d) (default "15m")
  -n, --name string       Optional name for a stonk save
  -r, --remove string     Remove an item from favourites
  -s, --save string       Add an item to the default stonks command. (Eg: -s AMD -n "Advanced Micro Devices")
  -t, --theme string      Display theme for the chart (Options: "line", "dot", "icon")
  -v, --version           stonks version
  -w, --week              Display the last week (will set interval to 1d)
  -y, --year              Display the last year (will set interval to 5d)
      --ytd               Display the year to date (will set interval to 5d)

$ stonks

Gives graphs and current value/change of saved stocks. Stonks

$ stonks -s AMD -n "Advanced Micro Devices"

Add a favourite stock to be tracked with $ stonks

$ stonks -r AMD

Remove a favourite stock

$ stonks AMD

Gives the current stock for each ticker passed that day

Stonks

$ stonks -w AMD

Gives the current stock for each ticker passed for the past week

Stonks

$ stonks -d 4 AMD

Gives the current stock for each ticker passed X days ago

Stonks

Configuration

The config file is located at ~/.config/stonks.yml

You can change the following options:

config:
  default_theme: 0 # 0: Line, 1: Dots, 2: Icons
  favourites_height: 12 # Height of the chart in each info panel
  standalone_height: 12

Usage with wtfutil

You can use a program such as wtfutil (On Arch Linux: yup -S wtfutil) to make stonks refresh automatically. See the sample ~/.config/wtf/config.yml provided by Gideon Wolfe :

wtf:
  colors:
    background: black
    border:
      focusable: darkslateblue
      focused: blue
      normal: gray
    checked: yellow
    highlight:
      fore: black
      back: gray
    rows:
      even: yellow
      odd: white
  grid:
    # How _wide_ the columns are, in terminal characters. In this case we have
    # four columns, each of which are 35 characters wide.
    columns: [33, 33, 33]
    # How _high_ the rows are, in terminal lines. In this case we have four rows
    # that support ten line of text and one of four.
    rows: [20, 20, 20, 20, 20, 20, 20, 20]
  refreshInterval: 1

  mods:
    tech:
      type: cmdrunner
      args: ["tsla", "intc", "--theme", "dot"]
      cmd: "stonks"
      enabled: true
      position:
        top: 0
        left: 0
        height: 2
        width: 3
      refreshInterval: 10
      title: "๐Ÿค– Tech"
    financial:
      type: cmdrunner
      args: ["jpm", "v", "--theme", "dot"]
      cmd: "stonks"
      enabled: true
      position:
        top: 2
        left: 0
        height: 2
        width: 3
      refreshInterval: 10

stonks's People

Contributors

ericm avatar fatih-catalkaya avatar gal avatar jac avatar marcopacini avatar montanaflynn avatar senorprogrammer avatar volmedo 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stonks's Issues

Intervals of 1m, 2m cause Go panic/runtime error

It appears specifying -i 1m or -i 2m falls outside an internal code/index range, but once you get to -i 3m it starts to work correctly (graceful failure for no data available). I use pikaur as my AUR helper, that's what the name of that directory in the build path output is from seen below.

$ pacman -Q stonks
stonks 1.0.8-1

1m

$ stonks -i 1m AAPL
panic: runtime error: index out of range [80] with length 80

goroutine 1 [running]:
github.com/ericm/stonks/graph.GenerateGraph(0xc00046b500, 0x50, 0xc, 0x1, 0x0, 0x0, 0x203000, 0xc00046b500)
	/home/tengel/.cache/pikaur/build/stonks/src/stonks/graph/graph.go:105 +0x1f0d
main.main.func1(0xc0000dcb00, 0xc00009bc50, 0x1, 0x3)
	/home/tengel/.cache/pikaur/build/stonks/src/stonks/main.go:167 +0x259
github.com/spf13/cobra.(*Command).execute(0xc0000dcb00, 0xc0000b6010, 0x3, 0x3, 0xc0000dcb00, 0xc0000b6010)
	/home/tengel/go/pkg/mod/github.com/spf13/[email protected]/command.go:846 +0x29d
github.com/spf13/cobra.(*Command).ExecuteC(0xc0000dcb00, 0xc0000aebc1, 0x911422, 0x5)
	/home/tengel/go/pkg/mod/github.com/spf13/[email protected]/command.go:950 +0x349
github.com/spf13/cobra.(*Command).Execute(...)
	/home/tengel/go/pkg/mod/github.com/spf13/[email protected]/command.go:887
main.main()
	/home/tengel/.cache/pikaur/build/stonks/src/stonks/main.go:184 +0x7b7

2m

$ stonks -i 2m AAPL
panic: runtime error: index out of range [80] with length 80

goroutine 1 [running]:
github.com/ericm/stonks/graph.GenerateGraph(0xc0003e01c0, 0x50, 0xc, 0x1, 0x0, 0x0, 0x203000, 0xc0003e01c0)
	/home/tengel/.cache/pikaur/build/stonks/src/stonks/graph/graph.go:105 +0x1f0d
main.main.func1(0xc0000dcb00, 0xc00009bc50, 0x1, 0x3)
	/home/tengel/.cache/pikaur/build/stonks/src/stonks/main.go:167 +0x259
github.com/spf13/cobra.(*Command).execute(0xc0000dcb00, 0xc0000b6010, 0x3, 0x3, 0xc0000dcb00, 0xc0000b6010)
	/home/tengel/go/pkg/mod/github.com/spf13/[email protected]/command.go:846 +0x29d
github.com/spf13/cobra.(*Command).ExecuteC(0xc0000dcb00, 0xc0000aebc1, 0x911422, 0x5)
	/home/tengel/go/pkg/mod/github.com/spf13/[email protected]/command.go:950 +0x349
github.com/spf13/cobra.(*Command).Execute(...)
	/home/tengel/go/pkg/mod/github.com/spf13/[email protected]/command.go:887
main.main()
	/home/tengel/.cache/pikaur/build/stonks/src/stonks/main.go:184 +0x7b7

3m

$ stonks -i 3m AAPL
No bars were found for this time period for AAPL

My stonks was compiled about a week or so ago, no edits to the PKGBUILD made.

panic: decimal division by 0

$ stonks -s FSELX
$ stonks
FSELX:
panic: decimal division by 0

goroutine 1 [running]:
github.com/shopspring/decimal.Decimal.QuoRem(0xc0003c7280, 0xc0fffffff1, 0xc0003c7260, 0xfffffff1, 0x10, 0x0, 0x0, 0xc000484b58, 0x1)
        /home/harleypig/go/pkg/mod/github.com/shopspring/[email protected]/decimal.go:500 +0x375
github.com/shopspring/decimal.Decimal.DivRound(0xc0003c7280, 0xc0fffffff1, 0xc0003c7260, 0xfffffff1, 0xc000000010, 0xc0fffffff1, 0x282)
        /home/harleypig/go/pkg/mod/github.com/shopspring/[email protected]/decimal.go:542 +0x6e
github.com/shopspring/decimal.Decimal.Div(...)
        /home/harleypig/go/pkg/mod/github.com/shopspring/[email protected]/decimal.go:487
github.com/ericm/stonks/graph.GenerateGraph(0xc000382000, 0x50, 0xc, 0x0, 0x0, 0x0, 0xc000382000, 0x0)
        /tmp/trizen-harleypig/stonks/src/stonks/graph/graph.go:97 +0xc28
main.main.func1(0xc00015cb00, 0xd0e4f8, 0x0, 0x0)
        /tmp/trizen-harleypig/stonks/src/stonks/main.go:149 +0x906
github.com/spf13/cobra.(*Command).execute(0xc00015cb00, 0xc0001181b0, 0x0, 0x0, 0xc00015cb00, 0xc0001181b0)
        /home/harleypig/go/pkg/mod/github.com/spf13/[email protected]/command.go:846 +0x29d
github.com/spf13/cobra.(*Command).ExecuteC(0xc00015cb00, 0xc000130be0, 0x911f80, 0x7)
        /home/harleypig/go/pkg/mod/github.com/spf13/[email protected]/command.go:950 +0x349
github.com/spf13/cobra.(*Command).Execute(...)
        /home/harleypig/go/pkg/mod/github.com/spf13/[email protected]/command.go:887
main.main()
        /tmp/trizen-harleypig/stonks/src/stonks/main.go:177 +0x70b

Cool little program! But can it display indexes?

I know i can look at the SPY ETF, and it works great! I love this little utility.

but can it display charts of indexes? I tried "^GSPC" to track the S&P 500 -- per the ticker on yahoo's website -- but it doesn't give me a graph :(

Type error when running stonks

$ stonks AMD
panic: interface conversion: interface {} is int, not graph.ChartTheme

goroutine 1 [running]:
main.main.func1(0xc0000eeb00, 0xc0000ad530, 0x1, 0x1)
/home/jc/Documents/finance/stonks/main.go:106 +0x1606
github.com/spf13/cobra.(*Command).execute(0xc0000eeb00, 0xc0000ba030, 0x1, 0x1, 0xc0000eeb00, 0xc0000ba030)
/home/jc/go/pkg/mod/github.com/spf13/[email protected]/command.go:846 +0x29d
github.com/spf13/cobra.(*Command).ExecuteC(0xc0000eeb00, 0xc0000c4bc8, 0x910edb, 0x7)
/home/jc/go/pkg/mod/github.com/spf13/[email protected]/command.go:950 +0x349
github.com/spf13/cobra.(*Command).Execute(...)
/home/jc/go/pkg/mod/github.com/spf13/[email protected]/command.go:887
main.main()
/home/jc/Documents/finance/stonks/main.go:192 +0x605

OS: linux mint 19.2
Stonks was installed using go version go1.14.3 linux/amd64

Steps to reproduce:
$ stonks -s AMD
$ stonks

Stonks: command not found

I'm running into this issue where I'm attempted to use this program but I get no command found. I cloned the repo. I ran make and make install. However, when I run i.e. stonks -s AMD -n "Advanced Micro Devices" I get command not found. Also, I tried to run make and make install as sudo but I get this message

go get
go build -v -o stonks
go install -v
make: go: Command not found
Makefile:12: recipe for target 'install' failed
make: *** [install] Error 127 (which looks like it can't find a complier)

I have go installed, with a set GO PATH and gcc and c++ in the $PATH(along with go) so I'm not sure the problem could be. I am on WSL if that makes a differences

Add homebrew tap

Would be nice to be able to install this via homebrew

Documentation is here

I'm happy to help setting up a tap for this

Tag Typo

The tag termial-based should be terminal-based. ๐Ÿ˜บ

[Idea] Maybe add an example with wtfutil?

wtfutil is an awesome utility that lets you create static terminal dashboards to fit your needs.

You can place different "widgets" in a desired arrangement. You could use the "command runner" agent to display the output of stonks commands in a dashboard format!

I did the same thing here.

panic: decimal division by 0 for BLIAQ

Bit of an edge case for sure, but BLIAQ (Blockbuster Liquidated Stock) throws a division by zero error:

$ stonks BLIAQ

image

OS:
macOS High Sierra v 10.13.6

Stacktrace:

panic: decimal division by 0

goroutine 1 [running]:
github.com/shopspring/decimal.Decimal.QuoRem(0xc00044b520, 0xc0ffffffed, 0xc00044b500, 0xffffffed, 0x10, 0x0, 0x0, 0xc000026348, 0x1)
        /Users/leereilly/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/shopspring/[email protected]/decimal.go:500 +0x375
github.com/shopspring/decimal.Decimal.DivRound(0xc00044b520, 0xc0ffffffed, 0xc00044b500, 0xffffffed, 0xc000000010, 0xc0ffffffed, 0x27b)
        /Users/leereilly/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/shopspring/[email protected]/decimal.go:542 +0x6e
github.com/shopspring/decimal.Decimal.Div(...)
        /Users/leereilly/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/shopspring/[email protected]/decimal.go:487
github.com/ericm/stonks/graph.GenerateGraph(0xc0000e4000, 0x50, 0xc, 0x0, 0x0, 0x0, 0x203000, 0xc0000e4000)
        /private/tmp/stonks-20200630-96058-dp47eq/graph/graph.go:96 +0xc28
main.main.func1(0xc000160b00, 0xc000119610, 0x1, 0x1)
        /private/tmp/stonks-20200630-96058-dp47eq/main.go:167 +0x259
github.com/spf13/cobra.(*Command).execute(0xc000160b00, 0xc000128030, 0x1, 0x1, 0xc000160b00, 0xc000128030)
        /Users/leereilly/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/spf13/[email protected]/command.go:846 +0x29d
github.com/spf13/cobra.(*Command).ExecuteC(0xc000160b00, 0xc000132bb9, 0x151311d, 0x5)
        /Users/leereilly/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/spf13/[email protected]/command.go:950 +0x349
github.com/spf13/cobra.(*Command).Execute(...)
        /Users/leereilly/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/spf13/[email protected]/command.go:887
main.main()
        /private/tmp/stonks-20200630-96058-dp47eq/main.go:184 +0x7b7

Errors when building using `go1.19.2 darwin/arm64` on macos 12.6

I cloned the repo and tried to install the command following the installation instructions. I got some errors when building the binary:

ฮป make build
go get
go build -v -o stonks
golang.org/x/sys/unix
# golang.org/x/sys/unix
/Users/volmedo/go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:28:3: //go:linkname must refer to declared function or variable
/Users/volmedo/go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:43:3: //go:linkname must refer to declared function or variable
/Users/volmedo/go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:59:3: //go:linkname must refer to declared function or variable
/Users/volmedo/go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:75:3: //go:linkname must refer to declared function or variable
/Users/volmedo/go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:90:3: //go:linkname must refer to declared function or variable
/Users/volmedo/go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:105:3: //go:linkname must refer to declared function or variable
/Users/volmedo/go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:121:3: //go:linkname must refer to declared function or variable
/Users/volmedo/go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:136:3: //go:linkname must refer to declared function or variable
/Users/volmedo/go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:151:3: //go:linkname must refer to declared function or variable
/Users/volmedo/go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:166:3: //go:linkname must refer to declared function or variable
/Users/volmedo/go/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_arm64.go:166:3: too many errors
make: *** [build] Error 2

Upgrading the golang.org/x/sys package solved the issue.

brew build issues

I am so bold and link in the main repo to a problem with build (homebrew).

I'm not quite sure if an upstream problem or my config / my machine.

ericm/homebrew-stonks#1

thank you very much

[Feature] Squeeze into 80 columns output (currently 89)

I will make the statement "pretty much every terminal in Linux defaults to 80x24 when opened" and hope that's agreeable. :) (I've even tested good old xterm for this request, it's the same). Is there any way we can shave off 9 columns from the output so that it displays nicely in a standard 80x24 by default?

I used xterm for this screenshot as it does not resize the previous output like modern terminals do, at the top is where it opened in 80x24 and the display is wrapped, then I increased the window to 89 wide to get it nicely formatted. For example maybe 8,30a (losing the 'm' off 'am' and 'pm') could do it perhaps? (or even convert to 24H but that uses the same number as dropping 'm', it's a wash).

Screenshot at 2020-08-12 08-22-35

The command "Stonks" doesnt work correctly but "Stonks -d 1 spy" works fine.

When I type "Stonks" I get

stonks
SPY:

and nothing else.

When i type "Stonks -d -1 spy"
I get
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ SPY | 434.57 USD (0.81% | 3.51) on Wed 21/07/2021 14:45 | Prev: 431.06 | PCX โ”ƒ
โ”ฃโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ซ
โ”ƒ434.70โ”‚ โ”ƒ
โ”ƒ434.49โ”‚ โ•ฑ โ”ƒ
โ”ƒ434.27โ”‚ โ•ฑ โ”ƒ
โ”ƒ434.06โ”‚ โ•ฑ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ•ฑ โ”ƒ
โ”ƒ433.85โ”‚ โ•ฑสŒ โ•ฑ โ”€โ”€โ”€โ”€ โ•ฑ โ•ฑ โ•ฒ โ•ฑ โ”ƒ
โ”ƒ433.63โ”‚ สŒ โ•ฑ โ•ฒ โ– โ•ฑ สŒ โ•ฑ โ•ฑ โ•ฒ โ•ฑ โ”ƒ
โ”ƒ433.42โ”‚ โ•ฑ โ•ฒ โ–” โ•ฑ สŒ โ•ฑ โ•ฑ โ•ฒ โ•ฑ โ•ฒ โ”€โ”€โ”€โ”€ โ”ƒ
โ”ƒ433.21โ”‚ โ•ฑ โ•ฒ โ•ฑ โ•ฑ โ•ฒ โ”€โ”€โ”€โ”€ โ”ƒ
โ”ƒ432.99โ”‚โ”€ โ•ฒโ•ฑ โ”ƒ
โ”ƒ432.78โ”‚ โ”ƒ
โ”ƒ432.57โ”‚ โ”ƒ
โ”ƒ432.35โ”‚ โ”ƒ
โ”ฃโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ซ
โ”ƒ 8.30am 9.15am 10.00am 10.45am 11.30am 12.15pm 1.00pm 1.45pm 2.30pm โ”ƒ
โ”—โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”›

Do you have any idea why it will work with the flags but not without flags?

Some flags not working

Neither --days 10 nor --week work.

stonks --days 10                                                                                                                                                                      at ๏€— 13:10:50
Mercadolibre inc:
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ MELI | 824.99 USD (1.26%) on Fri 22/05/2020 13:11 GMT | Prev: 814.71 | NMS            โ”ƒ
โ”ฃโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ซ
โ”ƒ827.44โ”‚                                                                                โ”ƒ
โ”ƒ825.56โ”‚                โ•ฑ โ–    โ•ฑสŒ   โ•ฑ สŒ                                                 โ”ƒ
โ”ƒ823.67โ”‚   โ–    โ•ฑโ”€โ”€โ”€โ”€โ”€โ”€โ”€   โ•ฒ  โ•ฑ  โ•ฒ โ•ฑ   โ•ฒ โ•ฒ                                              โ”ƒ
โ”ƒ821.79โ”‚    โ•ฒ  โ•ฑ            โ•ฒโ•ฑ                                                          โ”ƒ
โ”ƒ819.91โ”‚     โ•ฒโ•ฑ                                                                         โ”ƒ
โ”ƒ818.03โ”‚                                                                                โ”ƒ
โ”ƒ816.14โ”‚                                                                                โ”ƒ
โ”ƒ814.26โ”‚  โ•ฑ                                                                             โ”ƒ
โ”ƒ812.38โ”‚ โ•ฑ                                                                              โ”ƒ
โ”ƒ810.50โ”‚โ”€                                                                               โ”ƒ
โ”ƒ808.61โ”‚                                                                                โ”ƒ
โ”ƒ806.73โ”‚                                                                                โ”ƒ
โ”ฃโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ซ
โ”ƒ       10.30am  11.15am  12.00pm  12.45pm                                              โ”ƒ
โ”—โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”›

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.