« first day (2485 days earlier)      last day (2297 days later) » 

04:35
Wolfram support is honestly driving me crazy. I get that it's hard to understand what people are saying or maybe they deal with a lot of idiots, but when you're given an MWE, easy conditions to reproduce a full on kernel crash, and other relevant details how hard can it be to understand...
It makes me not want to report serious bugs since I know the person won't be able to figure out what I mean to report it.
 
5 hours later…
09:18
@JasonB., thanks. Often when I come across things that seem relatively simple I discover one of the built-ins can do it immediately. But that works too
09:36
@KraZug the idea is sort of like TakeWhile it seems, but more like SplitWhile I guess because it iterates over the entire list.
Oh wait...TakeWhile just applies element wise. That's not particularly helpful.
09:57
Yes. Maybe I should post it as a question.
10:37
Is there a built-in to "conform matrices/arrays", similar to the one that "conforms" audio? Given a list of (sparse) matrices, I want to pad them with zeros on the right such that they all have the same dimensions, and can be operated together.
I have this vague feeling that there is a very simple way to do this that does not involve fussing with Dimensions and the complex 2nd argument of ArrayPad.
10:51
With a list of lengths, how do I split a list into runs with those lengths?
11:46
There's a function for that ... and I forgot it's name.
In the past we sometimes used Internal`PartitionRagged
But now there's a documented one ... somewhere
It feels like it should be so simple, and then I end up hashing together a nested Table to do it
You can read the definition of ParititonRagged (and it's not that simple)
@KraZug TakeList
Or:
partitionRagged[v_List, l_?VectorQ] := MapThread[Take[v, {#1, #2}] &, Module[{a = Accumulate[l]}, {a - l + 1, a}]]
PartitionRagged looks like it'll do the second part, splitting the list into runs with fixed lengths, once I've figured out how to split it
and I've adapted the code @JasonB. suggested to split into appropriate lengths
65
Q: Partitioning with varying partition size

sjdhHow can I partition a list into partitions whose sizes vary? The length of the $k$'th partition is a function $f(k)$. For example: if $l = \{1, 2, 3, 4, 5, 6\}$ and $f(k) = k$. Then the partitioning $p$ would look like $p = \{\{1\},\{2, 3\},\{4,5,6\}\}$

@KraZug TakeList is documented
lol, ok, yes, that is exactly the function
11:57
new in 11.2
ok, hence why it isn't well known. Thanks
This function can be used to fill the upper triangular part of a matrix from a flat list.
What is the fastest way to do the inverse operation? Extract the upper triangular part of a matrix into a flat list?
How about the non-diagonal part?
It must go row-by-row.
E.g., Join @@ Pick[mat, LowerTriangularize[ConstantArray[1, Dimensions[mat]], -1], 1]
Is it possible to return from a pattern matcher a reason of failure? E.g. can MMA tell me that Match[{1,2}, {_Integer, _String}] fails because expression at position {2} is not a String?
I mean, it already knows so I'd like not to reinvent a wheel.
 
2 hours later…
14:20
So I got the tumbleweed badge on this question... No answers, no comments, and only 21 views after 24 days. Am I missing something? I am assuming it is just a use of Mathematica that not many people on SE are interested in. At this point, I have coded around the issue, but the question still interests me. Any thoughts, or should I just let it die? mathematica.stackexchange.com/questions/183786/…
tumbleweed ;)
I think it's maybe just a bit early for some of the cloud functionality... Might be more useful on the community, a dev might answer :)
Thanks Carl. About 75% of what I am working on these days is either built around forms or cloud based solutions. I often find the documentation (official and community-based) is mostly proof of concept. Since I am still relatively new to Mathematica it is still hard to tell where I am just being a Newb and where I am working in areas that are outside the typical use cases of Mathematica users.
14:36
@kickert From my experience the rule of thumb with Forms is: if it does not fit your needs or looks broken - it is the case. Forget about it, workaround it or write custom form in html+js that calls APIFunction. I reported many related small but annoying issues and nothing get fixed.
I would answer 'it does not work because forms are half baked'. But I can't be 100% sure.
That is why I am hesitant in posting such comments/answers.
Thanks for the perspective Kuba. I have spent the last couple days working on another form issue and this may be the guidance I need to just move on in another direction.
For me Forms are one of the best things cloud could offer but it is a proof of concept.
Fortunately APIFunction is robust enough.
I wish they worked better, but at the moment it does seem like they're more marketing-y, impressing features than real, hardcore features
The solution I am using now (and will now probably use into the future) is to use a DatabinAdd and/or SendMail function to get the results from a form, and then run the execution on the inputs locally.
It's a pity as well, I don't know if I've seen hardly any livestreams about the cloud stuff, which makes it seem like they may not get majorly improved for 12
14:40
Seems like the hard split between Mathematica and Wolfram|Alpha left cloud functionality in an odd place that led to lots of pseudo-functionality.
Stephen Wolfram spoke a lot at WTC about wanting to make Mathematica ubiquitous... IMHO, getting cloud based functions to work properly would be a great way to move that objective forward.
That reminds me, I wonder when the talks from the WTC will be on youtube
@CarlLange will they be?
@Kuba I presume so, since previous years are up
well, 2017 is up
I created a great ListPointPlot3Dthe other day that I wanted to share with friends (based on whiskey tasting), but couldn't get the CloudExport to keep it interactive (rotatable), so just gave up. Didn't even ask here because it seems like a lot of the solutions to cloud based issues are not transferable (or have no real solutions).
Thanks for the guidance on the question... I will let the tumbleweed continue to tumble on.
@kickert Yeah, this is exactly the type of thing that I face as well. It's so close to being great, but falls short often enough that I end up not using it
4
14:48
@CarlLange uuu, I'll be on tv then :p
@Kuba :D
Who said being a nerd wouldn't get you famous, eh
unless those are only talks from WRI employees
I don't know what did I sign there :P
@CarlLange @kickert same impression here, and since sometimes the only solution is to have a custom html+js solution, why do I need cloud at all? Why won't they release webMMA that supports APIFunctions and everyone will be happy.
At least for small/medium business cases.
@Kuba Yeah, I am trying to figure out what the best licensing etc might be for a small company that wants to run some wolframscript from a cronjob and honestly it's really hard to do.
seems like they expect it to be either single-user cases or huge enterprises and kinda forgot about the middle
@CarlLange doesn't standard-desktop fit? wolfram.com/mathematica/pricing/industry-individuals.php
also the 3 different-but-similar products is also a hellscape for trying to convince a company to license WL.
14:57
We upgraded our Development Platform because had a few cloud functions that were timing out and needed more cloud/service credits, but in the long term it doesn't seem worth it because there are still so many basic functionalities that don't work.
only 1 development seat though, right? what if there are 3-10 people who will eventually use it?
@CarlLange so cronjob or more? :P
@Kuba I suppose more :P
Yeah, I've been looking mostly at the development platform stuff, seems like the closest fit
in any case I do find it kind of hard to parse the differences between the products :)
2
Yep, I understand your pain.
I am not sure but license server for a standard desktop license would allow up to 8 users at once, right?
haven't a clue I'm afraid
15:02
I'm not sure either. Have to go now. Cya
👍 thanks for the help
15:27
Is there a way to check whether an expression is NumericQ without evaluating it? E.g. myNumericQ@1, myNumericQ[1°], should be True but myNumericQ[Print@1] should be False and nothing printed.
I would have thought that NumericQ@Unevaluated[...] would work, but NumericQ@Unevaluated[1°] returns False for some reason (yet NumericQ@Unevaluated[1] is True)
@LukasLang System`Dump`HeldNumericQ might do the trick
But it isn't so smart - it returns False for Echo[1]
Look at the results of Names["*`*NumericQ"] there may be more interesting tools - like this one:
```
In[32]:= Internal`WouldBeNumericQ[Sin[x*y], {x}]

Out[32]= False

In[35]:= Internal`WouldBeNumericQ[Sin[x*y], {x, y}]

Out[35]= True
```
 
1 hour later…
17:06
@Feeds Interesting tidbit from 10:42 - New in 12: Random Cat Pictures?
(*Mathematica start*)nn = 200;
f[t_] = D[RiemannSiegelTheta[t], t];
Plot[Sign[RiemannSiegelZ[t]]*
Abs[Zeta[1/2 + I*t]*
Total[Table[
Total[MoebiusMu[Divisors[n]]/Divisors[n]^(1/2 + I*t - 1)]/
n, {n, 1, nn}]]]/(f[t] + HarmonicNumber[nn]), {t, 0, 60},
PlotStyle -> Thickness[0.004], ImageSize -> Large,
PlotRange -> {-4, 4}]
(*end*)
The curve above crosses the x-axis at nontrivial Riemann zeta zeros.
17:37
The sum is divergent though. But I think the plot is nice.
17:58
@kickert @Kuba and @CarlLange (and @C.E. maybe) if you want to abandon Form* junk but not abandon everything it provides you can use Templating`PackageScope`toHTMLNode as your export workhorse. In particular it appears Form* export falls back to that using a Templating`HTMLTemplate object. Looking at GeneralUtilities`PrintDefinitionsLocal@Templating`PackageScope`toHTMLNode makes me think that there's really a lot of good stuff it can do for us.
@b3m2a1 I will check the next time I have to do something more complicated with forms. But if I have to dig in the source code I'd rather deploy APIFunction and write custom web form
@Kuba yeah I'm thinking more from the Mathematica-->HTML world rather than the doing serious work world. There it's probably best to use a solid JS framework.
18:14
Here's another relevant find for those interested in digging on this:
XMLTemplate@
 File@FileNames["Templates/FormFunction.html", $TemplatePath][[1]]
18:26
@Szabolcs @Szabolcs Thanks!
That's how the actual layout is determined. If you wanted to hack FormFunction to use a different one you can try something like:
With[{yourTemplate = TemplateObject[{"test"}]},
  FormPage[
   {
    "First" -> "String",
    "Last" -> <|"Interpreter" -> "String", "Input" -> "Jones",
      "Hidden" -> True|>
    },
   Templating`HTMLExport`PackagePrivate`loader[
     File["Templates/FormFunction.html"]] &,
   AppearanceRules :> (Templating`HTMLExport`PackagePrivate`loader[
       File["Templates/FormFunction.html"]] = yourTemplate; <||>)]
  ] // CloudDeploy[#, "test_form"] &
One danger is this is not sufficiently localized and I may have broken Form export code elsewhere in the cloud by doing this as now this:
CloudDeploy[
 FormPage[
  {
   "First" -> "String",
   "Last" -> <|"Interpreter" -> "String", "Input" -> "Jones",
     "Hidden" -> True|>
   },
  Identity
  ],
 "test_form_2"
 ]
gives a blank page in general...
With luck this is localized just to me, but if not, sorry :)
18:53
@b3m2a1 Wow! Thanks for the insights. I have never dug into the code "under the hood" before to see why something wasn't working. Appreciate your input here as well as on the question. I was ready to just chalk it up to a bug and move on in another direction.
 
1 hour later…
20:01
Hi, I am getting the error below while doing : ResourceData["MNIST"]:KeyExistsQ::invrl: The argument ResourceSystemClientPrivatelocalResourceNameMap is not a valid Association or a list of rules.
I can run ResourceData in help notebook but not in my own notebook
20:22
Eyeing the books on the back, around 12:56 for instance :I ...
@psimeson what do you get if you restart the kernel and evaluate ResourceData;ResourceSystemClient`Private`localResourceNameMap
I get an empty association for that
20:38
(And Dr. Sloane, of course!)
21:23
@JasonB. On a new kernel it worked but I couldn't understand why it did that in the first place

« first day (2485 days earlier)      last day (2297 days later) »