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 have now signed up to spend one more year, working three days per week, and retire in the summer of 2014. I don't expect that this will be 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.
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
-- John Fletcher (mailto:J.P.Fletcher@aston.ac.uk
Past interests FunctionalProgramming GraphTheory StandardTemplateLibrary BoostLambdaLibrary TemplateMetaprogramming ThePragmaticProgrammer WhenShouldWeUseCeePlusPlus CommonHigherOrderFunctions CliffordAlgebra TemplatesAndRunTimeTypeInformation GenerativeProgramming TraitsTemplates RunTimeTypeInformation TemplatesForReflectionInCpp
C++ and templates and functional programming
ParallelProgramming, LinearAlgebra and FortranLanguage
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)
[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
Thanks for that, it is on the printer - Hestenes is a key person in this and I am putting this reference onto CliffordAlgebra.
- 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
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.
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
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
amongst others (see OpenWikiGraphics
- Thank you, I have applied these in CliffordAlgebra. I also now have -- 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
) 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.
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.
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=22.214.171.124&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=126.96.36.199&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.
Version 8 of the TemplateMetafunctionHasFunction
page was probably created by 188.8.131.52 (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?
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.
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.
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.
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.
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
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
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.
- 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
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
Resolution but the nearest I can find are HappyNewYear
. 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
. 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
. 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
/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
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.
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.
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
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
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
started to have Wiki
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
. I have now found out that this particular proposal is not being included in CeePlusPlusZeroEx
. -- 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
System to combine both the singular and plural pages. Great work! -- ChrisGarrod
I have started to look at items in Category
Web such as SemanticWeb
. 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
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
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.
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
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++).
Thanks, I'll take a look as I had not seen those pages. -- John
- 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:
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
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
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
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
) 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
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
, but MostGoodCodeIsWrittenAfterDark
it seems. Or we can go ToMorrow
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
. See also WikiAsReference
I have switched to using GitVersionControl
for code versioning. I am making good progress with it.
. Also NvidiaCorporation
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
I have just found PXSL (ParsimoniousXmlShorthandLanguage
) one of the ThingsIwishIhadKnownBefore?
Interesting paper: DeprecatingTheObserverPattern
based on ScalaLanguage
(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
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
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
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
Now looking for graphical output I have found OpenGl
(old friend) and GluPlot?
I have found a new piece of software for the SemanticWeb
. I am attempting to get it working. Along with this I want to explore links between the ideas of LiterateProgramming
and the SemanticWeb
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::
- 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
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
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
(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.
. Now exploring PiratePad
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.
looks extremely interesting.
I have been putting together pages on programming for GPGPUs, which I will add to the index above in the ParallelProgramming
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
. Now I have a copy of PragmaticThinkingAndLearning
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!!
has a link to CallByName
which is something I had never heard of before, with origins in AlgolSixty
in turn links to JensensDevice
and code like this:
sum(i, 1, 100, 1/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:
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
(JSON) was one of the applications I started to look at with all this.
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
. 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
. 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
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
. 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?
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.
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
. 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
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.)
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
(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
. 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
. Also expertise is sometimes not accepted, see DismissalOfSubjectExperts
. I am linking this very much to the DreyfusModel
I have started PatternsInFunctionalProgramming
which looks very interesting. I already have one new functoid for FunctoidsInCpp
. (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
I find this very interesting. The links LeftBrain?
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