John Fletcher is an academic chemical engineer with an interest in computer programming and a lot else besides. After more than 40 years as an academic I signed up to spend one more year, working three days per week, I have now retired at the end of August 2014. This does not mean the end of my involvement here, but I want to let folks here know this. I am one of the PunchCardGeneration as I started work in 1969 and my FortranLanguage programs existed entirely on the deck of cards. There was no copy stored electronically anywhere. I have realised only in recent years how the work then instilled in me an attention to detail which has stayed with me. I am amazed when I think back to when I started as an academic in 1972 and how much the technology available to me has changed in that time. The computer power I have here at home is probably more than several universities had in total in 1970. ---- Current wiki persona ''ict-nat-90.aston.ac.uk ict-nat-254.aston.ac.uk'' (at work) ''bunbury28.plus.com'' (at home) or just ''jpf'', although I have now removed as many of these references using my initials as I can find, except on my own home page and the one of DougMerritt, where there are numerous uses in dialogues from some time ago. This is in response to the discussion on ShortWikiSignaturesSmell. ---- This page has several sections. Probably the most useful to me and hopefully to readers is a section where pages are indexed by topic and in alphabetical order within the topics. The rest of it is an accumulation of thoughts and sometime dialogue with others. Some of those people no longer write on C2 and I miss them, though of course I don't know their faces. I have been around on here on and off for a lot of years. I started in 1997 - I am in VisitorsInNinetySeven. ''That statement about faces shows how things change with time. Now I could much more easily see their faces using modern tools such as Facebook and Linkedin.'' That is an interesting comment which I had not noticed previously. I do indeed use such systems now. ---- I often want to go to RecentChanges next. -- John Fletcher (mailto:J.P.Fletcher@aston.ac.uk) ---- Past interests and present interests include FunctionalProgramming GraphTheory StandardTemplateLibrary BoostLambdaLibrary TemplateMetaprogramming ThePragmaticProgrammer WhenShouldWeUseCeePlusPlus CommonHigherOrderFunctions CliffordAlgebra TemplatesAndRunTimeTypeInformation GenerativeProgramming TraitsTemplates RunTimeTypeInformation TemplatesForReflectionInCpp ---- * Needs attention: MentalModel * Given attention: GenericVsObjectOrientedProgramming (see TheBoostGraphLibrary and SetsOfRequirements). * Useful: BewareOfExceptionsInTheDestructor * SAX: SaxDriver * Something to think about: SitOnOneCard * New addition: DeeLanguage * MoinMoin * LewisMumford * AugmentationOfTheIntellect * RosettaStone * AlternativeNotExclusive * LispaPortableImplementation * ThePsychologyOfComputerProgramming linked to * StoryOfMel * SpecificTestimonyOnCategories * InternationalYearOfTheQuietMind * YouKnowYouveBeenInItTooLongWhen * ZenAndTheArtOfMotorcycleMaintenance ---- '''Adopted Orphans''' * AboutUs * ApgarScore (it's alive and kicking!) * CalculusAndProgramming * CologneSummit * ClumpsOfVariables * DoTheThingRight * DynamicLanguageLint * EdibleCellPhones * EllZip * InorganicComplexityThreshold * PrincipalComponentAnalysis * SignficantRecentChanges (misspelt SignificantRecentChanges) * RubyCoerce needs a home. * TheAbyssIsAlwaysOneStepAhead * TheresOnlyOneBanana * UniversalWikiEditButton ---- '''C++ and templates and functional programming''' * ArgumentDependentNameLookup (KoenigLookup) * BoostLibraries (there are a lot more than these 3) ** BoostForDummies (which I have started) ** BoostLambdaLibrary ** BoostPhoenixLibrary ** BoostProtoLibrary * CeeLanguageFamilyFrontEnd (Clang) * CeePlusPlusDotOrg * CeePlusPlusEleven * CeePlusPlusOneWhy * C''''''eePlusPlusZeroEx (now CeePlusPlusEleven) * ChangesMeaningOf * ConceptClang * ConceptCpp and ConceptGcc * ConSol * ContinuationPassingStyle * ContinuationPassingStyleInCeePlusPlus * ContinuationPassingStyleInCppQuadraticEquationExample * CppCookbook * CppCommonKnowledge * CppDependencyAnalysis * CppHeterogeneousContainer * CppInDepthSeries * CppNext * CppTemplateMetaprogramming * CppTemplatesTheCompleteGuide * CuriouslyRecurringTemplate * DaixtroseLib * DecouplingOfObjectOrientedSystems * EffectiveStl by ScottMeyers * EfourGraph * EmbeddedDomainSpecificLanguage (e.g. FC++) * ExplicitLazyEvaluation * ExtremeGuidelinesForCeePlusPlus (and discussion) * FunctionalComposition * FunctionalPatternSystemForObjectOrientedDesign * FunctionalProgrammingInCpp * FunctionalToolsForObjectOrientedTasks (FunctoidsInCpp paper) * FunctoidsInCpp (FC++) * FunctoidsInCppDiscussion * FunctoidsInCppExperiment * FunctoidsInCppMonadExamples * FunctoidsInCppWithConceptCpp * FunctionalProgrammingDiscussion * GenerativeProgrammingBook * GiNac * GnuCpp * ImplicitLazyEvaluation * ImplicitlyDeletedCopyConstructor * IndustrialStrengthCeePlusPlus (book) * InverseFunctionalComposition * LazyPtrProxy * LogForCpp * LogicProgrammingInCpp * LowLevelVirtualMachine (and Clang) * MetaAgent * MetaKit * ModernCeePlusPlusDesign * MuCeePlusPlus * ObjectFunctionalImplementation * ObserverPatternInCeePlusPlus * PatternsInFunctionalProgramming * PolicyBasedClassDesign * PromotionTraits * PurelyFunctionalDataStructures * SpecialSortOfVector * SpecifyingBehaviorInCpp * StlFilt * TechnicalReportOne * TheCppStandardLibrary * TheCppStandardsCommittee * TooFewTemplateParameterLists * VariadicFunctoidsInCpp (VFC++) * VariadicTemplatesForGnuCpp * WhatEveryCeeProgrammerShouldKnow (UndefinedBehavior) ---- '''Clifford Algebra''' * CliffordAlgebra and leaf pages * CliffordAlgebraIdempotents * GeometricAlgebraForComputerGraphics * GeometricAlgebraForComputerScience * GeometricAlgebraForPhysicists * HestenesOerstedMedalLecture * HistoryOfVectorAnalysis ---- '''Linux''' * AndLinux * CoLinux * EcksZed (xz) * EllZip * FedoraProject * FilesystemHierarchyStandard (FHS) * IntelSixtyFourBitLinux * LinuxStandardBase (LSB) * SixtyFourBitLinux * UbuntuLinux ---- '''ParallelProgramming, LinearAlgebra and FortranLanguage''' * BasicLinearAlgebraSubprograms (BLAS) * ComputeUnifiedDeviceArchitecture (CUDA) * CudaApplicationDesignAndDevelopment (book) * CudaMpi * ExpressiveProgrammingForGraphicsProcessingUnits * FortranFortress * GeneralPurposeGraphicsProcessUnits (GPGPUs) (and GraphicsProcessUnits) * InterProcessCommunication * LinearAlgebraPackage (LAPACK) * MagmaLibrary * NvidiaCorporation * OpenCl * ParallelProgrammingModel * ParaPlop * PatternsForParallelProgramming * PatternLanguageForParallelProgramming * ProgrammingCudaCee * ScaLapack * SingularValueDecomposition * ThrustLibrary ---- '''RubyLanguage''' * DesignPatternsInRuby * LogForRuby * RubyCoerce * RubyGui ** RubyShoes ** RubyTk ---- '''LiterateProgrammingAndTheSemanticWeb''' * ArrLanguage * CubicWeb * EmbeddedDocument * ExplorersGuide to the Semantic Web * HereDocument * JavaScriptObjectNotation * LiterateProgramming * PyLit * SemanticMediaWiki * SemanticWeb * SemanticWebLayerCake * SemanticWikiWikiWeb ---- '''Miscellaneous''' * AboutCategoriesAndTopics * AlicesRestaurant * HistoryOfWikiCategories * PersonalWiki * PhlipsPhlames * SpecificTestimonyOnCategories * TheBestWayToLearnSomethingIsToTeachIt * TheChemicalEngineeringCulture * WikiArchaeology * WikiAsReference * WikiReadersBackground * WikiTimeWarp ---- Rather than focusing on disagreements about WikiGnome topics, I would encourage you to add your personal expertise to any pages here that interest you. I note that you listed CliffordAlgebra. A friend pointed out to me quite recently that the semi-new Algebraic Geometry foundation espoused in what's-his-name's 2001 Oersted Lecture was in fact the same thing, modulo ...something, as CliffordAlgebra''''''s, which I had missed before, since I haven't digested the new foundational approach being championed. ''Some people prefer to say Geometric Algebra instead of CliffordAlgebra. See page 36 in Hestenes paper (below)'' jpf [I think Doug must mean Hestenes's 2002 Oersted Medal Lecture, "Reforming the Mathematical Language of Physics" (http://modelingnts.la.asu.edu/pdf/OerstedMedalLecture.pdf).] (See HestenesOerstedMedalLecture.) * Correct, that's what I meant, thanks for the correction and the link. Incidentally, I got side-tracked and hadn't reached page 36 yet, which is why I was surprised when, upon describing the paper to a friend, he said "CliffordAlgebra". I hadn't spotted nor read about an equivalence. They cannot be identical topics, as opposed to equivalent, though, as I think jpf would agree considering his comment on CliffordAlgebra, since the latter is mostly approached purely algebraically, whereas the new foundations suggested by Hestenes inherently is about the '''geometric''' application. -- Doug ''Thanks for that, it is on the printer - Hestenes is a key person in this and I am putting this reference onto CliffordAlgebra.'' jpf If you happen to know something about that, that would be something of great interest to me, since I'd like to learn more about the subject, and might therefore be of interest to some others here, too. Or similarly with any of the other subjects in which you have expertise. -- Thanks, DougMerritt Oops, excuse me, I see that you long ago contributed to page CliffordAlgebra. I hope you see that there might be still more to be said, in the context I raised. Thanks again, -- DougMerritt ---- ''My main focus at the moment is on implementing computer algebra for CliffordAlgebra. This has led me deep into FunctionalProgramming as a means of implementing all the overloaded operators I need. I am currently looking into DaixtroseLib which seems to have been rather ignored. It has compile time differentiation of expression templates, which I have never come across anywhere else. I am also interested in ways of storing the complicated algebra results which can be made.'' -- jpf Interesting. Theorem databases seem to get frequently reinvented. One would think that there's some handy off-the-shelf answer that would work for you, but the devil is in the details. The most recent mention of something similar I've seen is the most recent post on http://mathforge.net -- I forget which system he was using. -- Doug ---- DeleteWhenRead if you wish - Problems with presenting highly technical stuff on Wiki * There are obvious limitations of plain text. ** ''One thing I can do more of is point people to some other web pages, in particular my own papers which are online although retypeset because that is university policy so they look very odd to me.'' * Special symbols are not conveniently available (but mention a few you'd particularly like, as images can substitute). ** ''I would like to be able to do suffix notation e.g. e1 e2 e3 f1 f2 f3 would be very nice for what I have in mind next.'' *** You might try e₁e₂e₃f₁f₂f₃ (but these require browser support and the spacing may be unwelcome as it varies by browser). * Even when an article can be read online, there are often references to papers or books which are not online. Even standard results and standard terminology are often not given online, leaving parts of online papers semi-incomprehensible. This is particularly a problem with mathematical work, since there are often many references going back dozens of years. ** ''I am very lucky that the HestenesOerstedMedalLecture is on line, though it is true that it refers on. There is a lot available on this topic if you can read either postscript or pdf formats.'' * There is often so much to explain that it's difficult to give enough in a wiki page of reasonable size. ** ''Hence the idea of leaf pages - do you think that helps?'' So far, so good. Well-named leaf pages are okay. I download interesting pdf (or postscript) files as they are generally bulky. Please note the availability of the symbols http://php.jonnay.net/OpenWikiGraphics/math/cross.gif and http://php.jonnay.net/OpenWikiGraphics/math/and.gif amongst others (see OpenWikiGraphics). * ''Thank you, I have applied these in CliffordAlgebra. I also now have http://www.eit.org.uk/del.gif'' -- jpf ** Ah! That symbol is okay, but needs to be copied rather than linked direct. If necessary, further symbols can be designed from scratch if they can't be found somewhere where copying is allowed. ** I have swapped to a different source, and cannot tell if your comment is on the first one or the second, sorry. So could you tell me please? -- jpf ** I couldn't find a restriction regarding the current site, but the previous site does contain a request not to link direct. The best course is to collect (or create) the gif files needed (together with permission to use them), and then ask for them to be made available as OpenWikiGraphics. If you don't want a space next to a symbol, replace the space with SixSingleQuotes (or just omit it if the next character is emphasized using quotes already). ** The "del" symbol should now be linked at http:''''//php.jonnay.net/OpenWikiGraphics/math2/del.gif (it's the same symbol, copied with permission). Regarding the broken link you noticed in TemplatesSmell, I found a version of it using the WaybackMachine, then used Google to locate what seemed to be the current version (or new location) of it. Regarding the change you intended to make to TemplateMetafunctionHasFunction, please note what actually happened - Wiki has a big problem with lines that end with "\", so I restored the page (using the history file, '''not''' the EditCopy) then added a trailing space to the lines affected. ''Thank you for finding FADBAD. I am interested to find such things. As regards the second, all I did was to add the categories. I am aware that wiki seems to wrongly credit changes sometimes, and I do not know why it should do that. The changing of the format of all the code was someone else.'' -- jpf No - you unwittingly made other changes, due to a bug in Wiki. To confirm that, view http:histDiff.cgi?page=TemplateMetafunctionHasFunction&old=8&new=9 to see the two changes occurred in a single edit. ''O.K. That changes reports the edit as 39 years ago!! In any case, I take no responsibility for the line endings. I took a copy of the code in order to try it out. What I can report is that before I made my changes, the changes to the code had been made by a previous editor, and were shown as such. I have experiences several occasions where the wiki change system reports as mine things I have not done. It may be caused by a bug in the save mechanism, or automatic reformatting, but it does not make me responsible.'' -- jpf Perhaps that depends on your operating system. At any rate, http://c2.com/wiki/history/TemplateMetafunctionHasFunction/8 shows the original, and http://c2.com/wiki/history/TemplateMetafunctionHasFunction/9 shows the result of your edit, whilst http:posts?TemplateMetafunctionHasFunction shows you created version 9. A corrected link for the changes you made is http://c2.com/cgi/histDiff.cgi?page=TemplateMetafunctionHasFunction&old=8&new=9&ip=80.229.30.99&time=1135641090. If you know of any other recent time when a change seemed to be misreported, please mention the pagename here, as the history files are kept for only a few days. ''I tried looking for older history e.g. http://c2.com/cgi/histDiff.cgi?page=130.76.64.14&old=7&new=8 and there is no change reported at all. Your previous edit of this page (Revision 219) show you as changing my paragraph as well as your own. The only change appears to be that the lines are longer. I wonder if this is what is causing it - format instructions. That will of course be replaced by this edit.'' -- jpf Version 8 of the TemplateMetafunctionHasFunction page was probably created by 130.76.64.14 (a US ip address) on August 5 2005. That's far too long ago for the history file to be around still, but you would have been able to see the changes by that person by looking at the QuickDiff for the page before editing it. When the specified history files are unavailable, no changes are listed by HistDiff. The missing files(s) don't cause an error message. The problem lies with certain software treating a "\" character at the end of a line in a special way. As for revision 219 of this page, I did change your paragraph - I added a comma to it. That's a technique for keeping the previous contribution visible - it shows as a paragraph with a minor correction or punctuation change. Had your previous edit changed several paragraphs, I would not necessarily have re-edited all of them. Most people don't use this technique, so you can't rely on it. ''Thanks for that explanation about minor edits to punctuation. Is there a wiki page about the technique?'' -- jpf Not that I'm aware of. People are encouraged to learn by observation. Occasionally, someone puts a tip in a page and puts a link to that page in TipsForBeginners, but such pages rarely achieve more than two votes. If a QuickDiff shows many spelling corrections, it may be the case that a paragraph changed by the previous editor appears at the end of the QuickDiff. ''It seems there is more to WikiAdminProgression than I realised. There are things which are too useful to be written down? The risk of that is that observers may not understand and may even be misled. My observation had been that a number of pages I have edited e.g. to put in a category link which seemed useful, then were edited again, often in minor details. I put this down to the fact that as they now came up in RecentChanges (and other such), they came to be noticed. I took the edits at face value and did not see a tactical significance.'' ''To go back to where all this started, I have been looking at the code on TemplateMetafunctionHasFunction and related pages. I have been able to generate some of the incomprehensible error messages discussed on TemplatesSmell and have made some progress. I think I need to move to a better compiler than gcc 3.3.3, which I have been able to crash with this code. That then raises the problem of how to make code available on Wiki without causing the problem before of lines ending with '\' causing problems for Wiki. That means that the long macro which is central to that code would have to be done in one long line, or else put the code up with spaces which would be a problem for someone copying it and trying to use it.'' -- jpf If the compiler needs lines ending in "\", just add a trailing space for wiki purposes, but add a note telling people to remove those added trailing spaces if they are copying the code to compile using it. It's unlikely that source code would need a mix of lines with and without the trailing space. ---- '''Creating CliffordAlgebra pages''' This is a humbling experience. It is a bit like writing a paper which writes itself. I set out a few days ago to adapt what was there already, keeping all of the contributions which were already there, including some of my own from long ago. These were all jumbled up, as they would be on wiki, as different things had been added. I designed a scheme and set about it, but cannot do all that in one session, owing to the need to sleep, eat, work etc. Usually, when writing a paper, the feedback comes when I ask for it. Here, the page ''does not belong to me'' so it grows in its own way. So that what ''I'' want in the end is unimportant. Which is the case anyway as what I really want is to share the knowledge, and for that I have to let go of control. The knowledge was not mine anyway to keep. Even the bits I have figured out for myself, which are not on these pages ''yet'', don't belong to me. So thank you to all those who are involved, including some I know only from their electronic tags. -- jpf Hmm? How many of them do you know in real life? (And how many people have contributed to those pages in recent days? Sounds like more than I had noticed.) -- Doug ''Some, such as you, I know by name. Others I have spoken to on the phone. Someone - see above - has helped me with typesetting special characters. I left a dangling link to WilliamKingdonClifford which someone else has started. Someone else has put a link onto CliffordAlgebraDetails which refers to something I have never heard of. I did meet quite a lot of CliffordAlgebra people at the AGACSE conference in Cambridge (U.K.) in 2001, so I correspond electronically with some from time to time.'' -- jpf Not sure which CliffordAlgebraDetails link you mean, but I did anonymously add the comment about negative curvature and WickRotation, if that's the one you mean. Very important topics (in SR, QM, and quite a few other places). -- Doug ''That was the one I meant. Thank you for the comments, particularly the WikiPedia link. WickRotation does not appear as a term in either GeometricAlgebraForPhysicists or Clifford Algebras and Spinors (Lounesto). HestenesOerstedMedalLecture doesn't cover the Minkowski space, see note on future work. There are some papers on the transformation between spaces in CliffordAlgebra. One I refer to in http://www.ceac.aston.ac.uk/research/staff/jpf/papers/paper26/index.php is this:'' D. Mirrales, J.M.Parra, and J. Vaz, "Signature Change and Clifford Algebras", International Journal of Theoretical Physics, vol. 40 (1) pp. 227-238, (2001) I should add that "Signature Change" is a shorthand for moving between Clifford algebras of different basis type but the same dimension e.g. from Cl(4) (''all real'') to Cl(3,1) ''(1 imaginary)'' to Cl(1,3) ''(3 imaginary)''. This is all leading to a whole section on the geometrical interpretation. -- jpf It is interesting to note that general relativists have found that, in almost all situations (with apparently certain exceptions in certain extensions to GR), Cl(1,3) and Cl(3,1) (spacetime signatures +++- and ---+) are ultimately equivalent, e.g. in yielding the same predictions. I alternate between seeing that as natural and seeing it as surprising. -- DougMerritt ''I have not forgotten about this - I will come back to it. I am a bit busy at the moment marking undergraduate maths tutorials.'' -- jpf ---- There is a page on GeometricAlgebra which needs to be related. It contains external references, some which are not in CliffordAlgebra. ''Yes, I created that a couple of years ago. It originally contained a plea for other programmers' experiences with it, which went unanswered. (An example of a page with little content, just a bag 'o links, which I would probably not create nowadays.) Now I see people spinning new content that I can barely follow. I do hope to come back to the topic someday and catch up. -- DanMuller'' If you're having trouble following, after what you wrote on GeometricAlgebra, it's probably just that we are not slowing down to explain what we're writing. Throw out some questions. -- DougMerritt ''Dan, I had not spotted your contribution here. Please do ask. In particular, I can contribute from the point of view of a programmer. I have been implementing most of what Doug and I are discussing, using C++. See CliffordAlgebraComputation, which I plan to expand with some examples.'' -- jpf The page is largely my creation, with only a few small edits by others since. I copied it from a private wiki that I run. It used to be signed, but I removed the signature some months ago. I'll no doubt toss out some questions when I've made time to give the current content the study it deserves. BTW, I ran across this related blog entry today: http://lambda-the-ultimate.org/node/view/1092 -- DanM ''Thanks, Dan for that, I have picked up a useful link for Leo Dorst and also for Chris Doran'''s ''Ph.D., which I have put onto CliffordAlgebraResources.'' Feel free to wipe out the now-redundant info, maybe leaving a description of how GeometricAlgebra related to CliffordAlgebra. I'd do it if I were confident of my understanding of the relationship ... but I'm not! Is the former a special case of the latter, a subset, or merely a synonym? -- DanM * It somewhat depends on how you look at it, but my understanding is that GeometricAlgebra is best understood as an application of CliffordAlgebra to geometry, whereas CliffordAlgebra in itself is just yet another topic of AbstractAlgebra. Consider the joining of classic algebra and classic geometry under the invention of analytic geometry. -- Doug ''Some of the links on GeometricAlgebra were duplicates the ones on CliffordAlgebra and some were not. I have now started another page called CliffordAlgebraResources which has all the information to hand.'' ''On your other point, some authors do not make a distinction and some do. See some of the material on CliffordAlgebra at the top and also the link to Leo Dorst, incidentally that is a more recent one than the one on GeometricAlgebra.'' -- jpf ---- I have now started to refactor the material on CliffordAlgebra from here to other pages, e.g. CliffordAlgebraInverseDiscussion. -- jpf ---- I wanted to find something like New''''''Year''''''Resolution but the nearest I can find are HappyNewYear and WikiResolution. So '''HappyNewYear''' everyone. -- jpf Following your lead: HappyNewYear, John, and thanks for sharing your time, energy, expertise, and thoughts. -- Doug :-) ---- There is an article in NewScientist this week ("A leap into hyperspace" 7 January 2006, p.24) which discusses the work of Burkhard Heim. See http://en.wikipedia.org/wiki/Heim_theory and http://en.wikipedia.org/wiki/Burkhard_Heim. My interest is that this is a mathematical theory of everything which includes extra dimensions. I have only begun to read the various articles, including this reference given by the NewScientist - http://www.heim-theory.com/. I have not seen any link to CliffordAlgebra, but there do seem to be some similarities to WickRotation. Does anyone else know anything about this? -- jpf Heim theory's inclusion of extra dimensions is not the uncommon thing you seem to think it is; extra dimensions (particularly compactified ones) arose in the 1921 Kaluza-Klein theory (http://en.wikipedia.org/wiki/Kaluza-Klein_theory) that fairly successfully unified GeneralRelativity and MaxwellsEquations/electromagnetism by adding a fifth, compactified dimension to the 4 of space-time in GR. Heim uses very much that same approach - as does StringTheory, for that matter; Kaluza-Klein was and is famous and influential in fundamental physics, because it was so successful. "Merely" adding still more dimensions to Kaluza-Klein in order to further unify the weak and strong nuclear forces turned out to be extremely problematic, but in a certain sense, StringTheory is more or less just the most recent and most sophisticated approach to doing exactly that. (Wick rotation is nothing more and nothing less than converting -x^2 to (x*i)^2 in some equation, any equation, in any area of physics, although as I mentioned it signals a negatively curved dimension and hence is particularly interesting in special relativity. But by the same token, it sort of '''has''' to be lurking in any similar theory, including Heim's, whether it is done explicitly or just left implicit.) That said, the most interesting claims about Heim's work are '''not''' peer reviewed, and therefore the claims are almost certain to be either wrong or misleading. For instance, the wikipedia article claims fundamental particle mass prediction accurate to within 1:10000. I have the following critiques of this: * Contrary to common opinion, and contrary to explicit claims on that wikipedia page, the Standard Model can in fact predict the mass of fundamental particles, and far more accurately than merely one part in ten thousand. The misunderstanding comes up because a major critique is that the Standard Model is not the ideal of being parameter-free; it requires (IIRC) somewhere around 50 parameters - and masses of fundamental particles are one of the '''traditional''' input parameters. However, one can input other kinds of experimentally-derived parameters instead, and use the Standard Model to predict masses pretty accurately. * In the absence of peer review, this claim may simply be false; his equations may not produce any such accuracy. * Even if the predictions '''are''' that accurate, this is nowhere near as amazing as it may sound, because he clearly fitted his theory to the data, rather than making a '''prediction''' (well, he does also make some predictions, some of which are known to be wrong, and others predict particles that others have also predicted but that are as yet untestable). * He uses multiple mass formulae rather than one unified one, for instance. Retrodiction is desirable simply because the lack thereof means a theory is '''wrong'''; retrodiction, especially with loose error bars, is not necessarily a big deal in itself. * Compare with back when the (inverse of the) fine structure constant was thought to be the integer 137, there were any number of theories that showed that "137" was magic for one reason or another - all of which of course turned out to be wrong, since it's actually known to be something more like 137.03600977 (and approximately mu0 c e^2 / 2 h with less precision). It would appear that physicists consider his work very fringe, but is popular with e.g. UFO fans, because of his notions for a space drive. That doesn't mean he's wrong, but fundamental physicists are not so closed-minded as those UFO fans always think they are. If someone thought they could win a Nobel prize by continuing Heim's work, I guarantee you they'd be all over it. I'm not really qualified to evaluate his work in fine detail, but in broad approach there doesn't seem to be anything unique about it at all. And the usual rule of thumb is, "why spend time proving whether an apparently fringe theory is actually true or not?". If you want a truly qualified opinion, though, try asking about it in sci.physics.research. People like Bill Unruh and John Baez could give a truly expert opinion, and the question doesn't appear to have been asked there before, although it was in other newsgroups (science fiction, ufo, etc) over the last decade, including today. If you want a really good overview of how these things are approached, see Physical Review D, "Particles and Fields -- Review of Particle Properties", published every two years. It summarizes all of the best experimental results and evidence for and against the Standard Model, predictions of other theories that contradict the Standard Model, tests that potentially could falsify the Standard Model, and of course, highly detailed tables of all particle properties. The stuff that has been carefully tested to try to disprove the Standard Model is pretty mind blowing; far more wide ranging than one would every guess. I should restart my subscription to NewScientist; articles like the one you're talking about are always fun, even when overly credulous. -- DougMerritt Thank you for the comments. There is plenty there to think about. -- jpf ---- ''re ParallelProgrammingDiscussion'' ''I am not just creating pages for the sake of it. They join up, but at the moment it is a bit like the early stages of the pictures of the Forth Bridge being built, there are just the foundations of the towers. I am actively using OOMPI (see ParallelProgramming) to do CliffordAlgebra on several computers at once. I am combining this with DaixtroseLib to find multiple solutions of equations in parallel, one on each computer. I am building on a few pages which were there already - InterProcessCommunication, MessagePassingInterface, ParallelVirtualMachine. What I need to add is a way of visualising the results of things which here much run in batch mode, so I am interested in ways of getting a GUI back to a web page, e.g. RubyOnRails, RubyTk etc.'' Note to self: Don't forget WhatWikiShouldBe ''The comments from Gunnar and I are suggestions to help you make the relevance of the pages '''ScreaminglyObvious'''. When I embark on a multi-page information download from my knowledge and researches into this wiki, I always start with an informal note of my intentions, a comment showing that I have done my homework, and some evidence that things will be tied up and woven in.'' One of the things I have found out in the last few days is how to overcome the lack of the VisualTour. I run it and get the text of the dot file and then run it in a copy of '''dotty''' which I have downloaded. I then look at the graph and can see where there are links missing which would be helpful to someone who was looking around. For example, there are quite a lot of topics on RubyLanguage which are not linked from that page, which I have attempted to remedy to make it more cohesive and also include some relevant books. One or two things I have seen have been a real surprise and delight. I have used SingularValueDecomposition extensively, but did not know of its use in LatentSemanticIndexing, which has not been my field. It would be interesting to have a version of VisualTour which used LatentSemanticIndexing rather than simple page size, which tends to go to things like RecentChanges simply on size. ---- Considering parallel programming, parallel processing, distributed programming, distributed processing, co-operative programming, fully parallel programming, and related issues - yes, there is more than one idea, more than one model, more than one objective. Currently, I have no constructive suggestions, but I will think about it. ''I have come up with ProgrammingForParallelComputing based on some WikiPedia definitions.'' -- John ---- Re: DaixtroseLib and "I am also interested in ways of storing the complicated algebra results which can be made." I'm interested in what you're doing. Did you find something satisfactory, or if not, what sort of thing are you looking for? -- DougMerritt ''Doug, I have done some experiments with MathML but have not got very far in that direction. I also have made use of EfourGraph and MetaKit as database storage.'' -- John ---- ''Have your pages about parallel programming and message passing all got the same category tag?'' Interesting you should say that. I was waiting to see what made sense as things developed. I did put something about this on ParallelProgrammingDiscussion, which has not yet generated any interest. I don't think that I can use Category''''''Concurrency without some discussion, as that seems to be about the low level things such as threads and mutexes. What I am talking about is the problems of the application of parallel computing to engineering problems. I have used the appropriate language tags, but don't have one yet for the topic area. -- John "which has not yet generated any interest" -- from my point of view, it's because the topic is overly broad. It's as if you put up a page on Computing. I wouldn't know where to begin. Splitting things into (approximately) threads vs workstation vs fine-grained parallelism is well and good, but what exactly are you looking for people to write? -- Doug O.K. I am coming from the position of having programs that work on single processors. Some are in FortranLanguage and some in CeePlusPlus, for historical reasons. We want to be able to run larger cases, and for this we have access to multiple processor environments, usually not fine-grained. 16 PC's with a megabit switch was our cluster three years ago. Now we have access to a bigger Cray system. I have been working for some time with the ParallelVirtualMachine software and I am now changing to the MessagePassingInterface software. Some tools, e.g ScaLapack, work with either. The challenge for me is integrating various different software tools, e.g. DaixtroseLib, with the parallel environment, where it has not been used before. Some of the problems are also associated with the matrix methods, some with data storage. Some of the textbooks give hints and parts of the story. -- John I have been working on applying DaixtroseLib to some programs called ConSol. -- John FYI http://www.cs.cmu.edu/afs/cs.cmu.edu/project/iwarp/member/fx/public/www/fx.html So it's Fortran, what can I say. -- Doug ''Fortran 77 with enhancements which need to be understood.'' Thanks for this. I was not aware of it. -- John ----- Thanks to your CliffordAlgebraResources page, I bought and read A HistoryOfVectorAnalysis, which I found fascinating. A lot of issues that I struggled with personally in math turn out to be large issues that historical figures worked deeply with, not a sign of defective thinking on my part, as I had often felt in the past. Also thanks to your book list, I stumbled over GeometricalVectors, a very cool book; check out the page I created and the MAA review linked to. -- DougMerritt ---- John: With your interest in object functional programming, you might be interested in Martin Odersky's blog post and its external links: http://www.artima.com/weblogs/viewpost.jsp?thread=163733 -- ElizabethWiethoff Thanks - there is also ScalaLanguage. I had not made the connection. -- John ---- I have started PatternImplementationDiscussion. ---- I have made my point on NoBindingContract. I will not attempt to edit it any more. -- John ---- ParkingTicket and TrafficWarden started to have Wiki''''''Badge''''''s for throw away remarks and the originators. ---- John, thanks for the tip about RubyCoerce. Please see that page for more. -- ElizabethWiethoff ---- My plans currently include more work on VariadicTemplatesForGnuCpp which I am currently linking with one of the new BoostLibraries. It is called BoostFusion which now has a page here. It is now available in 1.35.0 (March 2008) so I can now start to make serious use of it. -- John ---- I have now become involved with TheCppStandardsCommittee through the UK Panel. Currently I am exploring the ideas of ConceptCpp by applying it to FC++ (FunctoidsInCpp). There is an interesting discussion on ConceptIntersection. Unfortunately this particular proposal was not included in CeePlusPlusEleven. -- John ---- Hi, John. Thanks for your greeting at TheAdjunct. I haven't said boo online in almost a year. But I wrote about JayRuby here a couple weeks ago and just finished ranting about SmugRubyWeenie''''''s. Last night I paced back and forth coming up with a page about (Ruby) StupidPetTricks, but I have yet to write it. Perhaps I'll take you up on your FortranWeenie challenge. :-) -- ElizabethWiethoff Good to hear from you, Eliz. That comment is amazing. I thought about starting FortranWeenie this morning and didn't do it yet. The other reference is an old one I had forgotten about. I have made a start, as I am a fortran user. -- John ---- John, thank you for your work to get Category''''''Operating''''''System to combine both the singular and plural pages. Great work! -- ChrisGarrod ---- I have started to look at items in Category''''''Semantic''''''Web such as SemanticWeb, DublinCore, PracticalRdf and ResourceDescriptionFramework. The pages existing before I started seem to have been contributed by a number of different intiatives over a period of time and were not all linked. I am attempting to build a more complete framework. There is now a page for RedlandRdfLibraries. This has lead me on to look at ways in which I could organise my software. One way is to use GnowSys, a set of software built on the ZopeApplicationServer. I have now been promised uptodate source for GnowSys and so am creating a page for it. In the meantime I have done some tidying work on the old references to Zo''''''Pe and have learned a lot in the course of doing it. I thought I had done this job, increasing ZopeApplicationServer to over 70 references. It turns out that there are another 100 or so to Zope or zope which were not showing up at all as it is not a wiki word by itself. A lot more work is to be done collecting them in. The reference count is now up to 91 on 20071225. Most of the unchanged ones are in home pages or are the string ''zope'' in a web reference. There are several ContentManagementSystem''''''s built on top of Zope. I have installed PloNe and ZwiKi as a way of capturing my own information. These do not (yet) have an interface to ResourceDescriptionFramework data. I have then found CollaborativePortalServer which does have an interface to RedlandRdfLibraries and also runs on top of Zope. I have been using ZwiKi for the first time and I find it very different from other wikis because of the automatic PageHierarchy which is not present in other wikis I have used. ---- I have created a page for myself on SemanticMediaWiki''''''s as as follows * http://www.semanticweb.org/wiki/User:Fletchjp on SemanticWebDotOrg (previously OntoWorld) (http://www.semanticweb.org/wiki/Main_Page) * http://www.mathweb.org/wiki/User:Fletchjp on MathWeb I am starting to get a feel for how to use a wiki with semantic features. What would be very nice would be to construct a tool which could extract information from an existing wiki e.g. this one and add semantic content. I am also beginning to get a feel for how to enrich the connections between pages. For example, in the pages linked to http://www.semanticweb.org/wiki/Periodic_table I have been able to enrich links such as ''See Periodic table'' to have the meaning ''Has explanation: Periodic table'' where the wiki will collect and index this information, which can be exported using RDF (ResourceDescriptionFramework). Also, the category concept can be carried much further. OntoClean is an interesting way to define metaproperties for web OntologyLanguage. ---- I have been looking at FunctoidsInCpp again with particular reference to the problems discussed last year in ContinuationPassingStyleInCeePlusPlus. Particular problems have come to light which I had not realised before. These come in the '''FC++''' lambda language, which makes use of OverloadingCommaOperator in combination with ArgumentDependentNameLookup. This makes some assumptions about the types of the arguments which are usually valid but lead to some unexpected failures. I have been finding ways around these and learning yet more about the code. One of the problems is that when ArgumentDependentNameLookup of the comma operator does not succeed, the compilation process proceeds by ignoring the argument before the comma. I have been able to modify the behaviour by changing the types of the arguments so that they are found. I cannot find a way to generalize this so that the problem objects are retyped automatically. -- JohnFletcher ---- I have just upgraded my MicrosoftOffice suite to 2007 and have discovered OneNote for the first time. I am experimenting with it for keeping track of lots of different things. It can work as a personal data collection system with notebooks, folders and pages and also WikiLike links between the pages. See also BeyondBullets for a way of using PowerPoint. -- JohnFletcher ---- TheresAlwaysOneEmptyKey seems to be the story when running a registry check on MicrosoftWindows. ---- September 2008. I am revisiting my previous work on the ParallelProgrammingModel. There is a new way of doing efficient matrix computation in single precision, which is to use the processor capacity of the graphics processor!! This leads to thinking whether double precision all the time is the best way to do things. Instead, using single precision to start with and then refining the answer may be quicker. I plan to start a page on this. One resource in use at the moment is the book PatternsForParallelProgramming. -- JohnFletcher ''You may already be aware of this, but see Kahan Summation.'' http://en.wikipedia.org/wiki/Kahan_summation_algorithm ''And everything else Kahan has every written; the man's a genius.'' ----- While you're here, John, I'd like your opinion on TransactionalActorModel. Also, ResumableException (which describes an implementation for C++). -- David ''Thanks, I'll take a look as I had not seen those pages. -- John'' ---- http://sunir.org/meatball/BarnStar/barnstar.gif : Thank you for reviving the practice of pruning and preserving RecentChanges. -- JeffGrigg ---- Note: Inspired by your recent very helpful work on RecentChanges, I did some cleanup work: * In the header list of RecentChanges * In ChangesInMonth ** to reference ChangesInWeek and ChangesInAncientHistory history pages ** and to move discussion to RecentChangesDiscussion (where I folded some old ChangesInWeekDiscussion content too). This cleans up some outdated and contradictory information, and makes the complete range of history more easily accessible. I encourage you to keep up the ChangesInMonth work. Thanks! -- JeffGrigg ---- I am enthusing about RosettaCode, although I have not yet got involved there. I have also found a RubyLanguage wiki on PatternImplementations, something which I have been keeping a lookout for for a long time - see PatternImplementationDiscussion. ---- Started FamilyHistoryOfWiki and proposed ThoseWhoWereThere as a WikiBadge. ---- I just found CeePlusPlusDotOrg. ---- I have wanted to be able to run ConceptGcc on Windows as it is inconvenient for me to boot up a separate computer for Linux just to run a few examples. I have done this using MinimalistGnuForWindows (MinGW), which allows GCC to run in a windows environment. TwilightDragon have a more uptodate release of GCC (4.3.3) for MinGW, and there is also CodeBlocks, which allows me to have projects running on different compilers. I have used the TwilightDragon compiler to build ConceptGcc using MSYS. ---- I came across MathematicalIllustrations in a bookshop. I have not looked at PostScript as something to program in myself before. See ProgrammingPostscript. I am also trying out ConnectedText which is interesting as another alternative to the ways of storing data. It allows pages to have LaTex (using MimeTex) and also GraphViz. ---- I have started a page for PebblePad. ---- Someone suggested having C''''''ategoryBoost so I have created that. It now has 20 pages including BoostSpiritLibrary. ---- PodFather is the title of a programme I saw on the television recently giving the biography of RobertNoyce who was in on the start of integrated circuits and microprocessor architecture. He was one of the founders of IntelCorporation at a time when SiliconValley had not begun. I am surprised how little there is here on this wiki on this. There is no page for IntelCorporation (although there were a number of dangling links) and only a little discussion of hardware at all. I have found a page MicroDesign which had not been edited since 1998. MicroprocessorReport is available as an online publication. There is some information. One way in is through AssemblyLanguage. One personal note. I started as an academic in 1972, one year after the first microprocessors were built. I have been using successive versions of them ever since they first made their way to us. Now we even have GeneralPurposeGraphicsProcessUnits. ---- We often think we WouldntStartFromHere and DontLetTheSunSetOnBadCode, but MostGoodCodeIsWrittenAfterDark it seems. Or we can go ToMorrow. ---- Remember TheGap although we never found out much about what happened. ''November 2009'' ---- I have restarted some work using LogicProgrammingInCpp and started to look for some references. I have found OoppExploringTheMultiparadigmShift which seems worth its own page. FunctionalReactiveProgramming is something I had never found out about before, and that has led me to SpecifyingBehaviorInCpp, which initially I have spelt not as written by the authors as I read it as what I am used to. I am extending now to FunctionalSimulationProgramming. ---- Thanks to ScottCooper for bringing SourceWatch to my attention. ---- There is a little referenced page VariantEnglishSpellings which I want to bear in mind when the question of spelling comes up. ---- I have just had a novel experience - someone maintaining software has contacted me, instead of the reverse process. Tim Daly from AxiomTheScientificComputationSystem has contacted me about some issues on CliffordAlgebra. ---- I have just found VUE (VisualUnderstandingEnvironment) and ZoTero which have given me a pair of integrated tools which are going to make a big difference to keeping track of information. I am just starting. ---- I have begun using TiddlyWiki which I rather like for keeping track of things. ---- I have been learning a lot with CoMonads and HaskellArrows. See also WikiAsReference. ---- I have switched to using GitVersionControl for code versioning. I am making good progress with it. ---- Started HowStandardsEmerge. Also NvidiaCorporation and ComputeUnifiedDeviceArchitecture (CUDA). ---- While on holiday I bought a book on the R language (ArrLanguage) which is used in statistics. I had not heard of it before. I thought quite hard as to the correct WikiName for R and when I made the page I found there was already a backlink. In the course of finding out about this I have discovered LiterateProgramming. I am amazed I had not come across this before. Related pages are ArrInaNutshell, EssLanguage, EssWeave and LyEks. ---- I have just found PXSL (ParsimoniousXmlShorthandLanguage) one of the ThingsIwishIhadKnownBefore. ---- Interesting paper: DeprecatingTheObserverPattern based on ScalaLanguage. ---- LowLevelVirtualMachine (LLVM) and Clang look interesting. Doug Gregor is involved, which is interesting. He is also involved in C++-Next (CppNext) which needs a page so I have created one. Leading on to StlFilt which I should have noticed before. ColorGcc gives coloured error messages to GnuCee and GnuCpp. ---- I have a weird problem with UbuntuLinux which has led me to look into IntelSixtyFourBitLinux a bit more closely. Looking at it again, I have found FilesystemHierarchyStandard (FHS) and LinuxStandardBase (LSB), terms I had not noticed before. ---- Found for the first time: TrustTheMetastructure, TrustingTheCode, CausallyReflectiveMetastructure, TheKenThompsonHack. ---- I have just been exploring the EclipseIde for the first time. How could I have missed this? I have integrated the addon to work with CeeCeePlusPlus and also GitVersionControl. FortranLanguage anyone? I was joking, but there is something called Photran - http://www.eclipse.org/photran/. This leads on to MixedLanguageProgramming. It can also do PythonLanguage as well. ---- Now looking for graphical output I have found OpenGl, MathGl, FlTk, GnuPlot (old friend) and GluPlot. ---- I have found a new piece of software for the SemanticWeb called CubicWeb. I am attempting to get it working. Along with this I want to explore links between the ideas of LiterateProgramming and the SemanticWeb -> LiterateProgrammingAndTheSemanticWeb. CubicWeb has an option to use ReStructuredText (which has had a page here since 2004). It is used by DocUtils which is a PythonLanguage thing not yet mentioned here. I have also just found PyLit. I am getting rather excited about the potential of CubicWeb and some of the other interests here are concerned with ways of getting information out of other wikilike things and into it. It always turns out to be easier to get presentation information out than structural information including links. A warning there not to be enthusiastic too quickly without checking the export options. I am finding CorePythonProgramming helpful for this work. ---- '''Responses and Ramblings''' * I have looked at the descriptions about CubicWeb and it appears to be promising. I appreciate the work you have put in to contribute useful commentary and information, and I note that you have been around for about ten years doing so! I am a fan of OneNote and utilize it everyday and on every browsing session. * I am making notebooks which are resultant of particular topics or certain individuals. I established one today with the name of C2_Wikizens_JohnFletcher. It starts with a capture of this page and the links from it to this wiki and includes external links. One of the great things about OneNote is its indexing capabilities, which I find UsefulUsableUsed on many occasions. I am starting another one called Information_Forms_Textual, which will include the links you have made just recently. * As you know, I have been working on some software which deals with some of the same things you are interested in, including approaches addressing the SemanticWeb, I am taking a somewhat different approach than the CubicWeb. Where they have "Cubes", I have "Artifactories". My software is in the building mode and will employ both local executables and the use of the browser and Websites, with the Home site being SunflowerSynergies, which will be my Web Collective for the various ideas and implementations which will be synergistic, therefore the name. * I agree that the discourse on WardsWiki has been several degrees less than in the past when people talked "to" other wikizens about areas of common interest and not "about" others and problems of wiki socialization. I have continued in what I see as the core of what this wiki is, and that is Dialogue. I will continue to expose my thinking in my ThinkingOutLoud contributions and in conversations such as this one. The SemanticWeb is a GoodThing, and also a huge idea. It is being approached, but so far does not have many personally applicable executives to employ it in a Personal InformationManager and management system. I would rather use than build, but have been forced to do the later until something fitting the bill comes along. Building is an effort which in today's dynamically developing scenarios, is changing the rules, fabric, users, and needs at a pace difficult for a small development team to keep up with. * Ideas and their development in the area of personal usability is where I am at. When something like TiddlyWiki and CubicWeb come along, I see more in them a promise of an idea, sort of like a nugget or metallic ore. The idea is there, refined, but not yet refactored for use in a simple schema, using text and text derivatives (no complicated databases), in an ongoing, consistent, connected, and in an extensible, exchangeable format, using words for ArtifactNames, including, ExtendedWords, CompoundWords and compound words joined but separated by underscores. * It has seemed in the past that what I have had to say, and the ideas I am working on, have except for a few persons, escaped much dialogue. It may be that only 3 or 4 people have seen in what I am seeking, a common interest. * In my SunflowerSynergies, I am trying to create a venue for a clearer exposition of my ideas and the ideas of others in applicable, reachable and realizable reality. It will be a slow development, but hopefully one that will past the test of time, and not be here today, gone tomorrow. With the affordability of space on the personal level of massive proportions (in the tens and soon hundreds of terabytes), what you do, build and use need not disappear, and should attain a permanent "reachability", both for personal and shared usages. * An new form of permanent survivable archival storage is required for what I propose as the LibraryOfNewAlexandria, where all of what is to become "reachable" is stored and made available by various, including future schemes and scenarios. * You will find this and other archives ** My Ramblings and responses:: *** http://SunflowerSynergies.com/ramblings/DonaldNoyes/top.html * You mentioned the need for something to use for the 1500 pages you have. I just downloaded EverNote, and it has some possibilities. It includes functions for clipping parts or all of a wiki page, a document, and (up to 2Gb) of online data which you can sync to all the computers you would be using. It requires the loading of EverNote on each computers and a free online repository for your data. It has abilities which allow sharing of data with others. You might check it out to see if it will do the job. http://evernote.com -- DonaldNoyes.20110118 ---- When I went searching for information on EverNote I have also found NeverNote. ---- I have not made the progress I expected with the GeneralPurposeGraphicsProcessUnits (GPGPUs) as I distracted myself with CubicWeb instead. I have now made up for that by finding that the MagmaLibrary makes it very easy to adapt programs which use LAPACK (LinearAlgebraPackage) to run on a GPGPU. ---- Hooray. I can still find things in WikiWiki which have been there for years and I never knew. Look at HereDocument which is a phrase I had not heard before, but is actually well known enough to have a WikiPedia page. ---- Curious. No one has ever up until now created a page for StaticCodeAnalysis and there are no pages for Lint and similar tools for C and C++. ---- I have started pages for ProgrammingTheSemanticWeb and ResourceDescriptionFrameworkInAttributes (RDFa). I have been searching to find a way of embedding RDF into the data in TiddlyWiki as part of wanting to integrate my PersonalWiki work. I have found an addon for TiddlyWiki which enables a mixing of wiki markup with HTML. This means I can at last bring in some of the data with HTML markup from other wikis and integrate it with my TiddlyWiki files. I have not found a way to automate that at the moment, so it is a long task to do all of it, 2500 pages. See TiddlyWikiExtension for more discussion of this. ---- Celebrating WikiAtThirtyFiveThousand with PageThirtyFiveThousand!!! ---- Started MaspImplementationDiscussion and ReflectionToolForEngineers. Now exploring PiratePad. ---- Started CarParkSyndrome as a ManagementAntiPattern. Thoughtful about the ProgrammersStone. ---- I am investigating Mahara (http://mahara.org/) as an alternative to PebblePad. I have come across (again) ConnectedText which I had explored before. I am now using this instead of TiddlyWiki as personal notemaking software. ---- SmallestFederatedWiki looks extremely interesting. * see ** http://c2.fed.wiki.org ** http://jfletcher.fed.wiki.org ---- I have been putting together pages on programming for GPGPUs, which I will add to the index above in the ParallelProgramming topic. ---- I have been programming for the first time in VisualBasicForApplications, to write some macros for a spreadsheet in MicrosoftExcel. Thank you to someone who provided VbaExercises. ---- I have for a long time had a copy on my bookshelf of ThePragmaticProgrammer by AndrewHunt and DavidThomas. Now I have a copy of PragmaticThinkingAndLearning by AndrewHunt which is very thought provoking. These are both part of the PragmaticBookshelf. ---- Today I have updated some pages to introduce OpenBlas as a successor to GotoBlas which I have used for a number of years but is no longer being developed. This also provides an implementation of the LinearAlgebraPackage (LAPACK). I am used to the fact that nobody else seems to comment on these pages relating to computation of LinearAlgebra. I hope that some of the many readers of this wiki derive benefit from information which is kept up-to-date as far as possible. ---- I have had an interesting time as a result of asking the question WhatIsaThunk and finding the answer on this wiki. This has lead me into so many avenues of WikiHistory that it feels like WikiArchaeology - a page I thought I was inventing but it is already here and has been since 2005!! On closer inspection I find I seem to have invented it!! ---- WhatIsaThunk has a link to CallByName which is something I had never heard of before, with origins in AlgolSixty. CallByName in turn links to JensensDevice and code like this: sum(i, 1, 100, 1/i) Here '''i''' is a placeholder indicating how the values 1 to 100 are to be treated. I have taken this as a challenge to see how this could be implemented in CeePlusPlus. I have found several ways including these: * FunctoidsInCpp (FC++) * BoostLambdaLibrary * A combination of the two above, using BoostLambdaLibrary to provide the placeholder calculation within FunctoidsInCpp. ** There is an example of something similar on VariadicFunctoidsInCpp. * BoostPhoenixLibrary * StdValarray * IT++ (a signal processing library see http://itpp.sourceforge.net/current/index.html) * TemplateMetaprogramming as explained in GenerativeProgrammingBook Next challenge * BoostProtoLibrary Most of these things already have pages here. There turn out to be some interesting issues about handling the fact that what starts out as a calculation with integer values has a floating point result. Some of the methods above handle this better than others. ---- I have since been looking at using the BoostPhoenixLibrary in combination with FC++. I now have a work in progress to build a new version of FC++ which will be able to do things which it could not do before, which it will inherit from Boost Phoenix. This is turning out to be very interesting and not too difficult when using some things available with CeePlusPlusEleven. I find that I am going to have to learn a lot about the BoostProtoLibrary to make progress. That looks worthwhile as it is a good toolkit for building an EmbeddedDomainSpecificLanguage in CeePlusPlus. JavaScriptObjectNotation (JSON) was one of the applications I started to look at with all this. '''February 2014''' I have now become the maintainer of the BoostPhoenixLibrary!! That has given me the responsibility to catch up on a considerable backlog of bug reports. In the course of tackling these I have learned a lot about the software, the tools needed, and the process of learning. I can see an important difference between being a user of a library and the maintainer. ---- I have been doing some more WikiArchaeology in the course of building C''''''ategoryLearningMethods. '''WikiArchaeology is fun!!''' Someone has brought my attention to MentalIndexability and I have added it to the category. ---- I am pondering the following entry made about 10 years ago (2002) by WardCunningham about this wiki on the page PleaseDontDeleteMyName: ''This site is more about the organization of experience than the preservation of history.'' The thought I am having is that without some history to reflect on I cannot organise my experience. He does use the word ''more''. ---- ''organization of experience'' vs. ''preservation of history'' Interesting. Although I think they describe the same dichotomy, these words make more sense to me than the words ''document mode'' vs. ''thread mode''. It's funny - there are some wiki pages I consider "good pages", but I cannot say what makes a good wiki page. Some good pages have history, some do not. Maybe Ward's comment has to do with history being a "means" of organizing experience on wiki, not an "end", or "purpose", of wiki. -- StanSilver ---- Yet another example of HowWikiWorks for me. I noticed that there was a page called EtPlusPlus on RecentChanges. Anything with P''''''lusPlus in the name looks interesting to me. What is this? It turns out that it some code which no longer exists, but the reference was on the web page of IvTools which still does exist and is in current development. So I have followed that up and found also IplPackage (''Invocation Programming Language'') and a number of other related pages, explained best by looking at ScottJohnston's page. There is also a link to history as some of this code was written while people were discovering patterns, which is the reason this wiki is here in the first place. Time well spent. I have now also found the LushLanguage while looking for more things on IvTools. Someone knew about it as it has a reference in SeriousVersusScriptingLanguages before it gets indexed. ---- I have started a page for GeometricAlgebraForComputerGraphics by John Vince, which I found recently in a bookshop. ---- Until recently I thought that the best approach to the solution of a set of linear equations, or related eigenvalue problems, could be found through use of LAPACK (LinearAlgebraPackage) or related libraries which apply standard numerical methods to the matrix or matrices and produce answers subject only to the roundoff errors. I have now found that there are a class of iterative methods which can solve some large matrix problems using less memory and more quickly. Some of these have only been clearly defined in recent years. There is very little on this wiki about numerical solution of equations, so I don't think I am going to start a lot of pages on this topic here. By 'large', do you mean 'large, but sparse'? That is a good question to which I am working on the practical answer. I had assumed that the matrices were not sparse and so had not looked at techniques directed at sparse problems, with the exception of the Arnoldi method (ARPACK) which I have used to find a small number of eigenvalues. However, the matrices are now so large that it looks as though there is an advantage to use e.g. GMRES. The answer to the question is that for an example, about 60% of the matrix entries are zeroes, but the rest are so distrubuted that sparse methods are difficult to deploy. It does mean that there are some methods which are called 'sparse direct methods' do help. As the problems get larger and larger, the methods needed have to be more and more parallel in implementation, something which is coming to be known as ExascaleComputing. ---- About a year ago (summer 2012) I cam across PragmaticThinkingAndLearning by AndyHunt. This has set me thinking about how the human brain works in two different ways, one more analytical (left brain) and one more graphical and integrating (right brain). This is discussed in much more detail in TheMasterAndHisEmissary by I''''''ainMcGilchrist. I expect I will convert those references into page links here quite soon, but I am not quite ready. I have been looking for relevant material and some of that is referenced next. I am finding a small amount of material here around the key word '''gestalt''' such as GestaltPhilosophy and MuddyDecomposition. I can see a lot of arguments going on here which display signs of the war between the sides of the brain e.g. HolyWar. I am picking up some useful gems e.g. VisualPython. I have also found pages on DouglasHofstadter and his books including FluidConceptsAndCreativeAnalogies which I want to compare with PragmaticThinkingAndLearning. ''Right-brain vs left-brain is perhaps a handy metaphor but as a neurological reality, wasn't it thoroughly debunked some time ago?'' See TheMasterAndHisEmissary by I''''''ainMcGilchrist for a LONG discussion of this issue. He looks at a lot of the medical evidence. He also has a lot to say about metaphor. See http://en.wikipedia.org/wiki/The_Master_and_His_Emissary It is time for a separate page, which I have now made. I had been hesitating as there is not a direct link to programming. There is an indirect link through PragmaticThinkingAndLearning as both books reference Dreyfus and Dreyfus (see DreyfusModel). Also relevant: WittgensteinsLadder which I only just found by way of ShuHaRi. ---- I have started a page for NepomukKde within the context of the KayDesktopEnvironment. This has links to the SemanticDesktop. ---- Thinking about books, I have started BookStart and ReadersGroups. I rediscovered BookShelved wiki which I had forgotten about. I also started UnderstandingTheLinuxKernel in response to discussion on UserSpace. ---- I have just seen a page DeclarativeMetaprogramming which looks very interesting. On ThereAreExactlyThreeParadigms it is linked to FunctionalReactiveProgramming which is something I have looked at before. I thought of a link to LogicProgrammingInCpp. There is also a possible link to IntentionalProgramming. ---- Very interesting: KnowledgeMapsWhitePaper. I have just put in links here between KnowledgeMap and MindMap which were not linked at all or even have category in common. This needs further work. ---- ''Do not let a new page be lonely in the morning when the indexing comes. Always think what links it should have so that it can be found. (Of course, when the indexing comes depends on your timezone in the world. I am in the U.K. most of the time.)'' Creating TheMasterAndHisEmissary and linking it took me to 500 links to this page!! 20130709 ---- I am searching around with the name Paulo Friere in my mind. I found some interesting links to AugmentationOfTheIntellect and AugmentingHumanIntellect (articles by different people). ---- New page on InternetHistory started (not by me). I have been looking for the links it needs. ---- I have just looked up WabiSabi and found also PervasiveUnsatisfactoriness (a page with very few links). All of this reminded me of my visit to the city of Hoi An in Vietnam. ---- I have started CommentOnCriticismOfTheGangOfFour about criticism on GangOfFour about the DesignPatternsBook. I have also taken off the bookshelf the RefactoringBook and RefactoringToPatterns. I have not used them much as the examples are in JavaLanguage rather than the CeePlusPlus of the DesignPatternsBook. This is leading me to think about the nature of expertise and how it is acquired, see DomainExpert, SubjectMatterExpert. Also expertise is sometimes not accepted, see DismissalOfSubjectExperts. I am linking this very much to the DreyfusModel and PragmaticThinkingAndLearning. ---- I have started PatternsInFunctionalProgramming which looks very interesting. I already have one new functoid for FunctoidsInCpp, '''fork_'''. ''(fork_(f,g,a) -> (f(a),g(a))'' ---- Quite by chance I have come across the page MetaBaby which has the following: ''MetaBaby (MB) is mostly for the RightBrain, WardsWiki (WW) for the LeftBrain. WW persists, MB is transient. MB is the opposite end of the continuum from'' ''WikiPedia-->WardsWiki-->MetaBaby'' I find this very interesting. The links LeftBrain and RightBrain are unfilled. This has been around since at least 2007. I wonder if there has been much debate about this. I did get a comment on TheMasterAndHisEmissary to the effect that left and right brain had been debunked. I am tempted to start the pages. ---- I have been amazed and very pleased that Steven Lahar who has written CliffordAlgebraaVisualIntroduction emailed me today quoting something I wrote on CliffordAlgebra. ---- I now have a second edition on TheCppStandardLibrary by Nicolai Josuttis. This covers also CeePlusPlusEleven. I will write some notes on it when I have started to use it. ---- I am reconnecting myself with the work I did to implement PatternsInFunctionalProgramming and linking it to a number of other topics including ImplicitLazyEvaluation, ExplicitLazyEvaluation and LazyPtrProxy, one of the hidden gems in FC++ (FunctoidsInCpp). ---- I have found SideWiki and WeavingTheWebWithCmapsAndSidewiki which seems to be abandoned.. ---- I have a copy of PurelyFunctionalDataStructures by Chris Okasaki which has some interesting discussion of FunctionalProgramming. There is a page on it here but it has been an orphan until I adopted it. I have also found this review on the topic: http://cstheory.stackexchange.com/questions/1539/whats-new-in-purely-functional-data-structures-since-okasaki I think I can feel a new page coming on. ---- Some months ago I contributed to WikiReadersBackground. ---- Discovery: IndustrialStrengthCeePlusPlus, ExtremeGuidelinesForCeePlusPlus, ExtremeGuidelinesForCeePlusPlusDiscussion These need further investigation. ''20140906 - DonaldNoyes - I added some information about pdf versions and an online html version of the book to the page IndustrialStrengthCeePlusPlus that may be helpful'' Thank you, very helpful. ---- I have had an interesting trip around the wiki starting from HyperTextHistory where someone had added a link to PaulOtlet. I had never heard of this pioneer of the study of information. I now plan to visit the Mundaneum in Mons, Belgium when I can. That lead on to a look around a lot of pages about HyperText and a revisiting of a category that I had forgotten I created in 2009! ---- I recently asked WhatAreTheDifferencesBetweenPythonTwoAndPythonThree and have had an answer which helps. I need this to understand the choice which is available on the RaspberryPi. ---- For information on compression tools such as xz (EcksZed) now being used by LLVM (LowLevelVirtualMachine) see C''''''ategoryCompression for a link to a WikiPedia article. ---- I am interested in idea of a ThresholdConcept and the nearest page here I can find is InorganicComplexityThreshold. See also ParadigmShift. ---- I have started BoostForDummies and TipsForBoostLibraries. At the moment I am working on BoostPhoenixLibrary. I became one of the maintaineers early in 2014 and I have gone back to it lately and had some encouraging moments figuring out how to fix some of the bugs. It is clear to me that each CeePlusPlus compiler has subtle differences and these throw up problems for maintainers of the BoostLibraries. ---- CategoryHomePage