Domain: swan.ac.uk
Stories and comments across the archive that link to swan.ac.uk.
Comments · 23
-
Re:3 years ago
The code is here. The AST / back end are in LanguageKit, the Smalltalk front end is in Smalltalk (this also contains a few support things that make OpenStep classes look a bit more like Smalltalk-80 ones). The JavaScript-like language is in EScript, but it may not be working at the moment. It currently requires a trunk build of GNUstep libobjc, but I plan on releasing 1.6 of the runtime Real Soon Now.
I periodically write things about it on the Étoilé blog. You can also read some slightly out of date slides from a talk I gave about it at FOSDEM in 2009, and some more current ones from ESUG this year. Drop me an email if you've got any more questions.
-
Re:3 years ago
The code is here. The AST / back end are in LanguageKit, the Smalltalk front end is in Smalltalk (this also contains a few support things that make OpenStep classes look a bit more like Smalltalk-80 ones). The JavaScript-like language is in EScript, but it may not be working at the moment. It currently requires a trunk build of GNUstep libobjc, but I plan on releasing 1.6 of the runtime Real Soon Now.
I periodically write things about it on the Étoilé blog. You can also read some slightly out of date slides from a talk I gave about it at FOSDEM in 2009, and some more current ones from ESUG this year. Drop me an email if you've got any more questions.
-
Re:Accuracy
I put most of the notes online here. I didn't get around to annotating and uploading the last few lectures. I was just doing it for one year. The guy who normally does it was on sabbatical, and I do some work in that area, so they asked me to teach it. A shame really: it was fun to teach, and I got the impression that the students enjoyed being taught by someone who wasn't a theoretician for a change...
-
Re:Is there a sandbox for sandbox?
Threads have several differences with nested processes. Firstly, threads all exist inside the same address space. This means that they can alter each other's state without any kind of mediation. There is no isolation between threads. (Most) operating systems do not maintain per-thread page tables, so you can't make a region of memory read-only to one thread without making it read-only to all threads in a process.
Secondly, they can make system calls directly, rather than having to go via the parent process. In a system with nested processes, each system call would be mediated by the parent process. If a plugin wants to access the file system, for example, the tab would have to agree, and then would forward the call to the browser, which would then forward the call to the OS. Each nested process could only do things that the parent permitted and the top-level parent could only do things that the OS permitted. Nested processes could use the same address space, but different protection regimes. Each process might have its own page tables, with the same virtual-to-physical mapping but different permissions, so you could pass pointers between them, but could only dereference pointers when a process had been granted permission to do so by the parent.
Thirdly, threads are not a recursive abstraction. A process can contain threads, but a thread can not. You can spawn threads from a thread, but they reside inside the process. If thread 1 spawns threads 2 and 3, and thread 3 spawns thread 4, there is no isolation between thread 1 and 4.
For an object-oriented programming abstraction for using this idea, see Object Planes
-
Re:Flying Car
I was 16 in 1998, so maybe that colours my opinions, but mobile phones were far from ubiquitous. Pre-pay was just being introduced. None of my classmates had phones, although a few got them the next year (including myself) and the majority of parents didn't have them either. Around half of my classmates had a computer, and about half of them had dialup. Three had broadband.
The diagram I referred to was of the web, not the Internet. Your suggestion that it was from 1975 is nonsense. Remember that it wasn't until 1991 that organisations other than government and university sites were allowed to connect to the Internet. I didn't say it was from 1998, but from around then. The copyright date in the corner says 1994. In fact, we've put a scan of part of it online. The BBC's web presence was in a different corner. The web had grown quite a lot by 1998, but not enough that Yahoo! didn't still think it was small enough to index manually.
-
Because we both know each other
Swansea University while not huge (I'm guessing at some point you were/are at Swansea Metropolitan) is certainly big enough that you can't know everyone. At these places if you aren't related to the non-undergrad side of you'll find there are plenty of folks you won't know but who know each other (and each other's nicknames etc).
-
Re:I smell a straw man...
The "core" of modern x86 processor is nothing like RISC processors from back when the arguments raged.
Urm... I do try not to post statements without checking them first.From http://www.cs.swan.ac.uk/~csneal/HPM/p6.html :
Intel's view was that unlike in the MicroVAX case, the long/complex instructions were commonly-used by compilers, and putting them in software would unacceptably impact performance. Therefore, they implemented a hardware decoder front-end, which breaks down the more complex instructions into simpler micro-ops, or uops. These, together with the simpler instructions, are then sent to a high-performance RISC processor for execution.
And from: http://en.wikipedia.org/wiki/Pentium_ProThe Pentium Pro (P6) core featured an array of advanced RISC technologies, here used for the first time in an x86 CPU. Perhaps the most obvious sign that things had changed was that the CPU's "front end" decoded the old IA32 instructions into micro-instructions which the Pro's RISC core then processed.
...and more if you google "pentium risc core". OK they're talking about the Pentium Pro - but my understanding was that the Pentium M/Yonah/Conroe line evolved from the Pro design.
-
Re:Almost Brilliant
Swansea University Computer Science Department used to have a lab of Power Macintoshes. I am lead to believe the lab used to be an Amiga Lab. All the computers in that room were on a timeswitch which switched the power off for that room, I kid you not!
-
Re:Oh my God, they've patented "bridges"Supposedly, "software is math" as stated above, and therefore, software is nothing but an abstract way of writing a mathematical algorithm which can be assigned numbers and solved using mathematical operations.
Yes. We call this the Church-Turing thesis, and it is one of the most fundamental theorems in computer science.
Given this, it would be reasonable to assume that all software can be reduced to an equation which gives a final result.
No. Not all problems are decidable (and hence the equation produced may not give a final result), and it is provable that it is not possible to determine in the general case whether an algorithm will halt or not (although it is in many specific cases). This is known as the halting problem, which has been known about for almost as long as computer science has existed as a discipline (it was discovered by Alan Turing)
Given this, I ask you what the equation would be for the amazon one-click shopping software would be?
I don't have a copy of Amazon's one-click shopping software's code to hand, but if I did, and could be bothered to devote the time to it, then yes I could. Perhaps you should read this book.
There are lots of computer science problems which do not occur in mathematics. For example data structures, process execution scheduling, garbage collection.
Abstract data types are part of mathematical type theory. Perhaps you are unfamiliar with branches of mathematics such as typed lambda calculus? Process execution scheduling is an application of process algebra. Garbage collection is an application of graph theory, specifically the detection of nodes from a graph that are not connected to a root node.
-
Re:Which Platforms?Why use a real machine at all? In my second year as an undergrad we were expected to build an optimising compiler for a simple language. The output for this compiler was assembly for a very simple virtual machine (the Tiny Machine from Kenneth C. Louden's compilers book. Here's the source code if anyone wants to play with it). I think this (combined with exposure to things like URMs and courses on microprocessor design) gave a better grounding in efficient program design than learning any real assembly language.
If I had learned assembly then as a child it would have been 6502 or Z80, as an undergrad it would have been x86 (or a small subset of x86 assembly, since it really is horrible). Now, most of the coding I do is on PowerPC, so none of them would have been any use and would have taught me misleading things (for example, register allocation is horrible on x86 and context switches are very expensive. On PowerPC most of the registers are general purpose and context switches have about the same overhead as function calls).
I doubt that learning a real assembly language is much use (unless you learn PIC assembly, or similar and then develop embedded systems), but using something like the Tiny Machine is very good experience (and since it runs on about any platform with a C compiler and a libc it eliminates hardware constraints).
-
Re:transistor counts through the ages (PPC)
According to http://www.cs.swan.ac.uk/~csneal/HPM/alpha.html..
.
G4 - 33 million
G5 - 52 million
And from IBM...
G3 (750cx) - 22 million -
Re:Hmm, I smell a slashdotting
Oops, sorry, forgot to append the quote for you...
"This is the perfect condition of slavery, which is nothing else, but the state of war continued, between a lawful conqueror and a captive: for, if once compact enter between them, and make an agreement for a limited power on the one side, and obedience on the other, the state of war and slavery ceases, as long as the compact endures: for, as has been said, no man can, by agreement, pass over to another that which he hath not in himself, a power over his own life." [Emphasis added.]
John Locke, Second Treatise of Government, Chapter IV, Section 23.
As to your need to curse in your response... I'm not surprised. Your level of ignorance must be embarrassing to you. But think about it. How many Turkish kids grow up knowing about the Armenian genocide, after all. Why, then, should your school have taught you where the wealth of the US came from? Don't feel bad. Read up! It'll help expand that vocabulary of yours. -
Re:The $699 question...I would assume that he's going go back to the University of Wales, Swansea since that's where he got his first degree, and he still lives in Swansea.
Oh, and we do get quite a few geeks applying here already for a chance to meet Alan. Most of them have seen the credit to the Swansea University Computer Society in the Linux kernel boot messages.
-
Re:The internet as an educational medium.To take your example of Nietzsche, there's no shortage of edifying material online:
- biography
- a study guide for Zarathustra
- an ecncylopedic reference in German and English
- secondary sources, all online
- original writings (English translations) and links to criticism
- Hypernietzsche (very advanced)
- Nietzsche listservs
Hey, that's not even going past the first page on Teoma and following a few links. Still want to argue that they're aren't good educational opportunities on the web? For FREE! Think of that. Yeah, some of the translations may be subpar, but its better than nothing and really in the scheme of things its a pretty good thing--and getting better all the time. Most libraries cannot afford to have all that material on their shelves. What do you think the chances are that a low-income household owns even one book by or about Nieztsche? The internet *is* a cheap way to spread knowledge, so why knock it?
Okay, I have felt some disappointment too, and I still buy books--argh!--, but that's a little beside the point. A print encyclopedia can't even begin to match the volume of decent info available over the net after just a few minutes of searching. Check out some of those links and then say a youngster would be better equiped with an encylopedia.
- biography
-
Re:Oooh yummy!
Itanium 2 is an Intel product correct?
Yeah... I said I was not a zealot. But, it is... mostly a RISC core.
And when did I ever mention P4s.
Am I not allowed to mention Intel's currently widely available finest (since you argue that Intels "CISC" design is better)? You said...
Myth: RISC is better than CISC
Take a look at those benchmarks I posted earlier. Now sort out the RISC and CISC machines.
What's that? They are ALL RISC based cores, bar the Pentium I?
The fact that Intel (the maker of the Worlds most successful "CISC" CPU's) has moved essentially to a RISC core (to exploit the easy pipelining benefits) with a CISC "frontend" (for legacy compatibility) starting with the Pentium Pro, kinda shows that RISC is better than CISC, don't you think?
CISC can theoretically do more per clock cycle than RISC.
Prove it.
If you said, "CISC can theoretically do more per instruction than RISC" and left it at that, I wouldn't be arguing with you.
Here is some reading that I think you'll be interested in, with your current course...
http://www-compsci.swan.ac.uk/~csneal/HPM/index.ht ml
http://www-compsci.swan.ac.uk/~csneal/HPM/risc.htm l
When we hit a performance ceiling due to minimum transistor size, we will have to exploit pipelining and multiple cores to the fullest and the easiest way to do that is to embrace RISC (due to predictable, uniform instruction lengths) as the better choice over CISC.
-
Re:Oooh yummy!
Itanium 2 is an Intel product correct?
Yeah... I said I was not a zealot. But, it is... mostly a RISC core.
And when did I ever mention P4s.
Am I not allowed to mention Intel's currently widely available finest (since you argue that Intels "CISC" design is better)? You said...
Myth: RISC is better than CISC
Take a look at those benchmarks I posted earlier. Now sort out the RISC and CISC machines.
What's that? They are ALL RISC based cores, bar the Pentium I?
The fact that Intel (the maker of the Worlds most successful "CISC" CPU's) has moved essentially to a RISC core (to exploit the easy pipelining benefits) with a CISC "frontend" (for legacy compatibility) starting with the Pentium Pro, kinda shows that RISC is better than CISC, don't you think?
CISC can theoretically do more per clock cycle than RISC.
Prove it.
If you said, "CISC can theoretically do more per instruction than RISC" and left it at that, I wouldn't be arguing with you.
Here is some reading that I think you'll be interested in, with your current course...
http://www-compsci.swan.ac.uk/~csneal/HPM/index.ht ml
http://www-compsci.swan.ac.uk/~csneal/HPM/risc.htm l
When we hit a performance ceiling due to minimum transistor size, we will have to exploit pipelining and multiple cores to the fullest and the easiest way to do that is to embrace RISC (due to predictable, uniform instruction lengths) as the better choice over CISC.
-
This is who Martin Guerre is.
Martin Guerre was a sixteenth-century French peasant who returned from war to find that he had "returned" years earlier and had been living tidily with his wife for some time.
There followed a great trial to determine which one was the "real" Guerre. The real one lost.
It's a famous historical episode in early modern history. Needless to say, it a) predates Mark Twain and b) is obviously the basis of the musical (and a movie with Gerard Depardieu). -
Funny you should say that...Although I'm the current president of the Swansea University Computer Society I doubt I could fix the Linux TCP/IP stack.
Still, as I pointed out in another post, I doubt the University itself nor its (excellently rated) Computer department had that much to do with it. Alan Cox really should have got the credit and now Linus has seen to it that I can't even grab false fame by association. Oh well.
-
Funny you should say that...Although I'm the current president of the Swansea University Computer Society I doubt I could fix the Linux TCP/IP stack.
Still, as I pointed out in another post, I doubt the University itself nor its (excellently rated) Computer department had that much to do with it. Alan Cox really should have got the credit and now Linus has seen to it that I can't even grab false fame by association. Oh well.
-
Boy is this ironic...This is kinda funny 'cos I was actually trying to redesign the SUCS site a while back and made a beta based on the old linux.com (I think it also pays homage to Helix Gnome).
If I'd known peoplle were so dead against it I wouldn't have done it... I actually thought that the linux.com site (and therefore source) were distributed under the GNU licence, which would allow me to make and change it as long as I gave credit.
On another note, there is an interesting article on web design lifting and how to prevent it in High Five.
-
Boy is this ironic...This is kinda funny 'cos I was actually trying to redesign the SUCS site a while back and made a beta based on the old linux.com (I think it also pays homage to Helix Gnome).
If I'd known peoplle were so dead against it I wouldn't have done it... I actually thought that the linux.com site (and therefore source) were distributed under the GNU licence, which would allow me to make and change it as long as I gave credit.
On another note, there is an interesting article on web design lifting and how to prevent it in High Five.
-
Re:Xanadu is prior art- this patent is invalid.
As We May Think by Vannevar Bush details a "memex" or "memory extension. It talks about having an extension to the desktop and your mind, complete with indexes and even a "back" button. Tell me this doesn't remind you of the WWW.
Even though he didn't coin the word "hyperlink", the idea was born then.
Besides, what does "hyperlink" have ANYTHING to do with data going over the PSTN? You don't necessarily have to use a modem & the phone network to access the WWW.
I didn't bother reading the article fully, but it seems that they talk mainly about dial-up access to one central computer. I didn't see anything about linking computers together. I'm beginning to think some journo or BT marketroid made the link (no pun inteded) to "hyperlink".
-
Re:What is exactly PAL Plus?
At http://iiit.swan.ac.uk/~iisteve/palplu s.html is a very good technical primer on Pal Plus...it's old (1995), but I suspect the technology hasn't changed much since then.
To quote part of it:
A PALplus picture has a 16:9 aspect ratio. It appears as a 16:9 letterboxed image with 430 active lines on conventional TVs, but a PALplus TV will display a 16:9 picture with 574 active lines (with extended vertical resolution to match). The full TV system bandwidth (5.0MHz on systems B/G, 5.5MHz on system I) is available for luminance detail. Cross colour effects are removed by use of so-called "Clean PAL" encoding and decoding. Put simply, Clean PAL encoding can be thought-of as the transmitter removing the sorts of signals (like fine patterned chequered shirts) which cause conventional PAL receivers to display stripey coloured interference bars.
There are other features as well (such as different Film and Video modes and ghost cancelation)...
Strangely, even though it took Europe quite a long time to move to color television (granted the war had something to do with this), it has been far more willing to add features to it's systems than the US has been. While we in the US have only added teletext and analogue stereo+sap, europeans have digital stereo, more teletext channels, data services, and of course Pal Plus. And of course PAL, with it's chroma phase alternation has far better color than NTSC.
I suspect much of this can be traced to the FCC's original decision to require that the US color system be compatable with the old US B&W system. Europe didn't have much legacy hardware to support.