00:00 - 18:0018:00 - 00:00

12:00 AM
@hhh try
(3 + #) // FullForm
(3 + #) & // FullForm

Clear[hhh, expr]
expr = 2 + #;
hhh = (Function[expr] /. OwnValues[expr]);
hhh[x]
--> 2 + x

I tried to make the operation f aka Plus[3,Slot[1]] into Function[Plus[3,Slot[1]]]], fail -- how?

@JacobAkkerboom The # symbol is nothing more than Slot[1]. You can use it like Sqrt[2]..

@hhh eg
f = Plus[3, Slot[1]]
(Function@Evaluate[f])@5
not sure this is too useful or instructive though...
@halirutan or vOteW[1]
(I mean, in this context, ie, not inside a function, it's not that special)
I guess I meant to write that to @hhh

12:06 AM
@hhh Please don't take this personally or the wrong way, but I think you are not ready for this.
@hhh Do you know what Attributes are?

@halirutan hm I found out about Function too late. I suppose I learned about Attributes too late as well. Not saying that I disagree with you but it makes me sad to lose a soul :P

Test fast, fail fast, adjust fast :)

OK, actually the thing with Function is pretty easy if you know what's going on.
Here we go
Function has the attribtue HoldAll (check Attributes[Function]) which means it does not evaluate any argument.
Therefore, if you write Function[f] it just stays that way
In[122]:= Function[f]//FullForm
Out[122]//FullForm= Function[f]
although you defined f earlier with your slot expression.
What you have to achieve is to evaluate the f before/after is is put inside Function.
An easy thing to use for this is With.
With[{f1=f},
Function[f1][3]
]
Out[127]= 6
What happens here is the following. With evaluates f and you can use the value which is the (3+#) as you would write it directly.
Therefore, the slot expression is injected into Function and applying 3 works.
Usually, and just to confuse all others I would write this as:
With[{f = f}, Function[f][3] ]
Which looks pretty awesome.
@hhh, @JacobAkkerboom Hope that helps.

12:21 AM
@halirutan awesome yes. fit to scare small children away :)

And we have of course more of these the-devil-is-in-the-detail approaches:

to be serious, I think this sort of thing is best left for when one has a good grasp of the mathematica evaluation sequence. otherwise it's too confusing and likely to lead to frustration

(Function[f] /. HoldPattern[f] -> f)[3]
@acl And that was the only reason I wrote that @hhh is not ready yet. Because it is maybe just frustrating at the beginning.

I cannot understand why With... and Function[x,Evaluate[...]] structures act so differently:
Notice that on line 346, it does not return 5 but instead 3+#1. Later I got the 5 by re-assigning the operation H.

@hhh because you have defined a function that maps x to 3+#, which contains no x

12:27 AM
...correct!
Spot the typo :D

@halirutan that was a nice little story :)

@MichaelE2 While you are here. It seems everyone is frustrated with Dynamic and Manipulate lately.

@halirutan Yes I noticed.

@hhh Function[, 3 + #]@3

12:30 AM
@MichaelE2 When I take your solution from the latest thread and put something meaningful into it:

@rm-rf stop being mean

timeConsuming[x_, a_] := (Pause[1]; a x^2);
DynamicModule[{y, x},
Manipulate[
y = timeConsuming[x, a];
Plot[{other*x, y}, {x, 0, 1}],
{a, 1, 2},
{other, 1, 2},
SynchronousUpdating -> False]]

@halirutan I can't remember a time I wasn't frustrated by it...

@hhh # acquires magical properties when in Function; eg, f = Function[3 #] works

@rm-rf Nice one!

12:32 AM
I still don't get Dynamic really. And Manipulate is like With right? I tried to make it like Block but I got confused.

@MichaelE2 We have to problem that we cannot put Dynamic inside Plot.
Is there a solution to make the plot update instantly when I move the other slider?

@halirutan Is this re: your latest question?

@rm-rf No, the one for this answer: mathematica.stackexchange.com/questions/21736/…

@rm-rf Nope, someone else asked it and I just thought about a generalization of the solutions that were given.

@halirutan That's tough. I'll have to try some things. One would have to put a Dynamic about Plot and then figure out how to isolate the different dynamic parts (x, y, other). Roughly speaking.

12:36 AM
@JacobAkkerboom in what sense is Manipulate like With but unlike Block?
seems to me different from either. or did you mean DynamicModule?

@MichaelE2 Yes, and I tried some things today but honestly, I can always find ways to break the toys examples which are not unlikely in real applications.

@JacobAkkerboom or am I completely missing the point?

@MichaelE2 I'm almost utterly clueless with dynamic problems that I don't know if his problem is related to refresh/trackedsymbols/update interval/syncrhonous updating/etc.

f = Function[3 # + ##]; f[3, 30]

What does ## mean?

Have you tried entering ## in the documentation?

12:39 AM

@halirutan The structure of code (tree or nesting) and the need for the Dynamic output to be visible can be serious constraints.

@rm-rf I'm waiting to see if the OP says anything. I think my answer solves the stated problem (as I understood it).

@MichaelE2 But, and this is what bugs me, the long updating happens in the line y = timeConsuming[x, a]; only and there should be no way to restrict this only triggering when slider a moves..

12:44 AM
@halirutan SynchronousUpdating can be passed to Dynamic, too. I don't understand how that works very well. I haven't ever used it (where it solved my problem). But perhaps, it can be used to make certain things not block the front end.

@Thies Heidecke, I have seen some of your answers in solving systems of ODEs. Can I ask your help in my problem? I appreciate that. — Zahra 57 mins ago
It is so nice that we don't have private messaging on SE
3
@halirutan btw, did you see this gem from earlier today? That sure was a first!

@MichaelE2 This is one of the next things. Have you tried turning SynchronousUpdating off in the Manipulate and turn it on in one of the nested Dynamic's? Doesn't work like I expect it.
@rm-rf Nope but the question is good.. clear explanation, minimal sample code, LaTeX used.. I can't imaging why it was down-voted.
@rm-rf Btw, do you know whether the SE team plans to fix the site for the Retina display?

eventually...

@halirutan similarly for this. example given, no extraneous detail

12:49 AM
@halirutan Yes, I tried something like that at first with the OP's plain DynamicModule example. It didn't work like I expected. I don't really understand SynchronousUpdating in Dynamic.

@halirutan that'll teach you all for using retina displays. my lowly macbook air has no problem :)

@halirutan @rm-rf E.g. this is the favicon compared to how amazon does it.

@halirutan Try this:
timeConsuming[x_, a_] := (Pause[1]; a x^2);
DynamicModule[{y, x, f},
Manipulate[
y = timeConsuming[x, a];
Dynamic@Plot[{other*x, y}, {x, 0, 1}, PlotRange -> {0, 2}],
{a, 1, 2}, {other, 1, 2},
SynchronousUpdating -> False
]]
Oops. Don't know how to send large amounts of formatted code

@acl yeah I meant like Module.. Or DynamicModule I guess. Sorry that was a long time ago, I should not hold grudges :P

@MichaelE2 Press the fixed font button.

12:52 AM
@halirutan From what I heard last, it will eventually be done, but it's not an easy project, as Jin has to redo every single detail for all the sites in high res. I believe that's the biggest bottleneck (for the devs, changing the code to handle it is a one time thing)

@MichaelE2 And now you will tell me the clear way how you deduced this solution from the docs? ;-)

@halirutan It's a secret. ;-)
Seriously, let see if I can recall...

cya all

6

We have plans to update all the icons for SE sites to retina at some point. It will be a lengthy process. We're still deciding on which icons have higher priority. The obvious ones are the logo and voting arrows/favstar.

That's probably the only place where Jin has acknowledged this (and perhaps in our chat during the brainstorming days).
@MichaelE2 I fixed it for you. In future, when you paste a large block of code, you'll see a new button on the right that says "fixed font". Click that and hit send

@rm-rf OK thanks. I thought of writing a meta question but it would be the wrong place here and I decided to ask you first.

12:56 AM
However, note that you cannot mix it with anything else... i.e., you can't reply/quote/bold/italic/URL/etc. Everything is formatted as code
@halirutan You can still post if you want, but be prepared for silence/boiler plate response from SE :)
actually, it might be better if it is made a question, so that that probably puts some pressure/lets them know that there are people interested in this community too and not just on Ask Different

@halirutan Back in V6, I immediately saw lots of potential. I had done interactive programming for the NeXT making dynamic mathematical examples. So I read the four tutorials (two Dynamic, two Manipulate). Over and over.

@MichaelE2 Actually I did some quite nice things too but somehow I always know how to create examples which are hard/unintuitive to solve.
With the normal core Mathematica language I don't have this problem.
@halirutan OK, let's put almost never in the last sentence.

@halirutan To tell the truth, I don't know exactly what's going on my answer to today's question. The front end apparently can preempt the kernel and demand to know what x or other is.

@MichaelE2 You mean the SynchronousUpdating thing?

@halirutan Yes, and the way the expression x and other are updated but the whole list {Dynamic@x, y, Dynamic@other] is not. All while the kernel is computing timeConsuming.

1:05 AM
@MichaelE2 Actually, this is pretty easy to understand and I can explain.
Do you know, that we have 3 MathLinks between Kernel and FE?

@halirutan I didn't know there were 3.

The service link is afaik only so that the kernel can ask the FE something. Uninteresting.
The main link is used for everything you evaluate explicitly.
And the preemptive link is used when the FE want's something from the kernel.
This link is usually used when you press a button or do dynamic stuff.
@MichaelE2 So if you have the simple example
Manipulate[x, {x, 0, 1}]
and you move the slider, what happens is that the FE asks the kernel over the preemptive link.
Therefore, you never see the cell braces turn golden!
If you say SynchronousUpdating -> False then the main link is used
Therefore, your FE stays responsive, because it doesn't has to wait for the answer over the preemptive link.
@MichaelE2 One thing where you really feel this is a Button
Usually, the click on the button is evaluated over the preemptive link too, but it has a time-out of 6 seconds.
@MichaelE2 Try this one
Button["Pressme", Pause[7]; Print["Blub"]]

@halirutan That makes sense.

First thing you notice is that the FE is unresponsive

I've done the Button thing before.

1:14 AM
@MichaelE2 OK, then you now know what Method->"Queued" means:
Use the main link for evaluation

I knew the effect before, but I didn't understand how it happened. Thanks for taking the time to explain it.

@MichaelE2 No problem. I need only one more thing to explain to you and we are even ;-)

Haha. You've explained things in answers on SE that have helped already.

@halirutan I think that explanation deserves to be in some answer somewhere. Maybe someone should construct a question answerable with it. It's very informative

@rm-rf Thanks.
@halirutan I haven't been able to install the SE Chat Modifications

1:23 AM
@MichaelE2 What browser do you use?

I'm on a Mac. Usually use Safari. When I click on install, all I get is a page of JS, but I don't know what to do with it.

@MichaelE2 Do you have Chrome installed?

I've got Chrome and Firefox, too.

@MichaelE2 In Chrome its pretty easy:
Then it should tell you that it can't install it but it downloads it.
Click on the down arrow and select Open in Finder
Then you go in your chrome to tools -> extensions
And you just take the user script from the finder and drag&drop it into chrome.

@MichaelE2 on Safari, you can use ninja kit to add userscripts

1:28 AM
@halirutan Yeah, I got stymied before by it saying I couldn't install it.

@MichaelE2 Some security thing. You can only install things from the Google store directly or smth like that.

@halirutan I don't see tools -- in the menus or browser window?

Top-right corner is something that looks like
The tree horizontal lines are actually a button.
There you should find Tools.

@halirutan Got it. Thanks. Awesome
@halirutan It's working. Thanks.

1:47 AM
@acl I am trying to understand this:

NestWhileList[#^2 + c &,
0.,
1,
maxIters
]

@hhh yes

0. is a parameter for #^2+c&?
(machine precision number, initialization)
then the Abs[#]<escapeRadius& is a condition with 1?
Meaning that the radius must be less than 1
Then the maxIterns is a limitation for the while -- do it only at most maxIterns amount?

@hhh so, NestWhileList starts by applying its first argument to its second (the zero). then it checks if the last argument, a function, applied to the result, is true. if it is, it again applies the first argument to the last result it got the first time. then it checks if the condition is true, then repeats, until it stops being true

It can stop two ways:

A) Abs[#]<escapeRadius & is not satisfied

B) maxIterns is met for the while

right?

@hhh yes
try NestWhileList[# + 1 &, 0, # < 5 &] to see what it does (try to do it in your head and compare to what it actually does)
or NestWhileList[# + 2 &, 0, # < 5 &]
@hhh 0. is the parameter the first time it iterates. the next time, it's whatever resulted from the first time
@hhh so here is what NestWhileList[# + 2 &, 0, # < 5 &] does:

1:56 AM

# is given by the earlier calculation of #^2+c or by 1?

@hhh the earlier calculation

What is the purpose of 1?

@hhh it tells mathematica to only supply the last result to the comparison function Abs[#] < escapeRadius &. had it been 2, for example, it would have supplied the last two results to the function (which would need to be a function of two arguments in that case)

count  = 1;
result = 0;
WHILE (abs(result) < escape_radius AND count ≤ max_iter) {
result = result + 1;
count  = count  + 1;
}

1:59 AM
(so it would get two paramaters aka arguments from the earlier calculations)?

so here is what NestWhileList[# + 2 &, 0, # < 5 &] does: first, it puts 0 in the list. then it applies #^2 + c & to it, and adds the result to the end of the list. then it evaluates Abs[#] < escapeRadius & and, if it's true, and simultaneously less than maxItersiterations have been executed, it repeats, but now with the latest result instead of 0. and so on
@hhh yes exactly :)
that would stop the nesting when the abs of the sum of the last two results exceeds escapeRadius
@rm-rf learning C?

Does mathematica have *ix style Head/Tail? I tried them but they do something different...
ie. to select the last 5 things in a list or the first 5 things in a list

@acl nope nope nope nope nope :)

Y (nope)

:)

ok. a) to select the first 5 things in a list, lst[[1;;5]]. last 5, lst[[-5;;-1]]

2:06 AM
That is close enough to MATLAB syntax though... It's my home brew pseudocode syntax :P

Y Y nope ...that is lamba calculus for nope nope nope... nope... :D

@hhh if you meant to make c a function, the problem is that = has higher precedence than ;. so, you're saying: "assign .1+.1I to c, then evaluate the NestWhileList".
@rm-rf yes it wouldn't work in C. lame joke

@acl c is a constant?!

@hhh yes, if you say c=5;d=6; then you assign 5 to c and 6 to d
it's exactly as if you had typed c=.1+.1I on one line, then NestWhileList[] on another

@acl Your favourite kind of question: read this paper and solve it for me :)
3

2:12 AM
@rm-rf actually it looks like it's just about a particular equation in there (which seems pretty standard when evaluating one-loop corrections, if I remember my thesis correctly)
have seen many much worse the last few days... but it's not good :)
well, I asked what they tried so far. let's see.
(not to be a jerk, but someone who can't work that out probably is in over their head reading a paper)
but maybe they're learning by jumping in the deep end.

I'm not voting on this post because I cannot make head or tails of it, but my main issue with such questions is that it shifts the burden of solving it squarely on the answerer. And in cases like this, might also require someone with deep knowledge of the subject to be able to answer the question (or to at least know what not to read in the paper)

@rm-rf no it's just a d-dimensional integral, it's not about physics at all. but yes, it's basically "how do I do this integral"
it's better than the other one that gives a bunch of code, then asks why it doesn't work (and it is for solving a 4-level time-dependent problem in quantum dynamics). that's basically asking "why doesn't this work".

@rm-rf I like that it has references though :)

@hhh but this isn't a site for questions on physics, so that's not entirely good (since it makes no sense without the reference!)

@acl The problem is that by the time you drill down to what d, k, q, nu1, nu2, etc are, you're lost in the paper

2:27 AM
@rm-rf I don't think they matter, they're just asking "how does the rhs follow from the lhs" (the second question)

(it is mathematical physics, interesting area -- a lot of things jammed together...)

but since you volunteer :) d is the dimension, k and q are momenta (d-dimensional vectors) :)
going to hyperspherical coordinates is probably the most direct way to do this. also, $d$ need not be integer.
@hhh you asked what $d-3=\epsilon\rightarrow 0$ means; the idea is to do this for general $d$ and then find the limit when $d$ goes to 3.

A lot of the newer users seem to sympathize with such questions (including some of the low-effort ones)...

@rm-rf yes, I noticed.
it's a kind of epsilon expansion

As Leonid would probably love to say (again), democracy is terrible because it gives everyone's voice/vote an equal weight... :)

2:33 AM
@rm-rf yes meritocracy would be nice, if it didn't have the disadvantage that "merit" ends up being shorthand for "perceived merit", which is as easily manipulatable as anything else.
but I digress

@acl Certainly... like how I end up having 38k rep despite being an intermediate level user

@rm-rf ha, is calling yourself some sort of indirect insult to me?
what am I then? :)

Heh, I've always considered you to be more advanced than I am :)

but anyway. I guess this kind of question looks reasonable, it's just that it's not really a mathematica question as posed
@rm-rf haha. nice one.
he, Leonid has been lured into answering
I wonder of those two answers together break some kind of length record

@acl random puzzle: do you know how to express a cone in spherical coordinates?

2:44 AM
fix the azimuthal angle, vary the other angle and r?

(it is trivial in cylinder coordinates, in ParametricPlot3D -- but how to express radius in terms of the angles -- impossible?)

@hhh isn't that a cone? what's the problem?

I am trying to find a way to do the same thing with SphericalPlot3D
but I cannot see how to express $r$ in terms of azimuth $\theta$ and zenith $\phi$ angles
(ParametricPlot3D is not really to express cone in spherical coordinates)

@hhh I don't think I've ever used either ParametricPlot3D or SphericalPlot3D...

I used cartesian coordinates and then changed them to spherical because I could not think how to express $r$ with angles
ok, good night...if you cannot solve this, well my prof did neither -- it is just a puzzle I have wondered for a while...

2:51 AM
@hhh you can't, it's independent
Graphics3D[Cone[]] :)
night

(precisely, that is what I have concluded...but you may choose the radius differently...)

@hhh no I mean, you really can't if you choose $r$ $theta$ and $phi$ as usual
a cone is specified by fixing the azimuthal angle and varying the other angle and $r$, independently

(yes that is true)
so is the conclusion really that it is impossible to express cone in spherical coordinates if the radius is a function of traditional azimuth and zenith?

@hhh but if the radius is a function of $theta$ and $phi$ then it's not a cone but some other surface/line. I'm not following...

Yes that is true.
Is this a general result for any cone in any spherical-coordinates?
(I don't know anything abotu n-spherical coordinates...)

3:02 AM
@hhh I guess it depends on what you mean by cone :)

a generalization of inequalities?

I've never thought about it to be honest

If $\phi\in[0,\pi/2]$, then a convex cone. If $\phi\in[\pi/2,\pi]$, then concave cone.
Now the epigraph of the convex cone is the concave cone so we have two cones that covers the space supposing $r$ unlimited

3:21 AM
@halirutan I'm going to bed, but if you get this, see if you like this (be sure to drag x):
timeConsuming[x_] := (Pause[1]; x);
DynamicModule[{y},
Manipulate[
y = timeConsuming[x];
Dynamic@{x, y, other},
{x, 0, 1}, {other, 0, 1},
SynchronousUpdating -> False]
]

@MichaelE2 I need sleep too.

I don't have an explanation. I'll sleep on it

Only 11:22 here. I have to interview a job candidate first thing in the morning though.

@MichaelE2 And he should not be target of your sleep deficiency

3:23 AM
Just so.

@MichaelE2 I don't understand this behavior. We should look at the underlying expression of the thing.
But not today. Good night

@halirutan It appears to me that the first update event is on the mouse-down. Then the kernel loses track of the changes in x while timeConsuming is running???
So that y is not reupdated after x stops changing
@halirutan If you drag x for more than a second y is updated (every sec.). But the last fraction of a second is lost.

@MichaelE2 It seems we are missing some important things here.
I really don't know what is going on.

@halirutan No I don't know either.
But the kernel must be generating updates as x is dragged, so that the x in the output is updated. So at least an update for the last change in x has been generated. Because of SynchronousUpdating -> False, the last y update starts before the last x update but finishes after the last x update.
Therefore y is not updated again to sync with the last change in x. Sound plausible?
@halirutan A side-effect of SynchronousUpdating -> False.
@halirutan OK, I don't believe that's the whole story. But I'm going to bed. Good night.

3:55 AM
@rm-rf Can you rename tags as a mod? There's the [speed] tag which I think should be changed to [performance-tuning]. There are already 18 questions which is too much to retag manually (it'd fill up the front page)

GRAUURRRURUARRU

@Szabolcs Hmm... the tag says that it refers to either speed or memory or both. So if you tag it PT & , it is obvious what it means and likewise, for PT &
I don't think they should be explicit synonyms of each other
I guess some of them also need the PT tag. I agree that without an accompanying tag, it looks kind of silly... like , for instance.

7 hours later…
11:05 AM
@acl I am trying to get the animation working
How did you get the GIF image?
Like this? Export["test.gif", ListAnimate[tbl]]

@hhh Usually just Export["file.gif", tbl]' if tbl is the list of graphics.

@MichaelE2 yes but here it does not create an animation, it is a static picture...
I copied ACL's code there mathematica.stackexchange.com/questions/21714/… and now trying to reproduce the animation GIF, ideas?

@hhh What are you using to display the gif?

11:27 AM
@hhh Export works for me.

@MichaelE2 did you get animated GIF?

@hhh Yes. It plays in Finder, Safari, Chrome. (I'm on a Mac. Mma V9.0.1).

Likewise Mac, Mma 8
but the export not animated

@hhh This is the export of ListAnimate[... -- just so
You want Export["test.gif", tbl]

?
It works! Thank you.

11:40 AM
Great!

-
I got the 3D thing working as well, now trying to understand where the mandelbrot is...
(I cannot yet understand how this code works.)
@acl how is the mandelbrot defined with this plot?

tbl2 = Table[
mnd[100, (1 + 1.*I)*p/500, .05] // Abs //
ListPlot3D[#, PlotRange -> {0, 1},
ColorFunction -> "TemperatureMap", Axes -> False,
Boxed -> False,
ViewVertical -> {0, (p/500), Sqrt[1 - (p/500)^2]}] &, {p, 0,
500, 25}];

12:38 PM
Any idea how to apply texture to a 3D Graphics object like this?

12:49 PM
Does there exist some ready command to generate this kind of patterns? Some graph library or fractal library?

@hhh
An L-system or Lindenmayer system is a parallel rewriting system, namely a variant of a formal grammar, most famously used to model the growth processes of plant development, but also able to model the morphology of a variety of organisms. An L-system consists of an alphabet of symbols that can be used to make strings, a collection of production rules which expand each symbol into some larger string of symbols, an initial "axiom" string from which to begin construction, and a mechanism for translating the generated strings into geometric structures. L-systems can also be used to generat...
and also:

@hhh I don't understand the question

some Mathematica code for L-systems:

@hhh do you want closed loops in your graph?

1:25 PM
can I insert eqnarray environments in my answer?
why does my latex here come out wrong?
overlapping with the text?

1 hour later…
2:45 PM
@acl looks fine to me. Reload the page?

3:34 PM
@OleksandrR. you're right looks fine now

3:58 PM
@acl It happens to me too, right after submitting. Usually fixes on a reload

@rm-rf so much for my vow never to answer questions with excessive irrelevant detail...

Nice "Mathematica" question on SO...
0

I have a int, Value with a random number. So, I need display in a label, the percentage(0~100%), according to Value, ex: if Value is 30 of 60, then the percentage should be 50% ... What formula should I use? I assume I'm breaking my brain for this silly thing.

@acl heh, you've been on a really good mood (site wise) lately :P

When I see these questions I often wonder how this person managed to get through school and into programming

4:14 PM
@rm-rf yes, writing up stuff so I take any and all opportunities to procrastinate (and reading the news is out these days). also this sort of thing is a super-simplified version of what I am currently doing, research-wise.
@OleksandrR. it's interesting isn't it :)
@rm-rf @OleksandrR. is there any way to insert eqnarray environments in my answers?

Yeah use \begin{array}... \end{array}

@acl you're asking the wrong person with me... I'm not a big TeX user

@acl Is this for the first equation?

@rm-rf yes

Ok, I'll fix that so that you have an MWE

4:19 PM
@rm-rf MWE?
by the way the matrix is
ok minimal working example. ok I see!
(guess now I need to work out how to insert display equations in my answer...)

@acl Ok, done

@rm-rf ok thanks
ok,  works didn't know that

You can also use \mathrm (roman), \mathbf (bold), \mathsf (sans serif), \mathscr (script), \color{col}{expr}, etc.

@rm-rf I have emacs and sublime text so heavily customised for latex that I don't really think about this, I have shortcuts to insert environments and the like. This is not natural. I hate latex

Have you fully made the shift to sublime (or for the most part)?

4:30 PM
@rm-rf for everything except latex (for long latex texts I use emacs, for quick, sublime)
@rm-rf do you use safari? I am having lots of beachballs and it seems related to chat

@acl Pretty impressive that you've shifted fully... I really like it (I think it has great potential) but I can't, at the moment, justify shifting when I have to learn its json syntax in order to customize it the way I want it... I still fiddle with it though
@acl I don't use it, but I can if you want me to test something

@rm-rf I didn't customise it that much. snippets are easy and that's all I do (with emacs I customised it in elisp, the end result being that I need to maintain code I wrote years ago--no thanks)
@rm-rf hard to say, it is intermittent (once a day or so).
but thanks

@acl well, that's bound to happen with any customizable editor, right? :)

@rm-rf yes but emacs is customizable in lisp... anyway, I don't really do that much programming outside mathematica nowadays

@acl Heh, these days I do most of my mma programming in vim... the FE is mostly for quick tests and answers here

4:39 PM
@rm-rf I prefer to do it in the workbench or sublime text (but workbench has no template completion, while in sublime text I hacked together something but it's not very good). so I oscillate between the three...

@acl You mean for custom functions?

@rm-rf for my stuff yes
I am lazy so end up with functions with 10 arguments. it's hard to remember where everything goes

lol

@rm-rf no seriously, look
this can construct Hamiltonians describing systems which are tilted, with traps, with disorder, etc etc.
I should have called it constructKitchenSink
@rm-rf so you can imagine how I felt when v9 broke template completion :)

@acl I can imagine :) I have some like this too, but I use options for those, so that I don't need to remember the order of arguments. I just keep the most important ones (e.g., size of the matrix) as an argument and the rest as options

4:53 PM
@acl I did not understand the graph question, I am trying to plot it like Escher's hyperbolic works later

@rm-rf as I have already pointed out, I'm lazy :)
(one could point out that if I stopped being lazy for 20min, it'd make my life easier later; but that's not how lazy people operate)
@hhh OK I see. Can't help
I know very little about the image stuff mathematica does

@acl On the contrary, I try to be efficient because I'm lazy :D

@rm-rf you're just not lazy enough

5:09 PM
It's the difference between short-term lazy and long-term lazy... You settled for a local minimum, whereas I'm optimizing to achieve the global minimum :P

@rm-rf sure, being a SE mod is the epitome of laziness

5:37 PM
@rm-rf ?
AFK for too long...

@YvesKlett Nah, I posted a link to something on Meta Stack Overflow, thinking it was applicable to us to, but I was wrong... it was SO only.

5:51 PM
@rm-rf hate to miss the profanities ;-P

00:00 - 18:0018:00 - 00:00