
Doom on GLium, in Rust - hansjorg
https://docs.google.com/presentation/d/1TjWba0CR9RHFm47rvW1nFUlmouaR55Xt235aHyLPf9U/edit#slide=id.p
======
outworlder
Are my perceptions clouded from being inside the Hacker News echo chamber, or
is Rust really picking up steam really fast?

It seems to have more libraries and the ones it has are more advanced than
what would be expected from a language this young.

~~~
swah
[http://arewewebyet.com/](http://arewewebyet.com/)

I always look for a SQL driver, and _then_ if it has connection pool support.
If a language passes this second test, the language is ready ;)

~~~
killercup
So, rust is ready? There are multiple database drivers and there is at least
one crate for connection pools (r2d2) that also works with diesel (query
builder).

------
xvilka
Same user (tomaka) also wrote Rust bindings for Vulcan API - vulcano[1], which
obviously can be used for creating modern games.

[1] [https://github.com/tomaka/vulkano](https://github.com/tomaka/vulkano)

------
devishard
God, Google Docs is really horrible for non-documents. They literally just
scroll me way too fast through content when I try to go to the next slide, and
worse, they hack my back button so that each slide is a new page, meaning I
basically have to open a new tab.

It's also bad for images; for some reason they thought the scroll wheel should
zoom in and out instead of scroll, and the only way to scroll is to click and
drag. It's like their UI devs are on crack.

~~~
bitmapbrother
I don't have this issue in Chrome, but you can always use the arrow keys if
your mouse is having issues. As for the back button - works fine for me and
takes me to the previous slide. You can even download it as a PDF or
Powerpoint if you like.

~~~
debaserab2
Ugh, the last thing I want is for my browser back button to be hijacked by a
slideshow presentation. Help, I'm stuck in a powerpoint.

~~~
tracker1
If you think of each slide as a separate page, as some do, it makes sense.

~~~
debaserab2
I just wish there was a way to opt-in to it first.

My instinct when I hit the site was to use my mousewheel to scroll down,
because I didn't immediately realize it was a slide deck. So my mousewheel
advanced the deck about a dozen slides and wrecked my back button.

------
vvanders
+1 on glium as I've previously mentioned here:
[https://news.ycombinator.com/item?id=11620852](https://news.ycombinator.com/item?id=11620852)

As someone who spends a lot of time in OpenGL it's a really solid, rusty API
that's quite a joy to work with.

------
Keyframe
It says "Glium: Multi-threading... Send + Sync + Context Management (means it
can be done)".

Can someone explain a bit about this? I'm not familiar with Rust, but with C
you have to run GL calls from one and the same thread or you're gonna have a
bad day.

Bonus question: Anyone that was/is C programmer (not C++) with opinions on
Rust?

~~~
vvanders
There's more details in the presenter notes:

>I won’t get into much detail about threading, but imagine how the OpenGL
skynet-state-machine interacts with multiple threads. GLium ensures only a
thread-specific OpenGL context is used on any particular thread.

>By making everything neither Send nor Sync, it prevents you from using
resources created by one thread in another, enforcing OpenGL semantics at
compile-time.

Basically any type without Send+Sync traits will not work with existing
threading APIs(since they require combinations of Send+Sync based on threading
semantics) forcing API calls to be done on the right thread.

~~~
Keyframe
Thanks! I was in presentation mode, for some reason, and didn't see the notes.

------
hansjorg
There's more info and links in the speaker notes (on the options menu).

------
alex_duf
I don't get why slides are popular. We're missing 50% of the actual content of
the talk here.

~~~
lockyc
I agree, but this one has the speaker notes

------
cm3
Right after slide 1 appearing, this redirects to
[https://support.google.com/accounts/answer/32050](https://support.google.com/accounts/answer/32050)
for me in Firefox.

~~~
Sarkie
Fine for me?

~~~
cm3
It works in an unrestricted Chrome instance. I wonder if there's a Google docs
downloader script that directly gives me the PDF without dealing with the
wonky website.

~~~
qwertyuiop924
<rant> Google, take your browser team of the loony pills for FIVE SECONDS!
Chrome isn't the only browser in the world. Having your website crash and burn
one one of the most popular browsers out there that isn't yours is beyond
unacceptable. Especially if you push web standards and make recommendations to
other developers and sites to make their sites support all browsers. </rant>

