- 43
- 114 374
DJ's Office Hours
United States
เข้าร่วมเมื่อ 19 ก.ย. 2020
Hello! I am a grad student pursuing my PhD currently. (:
This channel is meant as an outlet to help me get better at teaching while also doing some academic outreach. I will be putting videos on my fields such as mathematics, computer science, and planetary science.
Right now, this channel will focus on computer science where I'll try to post weekly
Hope you'll learn something new!
This channel is meant as an outlet to help me get better at teaching while also doing some academic outreach. I will be putting videos on my fields such as mathematics, computer science, and planetary science.
Right now, this channel will focus on computer science where I'll try to post weekly
Hope you'll learn something new!
Julia: Recursive Code and Using Debugger
#julialang #packages #programming
Today I go a little bit into recursion as an example for using the Debugger.jl package. A debugger is great when print lines are not cutting it and is a tool that any expert developer would know to fix their code. Something I have seen in my coding experience is developers are sometimes apprehensive to use a debugger because of the time it takes to learn when projects get tougher, and sometimes the project suffers or the programmer is just using up tons of time using print lines to debug their code. Having some comfort with these tools can benefit your future especially if your projects get complex!
Sections
--------------
0:00 - Intro
0:40 - Simple Recursive Example
4:00 - Why use a debugger?
5:10 - Debugger.jl Documentation
6:50 - Fibonacci example
9:40 - Factorial example
Debugger.jl
------------------
github.com/JuliaDebug/Debugger.jl
Repo
--------
github.com/da-james/djs-office-hours
GM: djsofficehours@gmail.com
IG: djsofficehours
TT: www.tiktok.com/@djsofficehours
T: DJsOfficeHours
Today I go a little bit into recursion as an example for using the Debugger.jl package. A debugger is great when print lines are not cutting it and is a tool that any expert developer would know to fix their code. Something I have seen in my coding experience is developers are sometimes apprehensive to use a debugger because of the time it takes to learn when projects get tougher, and sometimes the project suffers or the programmer is just using up tons of time using print lines to debug their code. Having some comfort with these tools can benefit your future especially if your projects get complex!
Sections
--------------
0:00 - Intro
0:40 - Simple Recursive Example
4:00 - Why use a debugger?
5:10 - Debugger.jl Documentation
6:50 - Fibonacci example
9:40 - Factorial example
Debugger.jl
------------------
github.com/JuliaDebug/Debugger.jl
Repo
--------
github.com/da-james/djs-office-hours
GM: djsofficehours@gmail.com
IG: djsofficehours
TT: www.tiktok.com/@djsofficehours
T: DJsOfficeHours
มุมมอง: 1 918
วีดีโอ
Fortran: Using MPI BCAST and REDUCE
มุมมอง 1.4K3 ปีที่แล้ว
#Fortran #MPI #Programming I finish up these MPI examples this week in BCAST and REDUCE for MPI. These are other functions that allow for processes to interact with each other. There are tons more of MPI functions that exist and in the webpage I was referencing there are a couple more functions mentioned, if you're looking for something that fits your needs! Sections 0:00 - Intro 0:52 - Code Re...
Fortran: SEND and RECV Messages in MPI
มุมมอง 1.3K3 ปีที่แล้ว
#Fortran #MPI #Programming I continue the MPI discussion going into the SEND and RECV functions for parallel programming. These functions help different processes "talk" to each other so that operations can given accurately. I had an intention to go through all my examples in this video, but the example took longer than expected. The next example will be covered in the next video! Sections 0:00...
Fortran: Getting Started in Multiprocessing with MPI
มุมมอง 2.9K3 ปีที่แล้ว
#Fortran #MPI #Programming Today I go into MPI and more specifically how to set it up and run some basic calls. MPI is used a lot in high performance computing (HPC) and is a staple for parallel processing. It is also good to make sure your program is full tested and robust before you implement a paralleled version of it, because of the debugging you may go through. Moreover, good coding practi...
Julia: Making CLI Programs with ArgParse
มุมมอง 7583 ปีที่แล้ว
#julialang #packages #programming Today I'm going into CLI programs! CLIs are fun and if you don't want to go into the hassle of making a GUI, CLIs pretty much get the job done. I go into how to make a simple program and later how to call it! Sections 0:00 - Intro 1:11 - Documentation 2:32 - Setting up a CLI 4:15 - Calling a CLI 5:18 - Adding more functions to CLI 6:37 - Calling the CLI with fl...
Julia: Calling Python Programs
มุมมอง 2.8K3 ปีที่แล้ว
#julialang #python #programming Running a bit late from being out of town, but I covered using PyCall.jl. Julia is great, but sometimes we need help from other languages such as Python to fill the cracks. Python has been around for decades now and has so many packages doing so many great things. Using the speed and efficiency of Julia along with the maturity of the Python Package environment ca...
Fortran: Object Oriented Programming
มุมมอง 3.7K3 ปีที่แล้ว
#fortran #OOP #Programming Today I go into Fortran objects. A newerish design in Fortran, but OOP is a style to know because basically everyone uses it now. Lol Sections 0:00 - Intro 0:11 - Main Program 0:27 - Module Description 0:51 - Class Types, Elements, and Extending 1:35 - Class Methods 3:43 - Testing the Objects Repo github.com/da-james/djs-office-hours GM: djsofficehours@gmail.com IG: i...
Julia: Extending Unitful with Multiple Dispatch
มุมมอง 5783 ปีที่แล้ว
#julialang #packages #programming Decided to continue the discussion on Multiple Dispatch. The concept itself isn't too intensive, but I see a lot of questions online about it, so I try to touch on all the different areas it is beneficial in. Also wanted to show how to extend Unitful, because it's always nice to have your own units when doing your own work. (: Sections 0:00 - Intro 0:25 - Multi...
Julia Intermediate 7: Using Multiple Dispatch
มุมมอง 2.2K3 ปีที่แล้ว
#julialang #tutorial #programming Multiple Dispatch is a powerful concept to be aware of when designing structs. The main aspects I showed here was some examples of it used in the Julia Base library, and some cases where you can do method overloading. While there are more advance cases, the method overloading side of coding is great to use and helps when designing structs to maintain the nomenc...
Fortran: Getting Started with Fortran in Jupyter
มุมมอง 6K3 ปีที่แล้ว
#fortran #ide #programming Another tool for the Fortran world! In this case, if you're a fan of Juypter this tool allows you to run Fortran code in a cell-like environment. Do note that this is still very much in development, but it is a very cool package and can be a nice addition to your workspace! Sections 0:00 - Intro 0:30 - LFortran Description 1:19 - LFortran Documentation 1:41 - Installi...
Julia: 3D Animations with DifferentialEquations
มุมมอง 4K3 ปีที่แล้ว
#julialang #packages #programming More animations! This time 3D to touch on other elements just to show other cool things that you can add to your design. Also I use the DifferntialEquations.jl library again to show how the two can be used to make some cool animations. Enjoy! Sections 0:00 - Intro 0:32 - Describing the System 0:54 - Going into Documentation Example 2:03 - Lorenz Plots 3D Animat...
Julia: Making Animations with Macros in Plots
มุมมอง 3.7K3 ปีที่แล้ว
#julialang #packages #programming Today I go into animations! Making animations is always cool and now can give a picture to our story whether that story is some physics or big data. I first describe how to make an animation with a scatter call, but then go into how to use a Plotting macro to make more animations. Also if you're a fluids person, do check out DIYnamcis! They're a cool group and ...
Fortran: Getting Started with the Fortran Package Manager
มุมมอง 3.5K3 ปีที่แล้ว
#fortran #fpm #programming Today I'm going into the Fortran Package Manager! One of the coolest packages I have ever covered, and enjoyed learning about. I go into some of the installation and cover some examples of how to use it. The project is very new, so be aware of bugs, but it is very cool. Sections 0:00 - Intro 0:38 - Conda Process 1:39 - FPM Installation 2:28 - Building, Running, and Te...
Julia: Implementing Units with Unitful
มุมมอง 1.2K3 ปีที่แล้ว
#julialang #packages #programming Today we go into Unitful! One question I always get a couple times a quarter is "did you check your units?", and while now I'm better about that now, it is something that can save you in finding mistakes. Unitful is a project that allows unit implementation into your code, and it'll track the unit math and serve as anther check for your code. It's really great ...
Julia: Calling Fortran Code with Julia
มุมมอง 2.1K3 ปีที่แล้ว
#julialang #tutorial #programming Now coming back to Julia, I build off of the Fortran video I did, and look at interfacing it with Julia. The documentation Julia maintains has a lot of examples for C Code, but not so much for Fortran, and I work with Fortran a lot more than C. I thought I would cover some examples and cover some of the jargon that is in the ccall to call your own Fortran code....
Fortran 2: Extra Keywords and Making a Makefile
มุมมอง 3.8K3 ปีที่แล้ว
Fortran 2: Extra Keywords and Making a Makefile
Fortran 1: Crash Course on Modern Fortran
มุมมอง 19K3 ปีที่แล้ว
Fortran 1: Crash Course on Modern Fortran
Julia: Matrix Operations and Solving Systems of Equations with LinearAlgebra
มุมมอง 2.8K3 ปีที่แล้ว
Julia: Matrix Operations and Solving Systems of Equations with LinearAlgebra
Julia: Using Polynomials for finding Roots and Extrema
มุมมอง 7463 ปีที่แล้ว
Julia: Using Polynomials for finding Roots and Extrema
Julia: Solving ODEs with Euler, RK4, and DifferentialEquations
มุมมอง 5K3 ปีที่แล้ว
Julia: Solving ODEs with Euler, RK4, and DifferentialEquations
Julia: Numerical Integration with Simpson's Method and QuadGK
มุมมอง 1.4K3 ปีที่แล้ว
Julia: Numerical Integration with Simpson's Method and QuadGK
Julia: Polynomial and Nonlinear Fitting
มุมมอง 3.5K3 ปีที่แล้ว
Julia: Polynomial and Nonlinear Fitting
Julia: Plot Attributes, Log Plots, and Subplots
มุมมอง 1.2K3 ปีที่แล้ว
Julia: Plot Attributes, Log Plots, and Subplots
Julia Intermediate 5: Constructors for Structs
มุมมอง 3.8K4 ปีที่แล้ว
Julia Intermediate 5: Constructors for Structs
Excellent video series, which color theme do you use fot vs code?
I'm wondering what the largest size integers Fortran can handle and the highest precision available for reals. I noticed you used 64 bits for integers and reals but said you could use 128. Is that the largest size available, and if so what is the largest range of integers available? (I suspect it would be from -2^127 to 2^127 - 1). And what is the highest precision available for reals? When you used 64 bits there were 17 significant figures so would that double with 128 bits? Also what is the largest exponent available?
Amazing video! Integrating Fortran with Julia would be great as well!
Font needs to be bigger. I can't really read this as shown.
Awsome Explaination. Thanks man.,
...aaand "next week" never came :/
Those tutos are great and they would be better if you zoomed in more for us to see the written example. Thanks
Hello! Thank you for the video. What IDE are you using?
Thanks! "env = Conda.PYTHONDIR" solved it for me
Thank you for a great video on MPI with Fortran! It would be interesting if you could compare what you have shown in this and the previous videos on MPI, with using Fortran's own Co-array features (which I think covers much of the same use as MPI).
You have probably figured out TYPE vs CLASS when declearing dummy aeguments (equiv to function parameters in C) by now (2yrs later), but for anyone wondering: CLASS(type-name) is polymorphic and will allow an actual argument of the declared type (ie. "type-name") or one that extends that type, whereas TYPE(type-name) allows only arguments of that declared type. CLASS also allows abstract types.
This is the first good example I've seen of how to use and write inner constructors. Most examples to try to put the inner constructor on one line of code, which, coming from Python and C, is hard for my head to grasp (or use foo and bar, which is as concrete an example as ether).
Appreciate the video my guy! It's been a huge help with my numerical methods course.
I think you missed including this one in the basic playlist.
Thank you so much!!
I'm completely lost. At just 1:13 into the show, the presenter is setting up PI as integer type and defining it to have the value of 3.14. What??? 3.14bis not an integer. It equals 3 plus seven-fitieths more, being a rational number and definitely not an integer. What's going to happen? Firtran will make PI equal 3 or it will change the type to float? I don't know, but 3.14 is NOT an integer. Pass on this film. Next.
Hey, I have been trying to dive into fortran programming for a while now and you are the only one that actually made a good and understandable tutorial. Honestly, coming from python i found such a difficulty barrier and you just made it all click together, thank you !
Me salvaste!! Muchas gracias!!
Hi, how did you managed to have the plot to appear in a new window ? When I plot the graph appears in the plot pane of VScode and I would like to have the plot in a separate window... Thanks
i cannot see what you typed, cant you please make things larger? thanks.
@DJ Is there a way to code GUI in Fortran where you can create objects like textbox, buttons etc. Please help
Hi there, where is the next session?? how to make it connect with GPU
I didn't know how to use this type of units on Julia, thanks for showing how it works.
The font is too small
Can you do a speed test against Python for HTTP calls?
Thanks a lot for this video
Is Modern Fortran a name or a description?
I guess it refers to the Fortran 2018 standard
standart 1990
post requests?
Wow! Thanks man you made it easy to understand and learn it!
Thank you
Thanks for the video! Please explain do we need MPI_Barrier before MPI_Bcast?
Are booleans defined as true without explicit definition
So do all variables have to be in the global scope?
Come on bro. I thought you will explain in a better way. You can do much better..
I have the same issues with the Julia docs. I love that they’re easily accessible in the REPL though.
Hi. By watching your videos I think you would love emacs. Specifically doom emacs, since it comes set up with vim bindings by default. It has great support for julia, either using it in a repl or notebooks, or a combination of script + repl. For instance you can type something in your script, then hit 'C-c C-c' to send that line/section to the repl for evaluation, rather than saving, switching to the shell, etc etc. Great videos by the way, I hope you make more soon.
I was just wondering whether to start studying Fortran or Julia. Which one would you start with? Greetings from Mexico :)
Thank you sir!
More fortran codes, if it would be possible to go deeper in OOP
Any way to make the fonts bigger?
you are my hero
I don't understand why the `using` and `import` statements are required in the main file (04-modules.jl in your example). When I try this on my computer, I realize that I can just include the module files (04a-PrismMod.jl and 04b-CircleMod.jl) with the `include` statement, this is sufficient. In other words, I can remove line 4 and 5 in the file 04-modules.jl and it works fine.
It seems that include() just copies the file so using/import doesn't do anything useful
After watching this and seeing how Fortran handles things, I suddenly understand why I see things done in certain ways in c++ like void functions that take parameters by reference to store their output to instead of just returning a value. Mind == blown
Hi man, you call this advanced? Why using a loop instead of array operations?
Even though i had jupyter noteook installed i still had to run conda install jupyter -c conda-forge.
I like it :D
I learned a lot!
Great Introduction man ! thanks a lot
Make pi as PI=4.d0*DATAN(1.0d0)
I just wanted to say that these series of videos are great. Thanks for your work!