@WolframBlog Oh man... I think I have a deja vu: Wolfram Language; Wolfram Connected Devices; Wolfram|Alpha; Wolfram Data Framework; Wolfram Data Repository; Wolfram Data Science Platform; Wolfram Cloud; Wolfram SystemModeler
I guess someone is trying to mess with the word-frequency in English texts..
I am have only really been using Mathematica for about 3 years ... it seems like the company is losing its mind to me. I am unquestionably a fanboy ... but I have never seen such crazy posts/marketing coming from a company. Is it new? Or was I just slow to see it
totally. I still love when people other than stephen blog ... the stuff on economic modelling was cool etc. Lately I am just learning to ignore the posts as they make me want to learn a different platform ... and I really love Mathematica ...
Okay looking back and the blog I am overreacting ... I just need to not read stephen's posts. It seems the signal to noise ratio has grown since the whole wolfram language rebranding ... hopefully well settle down after mathematica 10
Anyone got a minute and experience with CDF? I'm creating my first CDF and I have something that works in a notebook, however in the CDF I see code where the graphics output should be. I cannot figure out why it breaks when I go from notebook to CDF (using File -> CDF Export -> Standalone -> the entire notebook)?
@Calle First, make your Manipulate ready and save everything in the notebook, quit the kernel, maybe close Mathematica and then open Mathematica again.
Without evaluating anything, the dynamic must work.
Along these lines I find it is good to export all your maniputes output and then make that the cdf ... otherwise the code is still available, just hidden ... I have had students that click to much get to the code otherwise
@halirutan I think their blog/marketing team gets paid by how much they can suck up to SW... they probably all have this tattoo as well, to show their allegiance:
What I would like to be able to read, is my car's sensors using an ODB II cable. I currently have native software to do it, but I'm too lazy to implement one in mma.
@rm-rf Never mind. It's so awesome, I tell you anyway. I have reference resolving for globally defined symbols up and running. This means that (1) all usages of globally defined functions are highlighted while you type, (2) you can always jump to the first place of definition and (3) you can rename them in place and all references get renamed.
Currently, I'm doing the full thing: When I see a symbol, I first check whether it's defined as local Block,.. variable (easy, only going upwards the tree). If it is not locally bound by Block, Table, Compile, RuleDelayed, whatever, then I start from the root of the parsing tree and look at all Set, SetDelayed whether there is a variable defined which is (1) not locally bound and (2) has the same symbol-name as the reference we are searching.
The problem is the caching, because since the usages and the definitions are very likely on a complete different subtree of the AST, I cannot simply cache it and, if something changes, invalidate the subtree under the place of definition. In Module this works perfectly because all usages of a local variable are always below the Module node of the AST.
@rm-rf Want a Kostprobe how it looks if you rename global definition anywhere in the code and then jump to the definition? Real example from the NumericalDifferentialEquationAnalysis` package:
Look on the right side to see the green lines showing all places where the symbol appears. The file is 1065 lines long.
Well, it's available on RPi already at this point (effectively pre-release of Mathematica 10). And it certainly looks like just another incremental upgrade of the Mma kernel. Naming is just marketing IMO.
I wonder if I should write a bug report of it generating unicode glyphs that are not in common unicode, but private region used by Mathematica, if I use it on terminal. And on RPi, I mostly want to use it on terminal.
Say, Distributed is output by default as a glyph that would require using a Mma-specific font on the terminal.
Welll. I do understand some symbols are not present in unicode. I'm not pleased they're not output with their name instead of private-region encoding on UTF-8 terminal.
@kirma seems a bit strange to me since Quark CPU used in Edison is highly cost-optimized and less powerful even than the Raspberry Pi ARM CPU. So it will have difficulty running Mathematica acceptably.
For embedded SoC, yes. but with RAM, flash, wifi and bluetooth, it's a bit different...
SoC itself costs 1-2 USD at most...
If you consider Edison purely a device to bridge sensors/controls to "cloud" or such with some intermediate Mathematica processing or control simple processes with internet-enabled settings, it might be sufficient for many tasks.
Wired connectivity with that form factor is a mystery though, and Intel avoids showing the other side of it.
@kirma I think Edison is a different product to the Quark SoC. The latter is supposed to be fully synthesizable, so it may be given a GPU and be tightly integrated with the other components before any actual Edison products arrive. I don't know if the form factor shown is supposed to be indicative of products or if it just shows how small the Edison can be
Mr.Wizard, I felt you might the following interesting. Internal`PartitionRagged is a function with Attribute ReadProtected. It's code is fully visible (I think), although a bit "obfuscated". I formatted it and it and the DownValues look like this
May I ask a quick question regarding graphics? :) I'm doing what I wish to do but it seems a little bit pushy & I don't think it worth a proper question.
yeah, FullForm is nice for the user, and it effects how things are formatted, but the Kernel only sees it as a wrapper. Replace it by yourSymbol and evaluation will be the same
@OleksandrR. yes, I saw that he referenced it :). I'm not sure how he found out the syntax if he does not have version 8, but I figured he probably did not realise the definition was visible and what it was. IMO this shows that it is not some highly optimised C beast, so maybe there is room for a faster answer by me :).
@JacobAkkerboom I noticed that you changed the VG question almost entirely (but at least, I can understand this one :D)... it seems to me like the link to SO that you include in your question (and the discussion there) cover all of VG well, don't you think?
@rm-rf well, I feel that there are many details that are missing. For example what can go wrong in attempting to overload a function. Furthermore I feel the point is missing that when a function calls itself the call to the function at the lower level does not do the pre and post processing. Points about stability and reasons to use !TrueQ vs a global variable are not discussed. Lastly the question is on SO and not SE, and most of the explanation is done in the comments, which I think is not so
nice :P
I feel there is more to discuss even than that, so I thought let's first discuss this before moving on :)
@JacobAkkerboom Then perhaps you can let the answerers know that your question has changed entirely and they should rephrase their answers and pretend that the first version was never asked :)
They probably won't like it, and I don't really encourage this practice, but since no one seemed to understand the first version and there aren't many answers with many votes, it seems OK to do it in this case. Don't quote me on this in the future though... :)
@rm-rf the only answer was by Mr.Wiz and the only upvote to that question was by me :P. I guess I'm glad you guys didn't find the way to skin the cat fast and I survived the whole ordeal
@bobthechemist thx! I actually tried. I thought they would look like ball ornaments, but it somehow deminitioed recongnazibility of the tree. Maybe someone would come up how to do it right.
Hi guys, I'm having an issue with GaussianFilter. I have an 800x800 array I'm importing from a text file. When I run GaussianFilter on this array, it's very very slow (minutes). However, if I just generate a 800x800 array using RandomReal, the same GaussianFilter call takes less than a second. Any ideas what's going on? I tried setting the array to $MachinePrecision and packing it with ToPackedArray, but that didn't improve the speed...
OK, nevermind, I was doing SetPrecision[ ... , $MachinePrecision], with a dollar sign.
I needed to do it without the dollar, as it was converting $MachinePrecision into a float first before passing it to SetPrecision... :-/
@bobthechemist i'd love to see folks try different things, not necessarily christmas motives. There is a method of replacing pixels by characters in large images - which i think is less challenging than smaller designs - like:
(\_/) (='.'=) (")_(")
which in my opinion is genius. Machine would need AI to come up with this.
@rm-rf mine has the port under a cover under the handbrake... You'd have to remove the cover and drive around like that to have real time monitoring. Very annoying.
I like collaboratively building up code to celebrate an event. I like doing it before the event even more. @VitaliyKaurov The first tweak I would make to yours is to add more rows of snow so they start at the top of the image. @JacobAkkerboom That's a cool quine. We can definitely beat Ruby though.
@JacobAkkerboom someone else posted the definition somewhere and observed that it matched his dynP. I actually thought dynP came first but @rm-rf proved me wrong on that. Anyway, how do you write PartitionRagged using LibraryLink given that you can't return ragged arrays or produce an Internal`Bag using it?
@OleksandrR. ah I figured making a slightly larger array containing delimiters/seperators between elements that go into the same list, and splitting that larger array with SplitBy[longerArray, delimiter] would be faster than repeatedly using Span, especially when there will be a lot of subsets. I may be wrong though, I should try it out :)
@JacobAkkerboom difficult to make a universal delimiter in a packed array though unless you choose some invalid value like NaN, but then Mma can't understand it
@OleksandrR. yeah, thats true. I suppose I can make a few versions, or a version where you can specify a delimiter. I suppose that I would always program it in such a way that there are a upper and a lower limit to the size of an integer. Taking the smallest integer in C should not make the code much less safe, as it will fail anyway if the input is too small. I was especially thinking of making a faster equivalent of FactorInteger/@Range[n], where you can always choose 0 (or even 1)
@JacobAkkerboom I also just realised you have to copy the whole array twice, once to add the delimiter, and once to make the split version. For direct splitting with Part there should only be a need to copy it once fully
@VitaliyKaurov My area avoided snow during the big freeze, but a few minutes ago my dad asked if I could look up all of the times it had been colder than last night in the past 23 years. Getting to do a live Mathematica demo is as rare and exciting for me as snow.
I think this is the canonical Mathematica quine: With[{a = FromCharacterCode@34}, Print[# <> a <> # <> a]] &@"With[{a=FromCharacterCode@34},Print[#<>a<>#<>a]]&@"
@Guillochon Most likely it's either using an unpacked array (or there's some unpacking) or it's trying to compute it symbolically. Try using N to force it to machine precision.
@Guillochon That's strange... I have no idea why. Your data also seems to crash my kernel if I try to do an eigendecomposition, even though my machine can easily handle 2000x2000 matrices.
@Guillochon Huh... that's weird. Well, on the surface, it looks like your data is all machine precision numbers + packed, which should not have such a slow performance. Perhaps someone with more spelunking skills can look into this.
@Guillochon Ok, so at least you have a work around for now... :)
@bobthechemist I actually didn't hear of a use for them until last month when I was reading a book about computational complexity theory, and it said that you need to know that quines exist so that you don't have to make a fundamental distinction between programs that do and don't have access to their own source code in proofs.
@rm-rf I understand the semantics now. Although it is interesting as they say in the comments that the copy and paste shows the [] aren't included in the string output.
@VitaliyKaurov I guess I wouldn't pass your Turing test. I'm trying to think of an original cartoon ASCII animal, but I think I would just repeat something I've already seen.
Although in defense of the potential of machines, I think a huge number of brain clock cycles have gone into solidifying the emoticon grammar over the years.