JulIDE - an IDE for the Julia programming language
Hi all!
I'd like to share julIDE — a
modern IDE for Julia built with
Tauri, React, and Rust.
Features:
\- Monaco editor with LSP based on LanguageServer.jl
\- an integrated debugger
\- Revise.jl integration
\- Pluto.jl support
\- Git integration
It's in beta, so bugs expected,
but feedback is very welcome!
GitHub: https://github.com/sinisterMage/JulIde
https://redd.it/1s1b0ev
@r_Julia
Hi all!
I'd like to share julIDE — a
modern IDE for Julia built with
Tauri, React, and Rust.
Features:
\- Monaco editor with LSP based on LanguageServer.jl
\- an integrated debugger
\- Revise.jl integration
\- Pluto.jl support
\- Git integration
It's in beta, so bugs expected,
but feedback is very welcome!
GitHub: https://github.com/sinisterMage/JulIde
https://redd.it/1s1b0ev
@r_Julia
GitHub
GitHub - sinisterMage/JulIde: an IDE for the Julia programming language
an IDE for the Julia programming language. Contribute to sinisterMage/JulIde development by creating an account on GitHub.
Neovim as a main editor
Greetings, I have been working with Julia for a while and it is been a lot of fun. Even though I mostly used it through, once in a while I need to work with neovim,as my preferred editor, and it has not been great. Has anybody ever successfully setup a ide for Julia, I only need proper lsp for formatting and suggestion. Languageservers.jl seems to be a little slow and inconsistent. Also I need to mention that I normally use nix flakes to set up my environment, not sure it is affecting its performance.
https://redd.it/1s6pa2n
@r_Julia
Greetings, I have been working with Julia for a while and it is been a lot of fun. Even though I mostly used it through, once in a while I need to work with neovim,as my preferred editor, and it has not been great. Has anybody ever successfully setup a ide for Julia, I only need proper lsp for formatting and suggestion. Languageservers.jl seems to be a little slow and inconsistent. Also I need to mention that I normally use nix flakes to set up my environment, not sure it is affecting its performance.
https://redd.it/1s6pa2n
@r_Julia
Reddit
From the Julia community on Reddit
Explore this post and more from the Julia community
Calculations in Julia in my wikibook
Hi, I'm having fun posting calculations in Julia in my wikibook: https://en.wikibooks.org/wiki/Scientific_Calculations_with_Julia . What other calculations could I post?
https://redd.it/1s6qar3
@r_Julia
Hi, I'm having fun posting calculations in Julia in my wikibook: https://en.wikibooks.org/wiki/Scientific_Calculations_with_Julia . What other calculations could I post?
https://redd.it/1s6qar3
@r_Julia
en.wikibooks.org
Scientific Calculations with Julia
Julia is an open-source programming language for numerical calculations and scientific applications, published since 2012 and released under the MIT License. It can be an excellent alternative to Matlab, which has a commercial license.
Julia demo to estimate throughput and power of compute engines on Apple Silicon (CPU, GPU and AMX)
I put together a small Julia demo to run the same matrix multiplication across different compute engines on Apple Silicon:
* CPU (LinearAlgebra)
* GPU (Metal.jl)
* AMX (AppleAccelerate)
What’s nice is that the code barely changes — it’s mostly the array type / backend that determines where it runs.
using LinearAlgebra, BenchmarkTools, Metal
N = 16384
A = rand(Float32, N, N); B = rand(Float32, N, N); C = similar(A)
# GPU
a = MtlArray(A); b = MtlArray(B); c = MtlArray(C)
@benchmark mul!($c, $a, $b)
Then:
# CPU
@benchmark mul!($C, $A, $B)
# AMX
using AppleAccelerate
@benchmark mul!($C, $A, $B)
I also looked at power behavior using mactop + a wall meter — which led to some interesting observations about how efficient the different compute engines are.
Full walkthrough here: [https://youtu.be/HX1B0tlODvY?si=7fZ8HzBG7Ya5LrqS](https://youtu.be/HX1B0tlODvY?si=7fZ8HzBG7Ya5LrqS)
Curious if others have experimented with Metal.jl performance vs CPU/AMX
On my Mac Studio M4 Max (40 GPU cores):
**GPU workload:**
\~183W System DC power (177W delta idle)
\~13 TFLOPS compute throughput
**CPU workload:**
\~122W System DC power.
\~1.3 TFLOPS compute throughput
**AMX workload:**
\~ 39W System DC power
\~ 3.9 TFLOPS compute throughput
https://redd.it/1s6wo6p
@r_Julia
I put together a small Julia demo to run the same matrix multiplication across different compute engines on Apple Silicon:
* CPU (LinearAlgebra)
* GPU (Metal.jl)
* AMX (AppleAccelerate)
What’s nice is that the code barely changes — it’s mostly the array type / backend that determines where it runs.
using LinearAlgebra, BenchmarkTools, Metal
N = 16384
A = rand(Float32, N, N); B = rand(Float32, N, N); C = similar(A)
# GPU
a = MtlArray(A); b = MtlArray(B); c = MtlArray(C)
@benchmark mul!($c, $a, $b)
Then:
# CPU
@benchmark mul!($C, $A, $B)
# AMX
using AppleAccelerate
@benchmark mul!($C, $A, $B)
I also looked at power behavior using mactop + a wall meter — which led to some interesting observations about how efficient the different compute engines are.
Full walkthrough here: [https://youtu.be/HX1B0tlODvY?si=7fZ8HzBG7Ya5LrqS](https://youtu.be/HX1B0tlODvY?si=7fZ8HzBG7Ya5LrqS)
Curious if others have experimented with Metal.jl performance vs CPU/AMX
On my Mac Studio M4 Max (40 GPU cores):
**GPU workload:**
\~183W System DC power (177W delta idle)
\~13 TFLOPS compute throughput
**CPU workload:**
\~122W System DC power.
\~1.3 TFLOPS compute throughput
**AMX workload:**
\~ 39W System DC power
\~ 3.9 TFLOPS compute throughput
https://redd.it/1s6wo6p
@r_Julia
YouTube
The 180W vs 70W Problem in Apple's GPU (Reproducible)
0:00 Introduction
1:32 GPU demo
8:27 CPU demo
11:14 AMX demo
13:07 Conclusion
In this video, I walk you through a fully reproducible experiment on Apple Silicon. We run the same matrix multiplication workload across the CPU, GPU, and AMX engines, and measure…
1:32 GPU demo
8:27 CPU demo
11:14 AMX demo
13:07 Conclusion
In this video, I walk you through a fully reproducible experiment on Apple Silicon. We run the same matrix multiplication workload across the CPU, GPU, and AMX engines, and measure…
KeemenaPreprocessing.jl v0.1.2 (now with subword tokenization)
I just released
`https://github.com/mantzaris/KeemenaPreprocessing.jl`
It is a Julia package for NLP preprocessing and corpus preparation, and now it has first-party subword support through
What it can do now:
\- standard text preprocessing and corpus preparation
\- word-level and generic tokenization workflows
\- first-party subword tokenization from the same package entry point
\- tokenizer-native subword ids or bundle-reindexed subword vocabularies
\- streaming preprocessing for larger corpora
\- access to subword offsets, masks, token type ids, and metadata
\- subword preprocessing is not limited to tiny in-memory examples, so it fits better into real corpus preparation workflows via streaming
That means it can now serve as a more complete Julia NLP preprocessing pipeline for modern model workflows.
High-level use cases:
\- preparing text corpora for LLM training
\- subword tokenization from the same package entry point
\- streaming preprocessing for larger datasets
\- preserving tokenizer-native ids or rebuilding a corpus vocabulary
\- exposing offsets, masks, and tokenizer metadata
\- still allowing explicit low-level control through `KeemenaSubwords.jl`
https://redd.it/1sityji
@r_Julia
I just released
KeemenaPreprocessing.jl v0.1.2.`https://github.com/mantzaris/KeemenaPreprocessing.jl`
It is a Julia package for NLP preprocessing and corpus preparation, and now it has first-party subword support through
KeemenaSubwords.jl.What it can do now:
\- standard text preprocessing and corpus preparation
\- word-level and generic tokenization workflows
\- first-party subword tokenization from the same package entry point
\- tokenizer-native subword ids or bundle-reindexed subword vocabularies
\- streaming preprocessing for larger corpora
\- access to subword offsets, masks, token type ids, and metadata
\- subword preprocessing is not limited to tiny in-memory examples, so it fits better into real corpus preparation workflows via streaming
That means it can now serve as a more complete Julia NLP preprocessing pipeline for modern model workflows.
High-level use cases:
\- preparing text corpora for LLM training
\- subword tokenization from the same package entry point
\- streaming preprocessing for larger datasets
\- preserving tokenizer-native ids or rebuilding a corpus vocabulary
\- exposing offsets, masks, and tokenizer metadata
\- still allowing explicit low-level control through `KeemenaSubwords.jl`
https://redd.it/1sityji
@r_Julia
GitHub
GitHub - mantzaris/KeemenaPreprocessing.jl: Preprocessing for text data: cleaning, normalization, vectorization, tokenization and…
Preprocessing for text data: cleaning, normalization, vectorization, tokenization and more - mantzaris/KeemenaPreprocessing.jl
Want to learn julia for free
I want to learn julia for free. I like reading text not watching video. I would prefer exercise which test my knowledge and force me to write code. Please recommend me a source for it.
https://redd.it/1sjmo1t
@r_Julia
I want to learn julia for free. I like reading text not watching video. I would prefer exercise which test my knowledge and force me to write code. Please recommend me a source for it.
https://redd.it/1sjmo1t
@r_Julia
Reddit
From the Julia community on Reddit
Explore this post and more from the Julia community
Julia, VS Code, and notebook environment recommendations?
Hi, I am coming from using Python + Jupyter Notebook on VS Code.
I've tried Pluto but I did not like that I had to put up a separate localhost browser to run it.
Anyone using Jupyter on VS Code as if you write in Python on Jupyter notebook kernel within VS Code?
If possible, are there any limitations I should be aware of? compared to using Pluto?
I guess I am also open to switching the editor if there is one supporting both Jupyter and Pluto in house.
Thank you!
https://redd.it/1sltbli
@r_Julia
Hi, I am coming from using Python + Jupyter Notebook on VS Code.
I've tried Pluto but I did not like that I had to put up a separate localhost browser to run it.
Anyone using Jupyter on VS Code as if you write in Python on Jupyter notebook kernel within VS Code?
If possible, are there any limitations I should be aware of? compared to using Pluto?
I guess I am also open to switching the editor if there is one supporting both Jupyter and Pluto in house.
Thank you!
https://redd.it/1sltbli
@r_Julia
Reddit
From the Julia community on Reddit
Explore this post and more from the Julia community
Making a spaceship fluid flow simulation game with Julia called RocketPlumber
https://redd.it/1spdnlz
@r_Julia
https://redd.it/1spdnlz
@r_Julia
Reddit
From the Julia community on Reddit: Making a spaceship fluid flow simulation game with Julia called RocketPlumber
Explore this post and more from the Julia community
Size of IOBuffer in characters
Hi all,
I have an IOBuffer with some data, and by construction such data are store as a Vector{UInt8}. Now I would like to infer the length of the data in characters. I know that if all the caracters are ASCIII, I can just take
Is there some trick I could use achieve my goal?
https://redd.it/1ssg1eq
@r_Julia
Hi all,
I have an IOBuffer with some data, and by construction such data are store as a Vector{UInt8}. Now I would like to infer the length of the data in characters. I know that if all the caracters are ASCIII, I can just take
buffer.size and that is the total number of character in my buffer. However, when I have UTF-16 character or some other format, I would be overestimating the actual number of characters. I could convert the data into a String and then take its length, but I would be allocating memory, and if possible I would like to avoid it. Is there some trick I could use achieve my goal?
https://redd.it/1ssg1eq
@r_Julia
Reddit
From the Julia community on Reddit
Explore this post and more from the Julia community
[Learning Julia] Short code review for best practice and idiomatic Julia
I'm starting to learn Julia coming from a background in R and a small amount of C++. Is anybody willing to do a short code review so I make sure I'm on the right track with best practice and idiomatic Julia code?
I wrote a [very short module](https://github.com/lawlerem/learning_julia/blob/main/Interval.jl) defining intervals and basic operations such as intersections, unions, and set differences. I don't need a review of actual function logic, just style. One specific thing that I know could be done better is how I'm dealing with EmptyIntervals. My goal is to learn Julia so if any of questions are asking the wrong thing please let me know!
* Is a call to Interval() that returns an EmptyInterval instead of an Interval ok?
* In the definition of e.g. Base.intersect(I::AbstractInterval...) I check if any of the inputs are an EmptyInterval, and if so I return early. I feel like the more idiomatic way to do this is dispatching a different method if there is an EmptyInterval. Is this possible? I have a feeling traits could do this but would be overkill.
* Union, and setdiff are all somewhat type-unstable because they return Vector{Union{Interval, EmptyInterval}}. It seems like having the Union type here is unavoidable due to the nature of the problem. Is this an acceptable place to not have strict type-stability?
I have mostly avoided looking at the pre-existing Intervals.jl because I wanted to struggle through it myself. I did look at how they define empty intervals where they check if the right endpoint is less than the left endpoint. I don't want to use this solution because in my mind empty intervals don't have left or right endpoints. Thanks for your time!
https://redd.it/1stnycb
@r_Julia
I'm starting to learn Julia coming from a background in R and a small amount of C++. Is anybody willing to do a short code review so I make sure I'm on the right track with best practice and idiomatic Julia code?
I wrote a [very short module](https://github.com/lawlerem/learning_julia/blob/main/Interval.jl) defining intervals and basic operations such as intersections, unions, and set differences. I don't need a review of actual function logic, just style. One specific thing that I know could be done better is how I'm dealing with EmptyIntervals. My goal is to learn Julia so if any of questions are asking the wrong thing please let me know!
* Is a call to Interval() that returns an EmptyInterval instead of an Interval ok?
* In the definition of e.g. Base.intersect(I::AbstractInterval...) I check if any of the inputs are an EmptyInterval, and if so I return early. I feel like the more idiomatic way to do this is dispatching a different method if there is an EmptyInterval. Is this possible? I have a feeling traits could do this but would be overkill.
* Union, and setdiff are all somewhat type-unstable because they return Vector{Union{Interval, EmptyInterval}}. It seems like having the Union type here is unavoidable due to the nature of the problem. Is this an acceptable place to not have strict type-stability?
I have mostly avoided looking at the pre-existing Intervals.jl because I wanted to struggle through it myself. I did look at how they define empty intervals where they check if the right endpoint is less than the left endpoint. I don't want to use this solution because in my mind empty intervals don't have left or right endpoints. Thanks for your time!
https://redd.it/1stnycb
@r_Julia
GitHub
learning_julia/Interval.jl at main · lawlerem/learning_julia
Contribute to lawlerem/learning_julia development by creating an account on GitHub.
Frankenstein.jl (help)
https://github.com/Jelterminator/Frankenstein.jl
https://redd.it/1su9q2e
@r_Julia
https://github.com/Jelterminator/Frankenstein.jl
https://redd.it/1su9q2e
@r_Julia
GitHub
GitHub - Jelterminator/Frankenstein.jl: The monster that eats your ODEs, Frankenstein.jl is a one-size-fits-all metasolver for…
The monster that eats your ODEs, Frankenstein.jl is a one-size-fits-all metasolver for Julia integration problems. - Jelterminator/Frankenstein.jl
Need some help regarding variable scopes
M = construct(A,b,c,z0); # Construct the Tableau
feasiblesolutions = zeros(1,size(M,2)-2)
counter = 0;
pivotlocation = 1 size(M,2)-(size(A,1)+1) # initial pivot location, col1 is the row, col2 is the column. NEED IMPROVEMENTS
2 size(M,2)-(size(A,1))
while sum(choose(M)) != 0 # Since choose(M) is setup so that it outputs (0,0) when no more viable entering variables are present
for i = 1:size(A,1) # updates pivotlocation each iteration
if choose(M)[1] == pivotlocationi,1
global pivotlocation[i,2] = choose(M)[2]
end
end
global M = pivot(M, choose(M)) # this condition repeats the pivot operations until there are no more valid pivots
for i = 1:size(A,1)
local feasiblesolutions1,pivot_location[i,2] = Mpivot_location[i,1,end] # updating feasible solutions
end
global counter = counter + 1;
println(pivotlocation);
println(counter, " ", feasiblesolutions);
end
I wrote some code like so (it's terrible), and I would like the vector feasible_solutions to "reset" after every iteration of the while loop, as in it would return to the global assignment of a zero vector before the loop. I think it has something to do with variable scopes but I can't wrap my head around it after reading some documentation.
https://redd.it/1sx9ubr
@r_Julia
M = construct(A,b,c,z0); # Construct the Tableau
feasiblesolutions = zeros(1,size(M,2)-2)
counter = 0;
pivotlocation = 1 size(M,2)-(size(A,1)+1) # initial pivot location, col1 is the row, col2 is the column. NEED IMPROVEMENTS
2 size(M,2)-(size(A,1))
while sum(choose(M)) != 0 # Since choose(M) is setup so that it outputs (0,0) when no more viable entering variables are present
for i = 1:size(A,1) # updates pivotlocation each iteration
if choose(M)[1] == pivotlocationi,1
global pivotlocation[i,2] = choose(M)[2]
end
end
global M = pivot(M, choose(M)) # this condition repeats the pivot operations until there are no more valid pivots
for i = 1:size(A,1)
local feasiblesolutions1,pivot_location[i,2] = Mpivot_location[i,1,end] # updating feasible solutions
end
global counter = counter + 1;
println(pivotlocation);
println(counter, " ", feasiblesolutions);
end
I wrote some code like so (it's terrible), and I would like the vector feasible_solutions to "reset" after every iteration of the while loop, as in it would return to the global assignment of a zero vector before the loop. I think it has something to do with variable scopes but I can't wrap my head around it after reading some documentation.
https://redd.it/1sx9ubr
@r_Julia
Reddit
From the Julia community on Reddit
Explore this post and more from the Julia community
Color code change in VSCodium with Julia extension after update?
VSCodium just updated to version 1.116.02821 on my PC, and I noticed the color code of text displayed in *.jl files is different (and more difficult to read for me) as soon as it loaded and showed the notification. Running Julia code seems to work, but I haven’t tested extensively yet. Julia is the only language I use in VSCodium, so unfortunately I’m not sure if this issue is actually specific to Julia or not.
Did the update break something about the Julia language extension? Did they just change the color code? Does anyone else have this issue?
https://redd.it/1sxmz6a
@r_Julia
VSCodium just updated to version 1.116.02821 on my PC, and I noticed the color code of text displayed in *.jl files is different (and more difficult to read for me) as soon as it loaded and showed the notification. Running Julia code seems to work, but I haven’t tested extensively yet. Julia is the only language I use in VSCodium, so unfortunately I’m not sure if this issue is actually specific to Julia or not.
Did the update break something about the Julia language extension? Did they just change the color code? Does anyone else have this issue?
https://redd.it/1sxmz6a
@r_Julia
Reddit
From the Julia community on Reddit
Explore this post and more from the Julia community
Sublime for Julia?
Hey, I just started learning julia and already know python. I have always preferred Sublime over VScode. Kindly give you guys' recommendations? Thanks
https://redd.it/1t3jjpu
@r_Julia
Hey, I just started learning julia and already know python. I have always preferred Sublime over VScode. Kindly give you guys' recommendations? Thanks
https://redd.it/1t3jjpu
@r_Julia
Reddit
From the Julia community on Reddit
Explore this post and more from the Julia community
Gym.jl - Gymnasium RL Environments in Julia
Hello everyone!
I've re-implemented some of the Gymnasium RL environments in Julia. As you might expect, they're much faster than the original ones!
https://i.redd.it/80um01qa1bzg1.gif
If you want to take a look at the code, here's the GitHub repository: https://github.com/scascino4/Gym.jl
I hope you'll find them useful!
https://redd.it/1t4cqks
@r_Julia
Hello everyone!
I've re-implemented some of the Gymnasium RL environments in Julia. As you might expect, they're much faster than the original ones!
https://i.redd.it/80um01qa1bzg1.gif
If you want to take a look at the code, here's the GitHub repository: https://github.com/scascino4/Gym.jl
I hope you'll find them useful!
https://redd.it/1t4cqks
@r_Julia
JuliaHub Raises $65M Series B and Launches Dyad 3.0, Bringing Agentic AI to Industrial Digital Twins - Blog - JuliaHub
https://juliahub.com/blog/juliahub-raises-65m-series-b-launches-dyad-3.0
https://redd.it/1taqmx1
@r_Julia
https://juliahub.com/blog/juliahub-raises-65m-series-b-launches-dyad-3.0
https://redd.it/1taqmx1
@r_Julia
Juliahub
JuliaHub Raises $65M Series B and Launches Dyad 3.0, Bringing Agentic AI to Industrial Digital Twins - Blog - JuliaHub
JuliaHub announces a $65M Series B funding round, led by Dorilton Capital with participation from General Catalyst, AE Ventures, and Bob Muglia, alongside the launch of Dyad 3.0, an agentic AI platform for engineering.
Learning Julia and the chapter about scoping in the docsgave me pause
What happened there ? Everything before was elegant enough. But complexity in how scoping is presented feels leaky and inelegant. I don't know, still wrapping my mind around it. Compared to how closure is effortless in Scheme in comparison this feels like too much cognitive load, and worse is I don't see the point for it yet. Is it for performance reasons ?
https://redd.it/1tbizp6
@r_Julia
What happened there ? Everything before was elegant enough. But complexity in how scoping is presented feels leaky and inelegant. I don't know, still wrapping my mind around it. Compared to how closure is effortless in Scheme in comparison this feels like too much cognitive load, and worse is I don't see the point for it yet. Is it for performance reasons ?
https://redd.it/1tbizp6
@r_Julia
Reddit
From the Julia community on Reddit
Explore this post and more from the Julia community
Build a Full-Featured Text Editor From Scratch — Architecture, Design Patterns & Complete Checklist
https://0xkiire.com/build-text-editor-from-scratch/
https://redd.it/1tbt7g6
@r_Julia
https://0xkiire.com/build-text-editor-from-scratch/
https://redd.it/1tbt7g6
@r_Julia
0xKiire
Build a Full-Featured Text Editor From Scratch | 0xKiire
Language-agnostic & pattern-driven. Every step describes what to build, why it is designed that way, and *which* Gang of Four (GoF) design pattern governs it...