« first day (2163 days earlier)      last day (393 days later) » 

12:14 AM
Maybe GraphComputation`ToGraphRepresentation can help?

IndexGraph[g1]; // AbsoluteTiming
IndexGraph @ GraphComputation`ToGraphRepresentation[g1, "Sparse"]; // AbsoluteTiming

{3.*10^-6, Null}

{0.002497, Null}
That should have been g2, which would have shown the "Sparse version being about 3 times faster. However, they don't return the same edge lists for Graph[EdgeList[g1]]. They do return the same edge lists for Graph[VertexList[g1], EdgeList[g1]], though.
12:43 AM
Hey folks if you have any feedback on this continuous partitioning of n-dimensional space could you please give me some feedback on Community:
1 hour later…
1:44 AM
Does anyone know if Leonid stops by the chat ever? I wanted to ask him if I could try to build out a new version of his mathprogramming-intro.org where the code blocks would be copiable (and use @halirutan's code formatter).
@b3m2a1 He is pretty busy but usually, he checks the chatlog sometimes.
@b3m2a1 You know, I was thinking hard in the past how new users learn and I'm not sure many of them actually read. There is a lot of introductory material out there. Do you think it is worth the effort?
@halirutan I mostly want to try it out, as all the stuff I've built out would make it a very simple process. If it's too hard I'll probably abandon the effort.
One thing that always bothered me is that despite all the good documentation and material (for instance the introduction for programmers), what user learn very late is how Mathematica actually works and how the language is represented under the hood.
I agree that most people aren't really gonna read a proper introductory text
The leads to many headache and simple things like "should I put a semicolon" are not understood. Additionally, that every function definition, variable, etc. is only a replacement rule is a thing most newcomers learn very late.
1:59 AM
Yeah I agree with that. When I wrote a big intro notebook for people (at some point last year) I used to work with I dedicated a big section to understanding how Mathematica is in some sense a "structural" language
What I wondered is (a) if there is an audience for a "Learning Mathematica, the second iteration" and (b) if an online book, video, or notebooks are most appropriate.
The "Second iteration intro" would start by explaining how Mathematica actually does its job.
I think notebooks are the way to go. Optimally cloud-hosted but I don't have the cloud credits for that :/
I think it should be the second main chapter. The first just gets people up to speed with basic Mathematica code. But definitely very early on. It completely changes how you program.
@b3m2a1 Well, if we had things like they exists for JS, where you can try code (like you can for html, svg, etc on stackoverflow), an online version that actually renders nice and can be read without Mathematica would definitely a killer.
For instance a GitBook.
I think if you could get things running in open.wolframcloud.com you could do it for free. How you get a notebook in there I don't know though. Most code could then be embedded in a cloud-notebook iframe.
That's something I've thought about trying for my own blog posts and things.
@b3m2a1 I wrote Leonid to check the chat.
He is close to my timezone though, and here it's in the middle of the night.
2:23 AM
Yeah I'll check back on that tomorrow at some point.
@halirutan want to see something fun?
 "<div style=\"width: 500px; height: 250px; position: relative; \
overflow: hidden;\"><iframe
 style=\"position: absolute; left:-2px; top: -85px\";
 width=\"100%\" height=\"335px\"
That bit of HTML will get you a sandboxed cloud notebook without any of the ugly borders. It's not the most flexible chunk of code, but I could embed something like that as a testing page footer on a page with a bunch of code in exported from Markdown.
@b3m2a1 I mostly ignore all the cloud stuff, so I'm not really knowledgable about it.
@halirutan I find the concept of cloud notebooks generally unconvincing. But this can play the role of e.g. JSFiddle for Mathematica. And I use it for lots of web-hosting and package distribution.
2 hours later…
4:43 AM
@halirutan took a while because I had to significantly update my Markdown parser, but I now have a working example: wolframcloud.com/objects/b3m2a1.testing/fiddle-test.html
4 hours later…
8:43 AM
@CarlWoll I didn't know about the "Sparse" representation. I thought it was only "Simple" or "Incidence". Unlike "Simple", "Sparse" can represent multigraphs.
9:09 AM
@halirutan I learned two new languages in the past months and I read books for both of them. The trick is finding the right book. I'm at a university so I have access to a lot of e-books, so I can download a lot of them with no charge. I find that I usually have to download many e-books that are sold for $20 or so before I find one that is actually what I need. So I think that the more freely available books the better.
OTOH I don't understand how people can learn from videos and podcasts. People learn differently I guess...
Also, when I learned Go I started by going through the official tour: tour.golang.org/welcome/1
It is possible to evaluate code from the tour in the browser, as you can see. But I think I went through the tour without using that because it just wasn't necessary. If I understand what's going on, then I don't feel the need to modify the code.
Finally, I think the best way to make code evaluation in the browser to happen is to extend Expreduce to cover the basics well.
@C.E. Well, I'm not sure myself. I like to read about languages, theoretical topics, and paradigms. Often before I go to bed and then I can turn the ideas inside my head until I fall asleep. On the other hand, for things like with Blender or Illustrator, I much prefer a video.
@halirutan Learning Blender and Illustrator is to me very different from learning a programming language.
I also wouldn't expect to learn soccer from a book, for example ("first you stretch the wrist and then you give the ball a good whack.")
9:26 AM
@C.E. Yes, for me too but what I'm not sure about is whether we are a minority and if the general newbie likes to get even language stuff served as video.
Does anyone know what GraphComputation`ToRawData does? Still looking for ways to get an index based edge list fast, and the name of this function is interesting. But I cannot guess a syntax that actually evaluates.
There are quite a lot of programming tutorials out there.
@halirutan I don't know either, but that's why I think having a variety of books and other learning sources is important so that each can find the learning source that he likes best. It's important for a language to have all the different types of tutorials, even if each user will only use one type.
I think Mathematica is generally not as good at this as other languages. Not many blog posts about learning Wolfram Language for example.
9:47 AM
@C.E. That is exactly my experience. Unfortunately, the more popular a topic, the higher the proportion of the useless books. I found good Greek language books much more easily than good Chinese language books (and there were many more Chinese books).
I also hate videos.
Except for what halirutan said: visual software. I was learning about DaVinci Resolve the other day, and videos are very useful for that.
@Szabolcs Machine learning is the Chinese of the programming world, in my experience...
@b3m2a1 The most practical way may be to just write the documentation in a notebook. It's better than Markdown because you don't have to copy code to evaluate it. I am a bit skeptical about the documentation tools ... I do not yet trust Wolfram to maintain backward-forward compatibility. What if your docs won't work in the next version? What if the next version of the doc tools produce documentation that's not compatible with earlier Mathematica (e.g. 11.0)?
If you invest into that, be prepared to do emergency maintenance whenever a new version comes out.
10:14 AM
ToRawData may have something to do with box conversions, which means that it's not interesting for me.
1 hour later…
11:37 AM
@CarlWoll I made a benchmarking dataset to compare to my current approach. Unfortunately, it is still a bit slower (but not by much).
3 hours later…
2:19 PM
Is it a interesting post?
Q: How to make a custom DynamicImage which support mouse wheel and show pixel value?

yodeThe built-in DynamicImage just click the plus sign or minus sign to rescale the image. I have to say click is a not very good operation. Could we make the custom DynamicImage which support the mouse wheel to rescale the image, and I hope it will show the pixel value when the image is large enough...

5 hours later…
7:13 PM
Q: Can the time to award a bounty by extended?

kjoI have 20 hours to award a bounty on one my questions. One of the answers the question received is potentially acceptable, but this answer requires 3rd party software that is not installed on the system I'm using. Therefore, I cannot immediately test/confirm that this answer solves my problem, ...

2 hours later…
9:27 PM
Animated graphics in Mathematica: How can I save this code as a gif image?
g = GraphPlot3D[{1 -> 2, 1 -> 3, 1 -> 4, 1 -> 5, 2 -> 3, 2 -> 4,
2 -> 5, 2 -> 6, 2 -> 7, 2 -> 8, 3 -> 6, 5 -> 6, 5 -> 7, 4 -> 7,
4 -> 8, 3 -> 8, 6 -> 9, 7 -> 9, 8 -> 9, 2 -> 9},
EdgeRenderingFunction -> (Cylinder[#1, .05] &),
VertexRenderingFunction -> ({ColorData["Atoms"][
RandomInteger[{1, 117}]], Sphere[#1, .15]} &),
PlotStyle -> Directive[Specularity[White, 20]], Boxed -> False];
center = Mean /@ (PlotRange /. AbsoluteOptions[g, PlotRange])

« first day (2163 days earlier)      last day (393 days later) »