User talk:Tobias Bergemann

From Wikipedia, the free encyclopedia

Hello, welcome to Wikipedia. Here are some useful links in case you haven't already found them:

If you have any questions, see the help pages, add a question to the village pump or ask me on my talk page. I hope you enjoy editing here and being a Wikipedian!

Tip: you can sign your name with ~~~~

snoyes 22:33, 1 Jan 2004 (UTC)

Contents

[edit] The Humungous Image Tagging Project

Hi. You've helped with the Wikipedia:WikiProject Wiki Syntax, so I thought it worth alerting you to the latest and greatest of Wikipedia fixing project, User:Yann/Untagged Images, which is seeking to put copyright tags on all of the untagged images. There are probably, oh, thirty thousand or so to do (he said, reaching into the air for a large figure). But hey: they're images ... you'll get to see lots of random pretty pictures. That must be better than looking for at at and the the, non? You know you'll love it. best wishes --Tagishsimon (talk)

[edit] Article Licensing

Hi, I've started a drive to get users to multi-license all of their contributions that they've made to either (1) all U.S. state, county, and city articles or (2) all articles, using the Creative Commons Attribution-Share Alike (CC-by-sa) v1.0 and v2.0 Licenses or into the public domain if they prefer. The CC-by-sa license is a true free documentation license that is similar to Wikipedia's license, the GFDL, but it allows other projects, such as WikiTravel, to use our articles. Since you are among the top 2000 Wikipedians by edits, I was wondering if you would be willing to multi-license all of your contributions or at minimum those on the geographic articles. Over 90% of people asked have agreed. For More Information:

To allow us to track those users who muli-license their contributions, many users copy and paste the "{{DualLicenseWithCC-BySA-Dual}}" template into their user page, but there are other options at Template messages/User namespace. The following examples could also copied and pasted into your user page:

Option 1
I agree to [[Wikipedia:Multi-licensing|multi-license]] all my contributions, with the exception of my user pages, as described below:
{{DualLicenseWithCC-BySA-Dual}}

OR

Option 2
I agree to [[Wikipedia:Multi-licensing|multi-license]] all my contributions to any [[U.S. state]], county, or city article as described below:
{{DualLicenseWithCC-BySA-Dual}}

Or if you wanted to place your work into the public domain, you could replace "{{DualLicenseWithCC-BySA-Dual}}" with "{{MultiLicensePD}}". If you only prefer using the GFDL, I would like to know that too. Please let me know what you think at my talk page. It's important to know either way so no one keeps asking. -- Ram-Man (comment| talk)

[edit] Bundesland-level categories

Hello! I see you are listed in Category:Wikipedians in Germany. I have made subcategories for each Bundesland in case you would like to add yourself to the appropriate one. See Category:Wikipedians in Germany for a list of the subcategories (they use the English names, the same as their Wikipedia articles). --Angr (tɔk) 15:55, 15 January 2006 (UTC)

[edit] forth and scheme

I see you are interested in both Forth and Scheme. These are my two favorite languages, and I feel they have much in common, both having minimalist philosophies and being highly extensible. What do you think? How did you get interested in them? (you can reply here, I'll watchlist you) Ideogram 10:36, 15 June 2006 (UTC)

Speaking as an engineer (well, I am a physicist really, but I work as a software developer), I generally find an economical use of resources and concepts attractive. I would not call Forth or Scheme my favorite languages, however. I like them because they encourage a bottom-up/incremental approach to software development (which in my experience leads to really nice solutions) and because they encourage the development of domain-specific languages. However, the one resource that I now value most highly is developer time, i.e. the time that I myself have to invest to solve a given problem. The one drawback of minimalist languages (I would include Lua into this category) I see is that while I can extend them in all possible directions I often have to do a lot of things myself that I do not have to with other languages.
Both Forth and Scheme suffer from highly fragmented user communities ("If you have seen one Forth, well, then you have seen one Forth."), both with dozens of mostly but not quite standard-conforming implementations an few portable libraries. I think this a result of their respective minimalist philosophies.
I learned Forth to see how close one could get "to the metal" while retaining the possibility to use high-level concepts, and I learned Scheme to understand continuations, and because it is used in the book Structure and Interpretation of Computer Programs. I learned them years before I considered working as a software developer. During that time I also toyed around with Prolog and Common Lisp. At work, we use a mixture of C++ and Python.
I have not had the chance to use Forth or Scheme in a commercial setting yet, and I wonder how well they scale to teams with more then a dozen developers.
That said, I still like to use Scheme if I do not know what I am doing, i.e. if I am trying out things, toying with ideas etc. — Tobias Bergemann 11:06, 15 June 2006 (UTC)
I think you make valid points regarding the disadvantages of minimalist philosophies. I was always turned off by the philosophy of Perl but when I actually used it I was amazed at how quickly I could produce something. It just goes to show no language is perfect.
I actually feel continuation-passing is a better foundation for programming than function calls. Carl Hewitt in his Actor paradigm showed that continuation-passing can represent all control structures, and it generalizes to parallel distributed systems better than synchronous function calls. The requirement to optimize tail-recursion is an ugly hack in the Scheme specification that would not be necessary in a continuation-passing style.
BTW I am working heavily on programming language and I would love to have your input there if you are interested. I even copied your references on typing for use there. Ideogram 11:38, 15 June 2006 (UTC)
On a syntactic level, explicit continuation-passing can get annoying if you have to write down all intermediate continuations. This may be strictly a language issue, and may well vanish with a syntax that is better adjusted to continuation-passing (for example, the Io language used in Raphael Finkel's book Advanced Programming Language Design; this is not the same language as Io). However, there are certainly situations where continuation-passing can actually improve the clarity of a program, e.g. when you are passing around explicit error continuations or are simulating Prolog-style constraint programming. (These uses can often be simulated with exception handling as they only use single-shot upward-only continuations.)
On a semantic level, I find it difficult to reason about the performance of a program written with explicit continuation-passing. It all depends on the concrete representation of the continuations, I guess. Modern Scheme and ML compilers work hard to remove unnecessary continuations, e.g. using Amr Sabry's Administrative Normal Form internally.
I probably would prefer to work with a rich language that supported exception handling, co-routines, cooperative multithreading, futures etc. out of the box than work with "naked" continuation-passing.
My knowledge about parallel distributed systems is too limited to form an opinion about the advantages and disadvantes of continuation-passing. Do you mean distributed as in geographically distributed networked systems? Does your definition of parallel include mutable shared state?
Shared memory parallelism is one model but it does not map well to distributed systems, which, indeed, may be geographically distributed and therefore have high latency. The actor paradigm is based on message-passing and has no globally shared state. Continuations can naturally be viewed as a form of message-passing.
The high latency and possible communication failures in geographically distributed systems favor asynchronous message-passing over synchronous function calls which may block for arbitrarily long periods of time. This solution has been discovered over and over every time large geographically distributed systems have been built.
Note that with increasing clock rates and shrinking feature size the same issues with geographically distributed systems appear for signals that have to travel across a large CPU chip. Current practice is moving to multicore chips for this reason; they generally have a shared memory architecture but this will become increasingly difficult as cores and caches multiply and cache coherence becomes an issue. See the Cell chip architecture for instance which does away with cache entirely.
As for the ongoing work on the page programming language, I am not sure I can be of much help. This is a really big topic, given the rich history and the sheer number of programming languages. — Tobias Bergemann 12:54, 15 June 2006 (UTC)
No one "knows it all" regarding the subject. What makes Wikipedia great is we can each contribute part of the knowledge. We only need a general overview in any case; it is intended to be an introduction to a reader who doesn't even know what a programming language is. You have already contributed by giving me two references on types that I was able to use; our greatest need right now is for more references on already written material. Come on, it'll be fun! Ideogram 13:24, 15 June 2006 (UTC)

Thank you for your heavy work on forth. It is greatly appreciated. Ideogram 15:33, 20 June 2006 (UTC)

[edit] Articles you might like to edit, from SuggestBot

SuggestBot predicts that you will enjoy editing some of these articles. Have fun!

Stubs
Repressor
Inferno (operating system)
First-class function
Curses (programming library)
Windows Me
James Gosling
Endonuclease
Rc
Comparative genomics
TATA box
Viroid
Human genetics
Glen Innes, New South Wales
Windows NT 3.5
GLK
UIQ
Windows NT 3.1
A Sharp (Axiom)
Language-independent specification
Cleanup
Plan 9 from Bell Labs
Programming in the large
POSIX
Merge
Curses based
Word processor
Plain text
Add Sources
Antisense
Module (programming)
Allele frequency
Wikify
Full system simulation
Controlling element
Ruud Programming
Expand
Software cracking
Magic number (programming)
Transcriptome

SuggestBot picks articles in a number of ways based on other articles you've edited, including straight text similarity, following wikilinks, and matching your editing patterns against those of other Wikipedians. It tries to recommend only articles that other Wikipedians have marked as needing work. Your contributions make Wikipedia better -- thanks for helping.

If you have feedback on how to make SuggestBot better, please tell me on SuggestBot's talk page. Thanks from ForteTuba, SuggestBot's caretaker.

P.S. You received these suggestions because your name was listed on the SuggestBot request page. If this was in error, sorry about the confusion. -- SuggestBot 22:37, 27 June 2006 (UTC)

[edit] The "programming language" article suffix

I read your comments on the language naming conventions talk page about the questionable "programming language" article suffix, and i thought you might be interested to know that several editors (including me) are trying to get the policy fixed. --Piet Delport 15:44, 5 August 2006 (UTC)

[edit] cofinal

I was a bit puzzled by the definition cofinal set of subsets on the Cofinal (mathematics) page. I've put a question on the discussion page and wondered if you could have a look at it? Francis Davey 09:44, 9 August 2006 (UTC)

[edit] Hello!

Just a word of greetings :-) --HappyCamper 09:34, 14 August 2006 (UTC)

[edit] "feel free to revert if you prefer the previous version"

I thought your changes to Prime number theorem make the article look much neater, actually. It's much better than two header rows. CRGreathouse (talk | contribs) 18:29, 15 August 2006 (UTC)

That is reassuring to hear. It's just that in light of the current debates on Wikipedia talk:Citing sources and Wikipedia talk:Citation templates I try to be really careful with this kind of edits. — Tobias Bergemann 07:19, 16 August 2006 (UTC)

[edit] Articles you might like to edit, from SuggestBot

SuggestBot predicts that you will enjoy editing some of these articles. Have fun!

Stubs
Extremely Reliable Operating System
Convex optimization
Continuum (mathematics)
Spinor bundle
Theory of equations
Bohr–Mollerup theorem
Extendible cardinal
Partition of unity
Stiefel–Whitney class
Page description language
Rc
Language-independent specification
Delimiter
GNAT Programming Studio
JScience
Syllable (operating system)
Programming domain
Integrable system
Gimel function
Cleanup
Plan 9 from Bell Labs
Regulation of gene expression
Inclusive fitness
Merge
Higher-order function
Travelling salesman problem
Mathematical induction
Add Sources
Collocation
Rotational invariance
Module (programming)
Wikify
Panmictic
FCurve
Controlling element
Expand
Spiral cleavage
Message Passing Interface
Typography

SuggestBot picks articles in a number of ways based on other articles you've edited, including straight text similarity, following wikilinks, and matching your editing patterns against those of other Wikipedians. It tries to recommend only articles that other Wikipedians have marked as needing work. Your contributions make Wikipedia better -- thanks for helping.

If you have feedback on how to make SuggestBot better, please tell me on SuggestBot's talk page. Thanks from ForteTuba, SuggestBot's caretaker.

P.S. You received these suggestions because your name was listed on the SuggestBot request page. If this was in error, sorry about the confusion. -- SuggestBot 05:17, 18 August 2006 (UTC)