Patrick: I hadn't seen urwid before. It looks powerful and slightly insane; 
I wouldn't want to make TextPlots depend on something so massive (or on 
python, for that matter).

Keno, Stefan: I'll see what I can do using the recent Base.Terminals stuff 
when I work on the reporting process. I need to get back to my main project 
for a bit and off the "ooh, shiny" sadly.

On Saturday, May 24, 2014 5:25:42 PM UTC-4, Stefan Karpinski wrote:
>
> Given that we have our own terminal functionality and ncurses is generally 
> considered to be not so easy to use, it may be worthwhile to have our own 
> ncurses-like library. But better and simpler, of course. This terminal 
> stuff is a lot easier if you make the radical assumption that people are 
> using hardware from later than 1978.
>
>
> On Sat, May 24, 2014 at 11:23 AM, Keno Fischer <
> [email protected] <javascript:>> wrote:
>
>> There is NCurses bindings for Julia which used to work before Terminals 
>> was integrated into Julia: https://github.com/loladiro/NCurses.jl. Now 
>> I'm not sure anymore. Will put it on the list of things to do, but no 
>> promises. 
>>  
>>
>> On Sat, May 24, 2014 at 5:14 PM, Patrick O'Leary 
>> <[email protected]<javascript:>
>> > wrote:
>>
>>> It might be possible to PyCall into urwid, though I don't know if 
>>> there's a way to rectify the event loops.
>>>
>>>
>>> On Friday, May 23, 2014 3:05:10 PM UTC-5, Adam Smith wrote:
>>>>
>>>> Sweet, that one turns out surprisingly well! When I get further on the 
>>>> main project I'm building in Julia, I want to add a watchdog process that 
>>>> dumps graphs of various app metrics (cpu usage over time, etc.) with 
>>>> TextPlots. Is there a good ncurses-type package for re-drawing a UI in the 
>>>> terminal? I couldn't find one yet.
>>>>
>>>> On Friday, May 23, 2014 3:56:59 PM UTC-4, Stefan Karpinski wrote:
>>>>>
>>>>> This is so cool:
>>>>>
>>>>>  julia> plot(cumsum(randn(1000)))
>>>>>
>>>>>  2.73641 ⡤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤
>>>>> ⠤⢤
>>>>>          ⡇⡼⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
>>>>> ⠀⠀⢸
>>>>>          ⡇⡇⢃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
>>>>> ⠀⠀⢸
>>>>>          ⡇⠀⢈⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀
>>>>> ⠀⠀⢸
>>>>>          ⡇⠀⠐⡇⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⡴⡄⠀⡀⡾⠅⠀⠀⠀⠀⠀⠀
>>>>> ⠀⠀⢸
>>>>>          ⡇⠀⠀⠚⢀⢠⢣⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣬⠋⣧⠀⣰⠁⠄⢀⠀⠀⠀⠀⠀
>>>>> ⠀⠀⢸
>>>>>          ⡇⠀⠀⢈⣃⢘⠙⠦⠀⢀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⡁⠀⠈⣦⡖⠀⢃⣺⠀⠀⠀⠀⠀
>>>>> ⠀⠀⢸
>>>>>          ⡇⠀⠀⠸⢕⡏⠨⢛⢰⡸⢻⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢀⣒⣖⠀⠄⠘⣧⡅⠐⠇⠀⠀⠮⠀⠀⠹⠃⠆⠀⠀⠀⠀
>>>>> ⠀⠀⢸
>>>>>          ⡇⠀⠀⠀⠐⠃⠀⠨⣶⠏⠀⠛⣅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⢼⣨⡻⢛⢬⠃⡅⢹⢩⠘⠀⠀⠀⠀⠀⠀⠈⠀⣄⠀⠀⠀⠀
>>>>> ⠀⠀⢸
>>>>>          ⡇⠀⠀⠀⠀⠀⠀⠀⠈⠁⠀⠀⢣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣦⡄⠀⠀⠀⠀⠀⠀⠀⡊⡍⠇⠁⠐⡝⢷⠃⠀⠘⡕⠀⠀⠀⠀⠀⠀⠀⠀⢹⡿⣃⠀⣀
>>>>> ⠀⠀⢸
>>>>>          ⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⠀⠀⠀⠀⠀⠀⠀⠀⡆⢀⠀⠘⡸⠛⣳⠄⢀⠀⠆⠀⠀⠀⡃⠁⠀⠀⠀⠀⠘⠀⠀⠀⠋⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⢸⣾⡷
>>>>> ⠀⠀⢸
>>>>>          ⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠁⠀⠀⠀⢠⠀⠀⢐⢇⣨⢈⡞⠏⠀⠙⣣⣺⣞⡅⠀⠀⢀⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⠘
>>>>> ⡄⡀⢸
>>>>>          ⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢧⣴⣅⣆⣜⢆⠀⢸⠘⡳⡾⠀⠀⠀⠀⢈⡱⢱⢩⠀⠀⠸⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
>>>>> ⣡⠀⢸
>>>>>          ⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠏⠿⢫⠍⢹⡄⡖⢠⠁⠁⠀⠀⠀⠀⠈⠁⠀⢨⣄⣨⡮⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
>>>>> ⠙⠀⢸
>>>>>          ⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠇⡆⠐⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠋⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
>>>>> ⠀⠀⢸
>>>>>          ⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠺⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
>>>>> ⠀⠀⢸
>>>>>          ⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
>>>>> ⠀⠀⢸
>>>>> -35.0016 ⠓⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒⠒
>>>>> ⠒⠚
>>>>>          1                                                             
>>>>>     1000
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Fri, May 23, 2014 at 3:02 PM, Adam Smith <[email protected]>wrote:
>>>>>
>>>>>> Sigh, I had a nagging feeling it was supposed to be plural. I did one 
>>>>>> more (hopefully final) rename to TextPlots.jl: https://github.
>>>>>> com/sunetos/TextPlots.jl and updated the source/readme and such.
>>>>>>
>>>>>>
>>>>>> On Friday, May 23, 2014 2:18:54 PM UTC-4, Stefan Karpinski wrote:
>>>>>>
>>>>>>> There's a convention to name packages plurally – i.e. TextPlotsrather 
>>>>>>> than 
>>>>>>> TextPlot. This is nice partly because using TextPlots reads more 
>>>>>>> naturally than using TextPlot, but more importantly because if you, 
>>>>>>> as is likely, end up having a type called TextPlot, then you don't 
>>>>>>> get a name collision.
>>>>>>>  
>>>>>>> On Fri, May 23, 2014 at 10:56 AM, Mike Innes <[email protected]>wrote:
>>>>>>>
>>>>>>>> Incidentally, interop with other packages without a hard dependency 
>>>>>>>> is something that's around the corner, so you will be able to do this 
>>>>>>>> soon.
>>>>>>>>
>>>>>>>>
>>>>>>>> On 23 May 2014 15:32, Adam Smith <[email protected]> wrote:
>>>>>>>>
>>>>>>>>> Thanks all for the feedback! I have renamed it to TextPlot.jl, 
>>>>>>>>> added support for plotting just about any combination of 
>>>>>>>>> functions/vectors/matrix, made the API more flexible for Gadfly 
>>>>>>>>> compatibility, and greatly expanded the documentation/examples. It is 
>>>>>>>>> now 
>>>>>>>>> quite a bit more powerful than ASCIIPlots: https://github.com
>>>>>>>>> /sunetos/TextPlot.jl
>>>>>>>>>
>>>>>>>>> Ivar: I like the idea of having this be a backend for one of the 
>>>>>>>>> other plotting packages, but the dependency would need to be the 
>>>>>>>>> other 
>>>>>>>>> direction. Meaning, they would need to add support for TextPlot, not 
>>>>>>>>> the 
>>>>>>>>> other way around. Right now TextPlot has zero dependencies, so you 
>>>>>>>>> can use 
>>>>>>>>> it in basically any environment, including a console-only server 
>>>>>>>>> connected 
>>>>>>>>> over SSH. Installing Gadfly requires quite a few dependencies on 
>>>>>>>>> other 
>>>>>>>>> packages, including Cairo and other graphical packages if you want 
>>>>>>>>> PNG 
>>>>>>>>> charts (for iTerm2+IPython inline charts, a similar use case to this 
>>>>>>>>> one). 
>>>>>>>>> TextPlot would be quite useful for machines that cannot build all 
>>>>>>>>> those 
>>>>>>>>> other packages, so I don't want to make TextPlot depend on any of 
>>>>>>>>> those 
>>>>>>>>> packages.
>>>>>>>>>
>>>>>>>>> I think TextPlot is pretty capable already; please let me know if 
>>>>>>>>> you can think of anything it's missing!
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Friday, May 23, 2014 5:24:50 AM UTC-4, Ivar Nesje wrote:
>>>>>>>>>>
>>>>>>>>>> Yes, that was definitely my intention to suggest. It looks to me 
>>>>>>>>>> like ASCIIPlots.jl and DotPlot.jl solves the same problem in a very 
>>>>>>>>>> similar 
>>>>>>>>>> way, and whether to use Unicode for higher resolution seems like 
>>>>>>>>>> something 
>>>>>>>>>> I would expect to be an option.
>>>>>>>>>>
>>>>>>>>>> Anyway, the ultimate goal for ASCII art plots, would be to 
>>>>>>>>>> implement it as a backend for one of the normal plotting packages.
>>>>>>>>>>
>>>>>>>>>> Ivar
>>>>>>>>>>
>>>>>>>>>> kl. 10:06:42 UTC+2 fredag 23. mai 2014 skrev Tobias Knopp 
>>>>>>>>>> følgende:
>>>>>>>>>>>
>>>>>>>>>>> I think "merge" was meant as: Lets create one uniform package 
>>>>>>>>>>> and join the efforts. Since ASCIIPlots is not actively maintained I 
>>>>>>>>>>> think 
>>>>>>>>>>> it would be really great if you could take the lead to make an 
>>>>>>>>>>> awsome text 
>>>>>>>>>>> plotting tool.
>>>>>>>>>>>
>>>>>>>>>>> I like the name TextPlot by the way.
>>>>>>>>>>>
>>>>>>>>>>> Am Donnerstag, 22. Mai 2014 17:42:06 UTC+2 schrieb Adam Smith:
>>>>>>>>>>>>
>>>>>>>>>>>> TextPlot seems like a good name.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks for the offer on merging, but again, there's really 
>>>>>>>>>>>> nothing to merge. Adding scatterplots to dotplot will be trivial; 
>>>>>>>>>>>> I'll do 
>>>>>>>>>>>> that soon (making dotplot's features a superset of ASCIIPlots). 
>>>>>>>>>>>> There is 
>>>>>>>>>>>> nothing compatible/overlapping between these two (small) codebases 
>>>>>>>>>>>> for 
>>>>>>>>>>>> merging to make sense.
>>>>>>>>>>>>
>>>>>>>>>>>> I would be curious what John Myles White thinks about a more 
>>>>>>>>>>>> complete terminal plotting package for Julia. ASCIIPlots clearly 
>>>>>>>>>>>> imitates 
>>>>>>>>>>>> Matlab's plotting functions ("imagesc"), and I was going for 
>>>>>>>>>>>> something 
>>>>>>>>>>>> closer to Mathematica or Maple (which are more symbolic-oriented 
>>>>>>>>>>>> than 
>>>>>>>>>>>> Matlab), since I think the syntax is prettier. However, I know a 
>>>>>>>>>>>> large 
>>>>>>>>>>>> portion of Julia's users are also Matlab users, so if 
>>>>>>>>>>>> Matlab-compatibility 
>>>>>>>>>>>> is a goal, you may want to keep the packages separate.
>>>>>>>>>>>>
>>>>>>>>>>>> On Thursday, May 22, 2014 11:25:01 AM UTC-4, Leah Hanson wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Maybe something like TextPlot would be a good merged name? It 
>>>>>>>>>>>>> conveys what the package does (text plots) rather than how it 
>>>>>>>>>>>>> does it 
>>>>>>>>>>>>> (Braille characters).
>>>>>>>>>>>>>
>>>>>>>>>>>>> Having a more complete plotting package for the terminal would 
>>>>>>>>>>>>> move towards having a way to make `plot` just work when you start 
>>>>>>>>>>>>> up a 
>>>>>>>>>>>>> Julia REPL, which I think is a goal. I'd be happy to help merge 
>>>>>>>>>>>>> them, but 
>>>>>>>>>>>>> probably won't have time for a couple weeks.
>>>>>>>>>>>>>
>>>>>>>>>>>>> -- Leah
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Thu, May 22, 2014 at 7:49 AM, Adam Smith <
>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> I'm not totally opposed to it, but my initial reaction is not 
>>>>>>>>>>>>>> to:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>    1. I don't necessarily agree about the name. I personally 
>>>>>>>>>>>>>>    think "dot plot" has a nice ring to it, and it is a more 
>>>>>>>>>>>>>> accurate 
>>>>>>>>>>>>>>    description of what it does (using Braille characters). This 
>>>>>>>>>>>>>> very 
>>>>>>>>>>>>>>    specifically exploits Unicode (non-ASCII) characters, so 
>>>>>>>>>>>>>> calling it an 
>>>>>>>>>>>>>>    ASCII plot would be misleading (for those who want the 
>>>>>>>>>>>>>> restricted character 
>>>>>>>>>>>>>>    set for some reason). 
>>>>>>>>>>>>>>    2. There's not really a single line of code they have in 
>>>>>>>>>>>>>>    common, so there's nothing to "merge": it would just be a 
>>>>>>>>>>>>>> rename. I didn't 
>>>>>>>>>>>>>>    look at the code of ASCIIPlots before making it, and we chose 
>>>>>>>>>>>>>> completely 
>>>>>>>>>>>>>>    different APIs. For example, ASCIIPlots doesn't have a way to 
>>>>>>>>>>>>>> plot 
>>>>>>>>>>>>>>    functions, and DotPlot doesn't (yet) have a way to 
>>>>>>>>>>>>>> scatterplot an array. 
>>>>>>>>>>>>>>    3. They are both quite small and simple (dotplot is ~100 
>>>>>>>>>>>>>>    lines of code, ascii is ~250); merging would probably be more 
>>>>>>>>>>>>>> work than 
>>>>>>>>>>>>>>    either originally took to create.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Thursday, May 22, 2014 1:31:10 AM UTC-4, Ivar Nesje wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Would it make sense to merge this functionality into 
>>>>>>>>>>>>>>> ASCIIPlots? To me that seems like a better name, and John Myles 
>>>>>>>>>>>>>>> White is 
>>>>>>>>>>>>>>> likely to be willing to transfer the repository if you want to 
>>>>>>>>>>>>>>> be the 
>>>>>>>>>>>>>>> maintainer. That package started from code posted on the 
>>>>>>>>>>>>>>> mailing list, and 
>>>>>>>>>>>>>>> the author thought it was a joke. John packaged it for others 
>>>>>>>>>>>>>>> to use.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>
>>
>

Reply via email to