I've been writing papers that have scientific results powered by Julia, and 
I want every part of the paper to be reproducible if necessary. So I'm 
finding myself writing a lot of Jupyter notebooks to tinker around with 
things, make or read data files, make and save plots (as svg, png and pdf), 
and then writing a simple .jl file that uses NBInclude.jl to execute any 
relevant notebooks. Then I'll write a short Makefile which calls that jl 
file to generate the figures as part of my make process. The combination of 
jupyter and NBinclude is proving to be really nice. Anything reusable will 
get made into a module. 

On Sunday, 15 May 2016 02:42:39 UTC+1, Cedric St-Jean wrote:
>
> Jupyter has completely changed my workflow in Python and Julia. I've got 
> my notebooks numbered 01_Planning_Invasion, 02_Moving_the_Troops, etc. I 
> write most of my code inside the notebook interactively, then if it's good 
> enough, it gets promoted to a .jl file. It takes about a week to complete a 
> notebook. Once it's done, I make a test out of the final calculation, and 
> move on to the next problem.
>
> Emacs+ESS is OK, but it doesn't integrate well with the notebook workflow.
>
> Autoreload.jl is really good once you know how to use it, though 
> unfortunately there's a number of gotchas to get there.
>
> For debugging code, I typically rely on good ole `println` or `@show`, 
>> plus building things up incrementally (validating things as you build up). 
>> I recently gave Gallium.jl a spin; for context, I've never coded in a 
>> language with a "real debugger", so I'm not sure I'm the ideal candidate 
>> here, but I found it somewhat difficult to navigate the right granularity 
>> of stepping through code (should I go to the next line? next call? step 
>> into it?). I'm 100% positive this is due to me needing to spend more time 
>> with it and better learn "debugging" practices; note it's currently being 
>> developed on master, so 0.5/nightlies.
>
>
> I don't find stepping to be very useful either, but the ability to go up 
> and down the stack to inspect variables and objects is significantly better 
> than using print statements. Is that in Gallium?
>
> On Saturday, May 14, 2016 at 3:57:14 AM UTC-4, Liye zhang wrote:
>>
>> (1) I use Debug.jl to debug the code, and it works.
>> https://github.com/toivoh/Debug.jl  
>>
>> (2) I use JuliaDT for code editor, which is similar to PyDev. The current 
>> version is 0.2. The future version would be a very good julia IDE. I 
>> currently use it for my daily work.
>> https://github.com/JuliaComputing/JuliaDT
>>
>> (3) The packages depend on your research field.  For me, I mainly using 
>> packages such as JUMP, LightGraphs.jl, DataFrams and Gadfly.
>>
>> On Friday, May 13, 2016 at 1:01:04 AM UTC+8, David Parks wrote:
>>>
>>> I'm a few weeks into Julia and excited and motivated to learn and be as 
>>> efficient as possible. I'm sure I'm not alone. I know my way around now, 
>>> but am I as efficient as I can be? 
>>>
>>> What haven't I tried? What haven't I seen? What haven't I asked?
>>>
>>> For those of you who have been around longer, could you share your 
>>> advice on efficient day-to-day development style?
>>>
>>> For example:
>>>
>>>    - What IDE do you use? Are you using Atom? A combination of Atom and 
>>>    the REPL? Something else?
>>>    - How do you debug complex code efficiently? How do you debug other 
>>>    peoples code efficiently?
>>>    - Do you have a favorite way of visualizing your work?
>>>    - Are there must have tools? packages? utilities?
>>>    - Any simple day-to-day efficiency/advice you could share with 
>>>    others who didn't yet know to ask.
>>>
>>>
>>>

Reply via email to