Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 9 additions & 11 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,25 +9,23 @@ jobs:
strategy:
fail-fast: false
matrix:
version:
- '1.6'
- '1.10'
julia-version:
- "1.10"
- "1"
os:
- ubuntu-latest
- macOS-latest
arch:
- x64
- macos-latest
- windows-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v1
- uses: actions/checkout@v7
- uses: julia-actions/setup-julia@v3
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
version: ${{ matrix.julia-version }}
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
env:
JULIA_NUM_THREADS: 2
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v1
- uses: codecov/codecov-action@v7
with:
file: lcov.info
2 changes: 0 additions & 2 deletions .vscode/settings.json

This file was deleted.

12 changes: 6 additions & 6 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "JuliaCon"
uuid = "bfca5e61-7ca9-4d61-a82b-6df663fb0d3c"
authors = ["Carsten Bauer <crstnbr@gmail.com> and contributors"]
version = "2025.0.0"
version = "2026.0.0"

[deps]
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
Expand All @@ -18,14 +18,14 @@ TimeZones = "f269a46b-ccf7-5d73-abea-4c690281aa53"
TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f"

[compat]
DataFrames = "1.0"
JSON = "0.21"
DataFrames = "1"
JSON = "1.7"
PrecompileTools = "1"
Preferences = "1.2"
Preferences = "1.5"
PrettyTables = "2"
TimeZones = "1.5"
TimeZones = "1.22.2"
TimerOutputs = "0.5"
julia = "1.6"
julia = "1.10"

[extras]
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
Expand Down
35 changes: 15 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,27 @@
[![Code Style: Blue](https://img.shields.io/badge/code%20style-blue-4495d1.svg)](https://github.com/invenia/BlueStyle)


Access the JuliaCon schedule from your terminal.

## Live schedule

```julia
JuliaCon.now()
```
<img alt="JuliaCon.now()" src="screenshots/screenshot-now.png">

```julia
JuliaCon.today()
```

<img width="1145" alt="Screenshot 2021-06-02 at 02 04 16" src="https://user-images.githubusercontent.com/187980/120404636-15287780-c347-11eb-9111-ff1677d5c15c.png">
<img alt="JuliaCon.today()" src="screenshots/screenshot-today.png ">


```julia
JuliaCon.today() # there also is JuliaCon.tomorrow() :)
JuliaCon.tomorrow()
```

<img width="1904" alt="Screenshot 2021-06-02 at 02 04 33" src="https://user-images.githubusercontent.com/187980/120404647-19549500-c347-11eb-8152-cbf432cb8292.png">
<img alt="JuliaCon.tomorrow()" src="screenshots/screenshot-tomorrow.png">

### Terminal links

Expand Down Expand Up @@ -52,28 +59,16 @@ There are three cache modes: `:DEFAULT`, `:NEVER`, `:ALWAYS`. You can switch bet
## Search for talks by speaker

```julia
JuliaCon.talksby("Carsten Bauer")
JuliaCon.talksby("Jeff")
```

![image](https://github.com/JuliaCon/JuliaCon.jl/assets/187980/e58c0281-ef1c-4ccd-93c3-8ce86e095622)
<img alt="JuliaCon.talksby()" src="screenshots/screenshot-talksby.png">


## Search for talks by title/abstract
```julia
JuliaCon.talksabout("Optics")
JuliaCon.talksabout("Graphics")
```

## T-Shirt code

This package makes the code on the JuliaCon 2021/2022/2023/2024 [T-shirts](#t-shirt) work! Of course, you should [buy one here](https://www.bonfire.com/juliacon-repl/)!

To make the `@everywhere` do something you need to start Julia with multiple worker processes: `julia -p 4`.

<!-- <img width="588" alt="Screenshot 2021-05-31 at 22 28 07" src="https://user-images.githubusercontent.com/187980/120239846-7c6afc80-c25f-11eb-892b-dd52be136f36.png"> -->

```julia
using JuliaCon, Distributed

@everywhere juliacon2023()
```
<img alt="JuliaCon.talksabout()" src="screenshots/screenshot-talksabout.png">

<img width="1145" alt="Screenshot 2021-06-02 at 02 05 12" src="https://user-images.githubusercontent.com/187980/120404611-04780180-c347-11eb-860e-88eed268d1a0.png">
Binary file added screenshots/screenshot-now.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added screenshots/screenshot-talksabout.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added screenshots/screenshot-talksby.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added screenshots/screenshot-today.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added screenshots/screenshot-tomorrow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/JuliaCon.jl
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,6 @@ end
end
end

export juliacon2025, today, tomorrow, now, talksby, talksabout
export juliacon2026, today, tomorrow, now, talksby, talksabout

end
7 changes: 4 additions & 3 deletions src/preferences.jl
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ const LOCAL_TIMEZONE = begin
end
end

const PRETALX_JSON_URL = "https://pretalx.com/juliacon-2025/schedule/export/schedule.json"
const DATA_ARCHIVE_JSON_URL = "https://raw.githubusercontent.com/JuliaCon/JuliaConDataArchive/master/juliacon2025_schedule/schedule.json"
const PRETALX_JSON_URL = "https://pretalx.com/juliacon-2026/schedule/export/schedule.json"
const DATA_ARCHIVE_JSON_URL = "https://raw.githubusercontent.com/JuliaCon/JuliaConDataArchive/master/juliacon2026_schedule/schedule.json"
const jcon = Ref{Union{Nothing, DataFrame}}(nothing)

function set_cachemode(mode::Symbol)
Expand Down Expand Up @@ -69,7 +69,8 @@ function debugmode(on::Bool=true)
if on
@eval JuliaCon function default_now()
# return ZonedDateTime(Dates.DateTime("2024-07-10T11:00:00.000"), JULIACON_TIMEZONE)
return ZonedDateTime(Dates.DateTime("2025-07-23T11:00:00.000"), JULIACON_TIMEZONE)
#return ZonedDateTime(Dates.DateTime("2025-07-23T11:00:00.000"), JULIACON_TIMEZONE)
return ZonedDateTime(Dates.DateTime("2026-08-10T11:00:00.000"), JULIACON_TIMEZONE)
end
else
@eval JuliaCon default_now() = TimeZones.now(LOCAL_TIMEZONE)
Expand Down
10 changes: 5 additions & 5 deletions src/tshirtcode.jl
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
function juliacon2025(::Val{:terminal})
function juliacon2026(::Val{:terminal})
if myid() == 1
return println(
"Welcome to JuliaCon 2025! Find more information on https://juliacon.org/2025/."
"Welcome to JuliaCon 2026! Find more information on https://juliacon.org/2026/."
)
else
return println("Greetings from ", rand(countries), "!")
Expand All @@ -10,8 +10,8 @@ function juliacon2025(::Val{:terminal})
end

# TODO: needs love for a distributed version based on the :terminal method (no hurry though)
function juliacon2025(::Val{:text})
return "Welcome to JuliaCon 2025! Find more information on https://juliacon.org/2025/."
function juliacon2026(::Val{:text})
return "Welcome to JuliaCon 2026! Find more information on https://juliacon.org/2026/."
end

juliacon2025(; output=:terminal) = juliacon2025(Val(output))
juliacon2026(; output=:terminal) = juliacon2026(Val(output))
12 changes: 6 additions & 6 deletions test/runtests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,22 @@ import Dates
using TimeZones

@testset "JuliaCon.jl" begin
# @testset "juliacon2025()" begin
# @testset "juliacon2026()" begin
# @info "Local:"
# @test isnothing(juliacon2025())
# @test isnothing(juliacon2026())
#
# @info "Distributed:"
# withenv("JULIA_PROJECT"=>pwd()) do
# addprocs(4)
# @eval Main @everywhere using JuliaCon
# @test isnothing(@everywhere juliacon2025())
# @test isnothing(@everywhere juliacon2026())
# rmprocs(workers())
# end
# end

@testset "Preferences" begin
@testset "Debug mode" begin
fakenow = ZonedDateTime(Dates.DateTime("2025-07-23T11:00:00.000"), JuliaCon.JULIACON_TIMEZONE)
fakenow = ZonedDateTime(Dates.DateTime("2026-08-10T11:00:00.000"), JuliaCon.JULIACON_TIMEZONE)
@test JuliaCon.default_now() != fakenow
@test isnothing(JuliaCon.debugmode())
@test JuliaCon.default_now() == fakenow
Expand Down Expand Up @@ -73,12 +73,12 @@ using TimeZones
## Print output
foreach(println, JuliaCon.today(output = :text))
println(JuliaCon.now(output = :text))
println(juliacon2025(output = :text))
println(juliacon2026(output = :text))

## Test output types
@test eltype(JuliaCon.today(output = :text)) == String
@test typeof(JuliaCon.now(output = :text)) == String
@test typeof(juliacon2025(output = :text)) == String
@test typeof(juliacon2026(output = :text)) == String

JuliaCon.debugmode(false)
end
Expand Down
Loading