Domain: ed.ac.uk
Stories and comments across the archive that link to ed.ac.uk.
Comments · 421
-
Re:Jackasses
And for linux users: Speech Synthesis & Analysis Software at linux-sound.org. Some of the programs (most notably, Festival) also run on Windows. Of course, it doesn't sound amazing out of the box, but it's Free and free.
-
Re:Censorship
Good points, even if I remain unconvinced. Regarding China's cultural taboo (perhaps too strong a term, in retrospect) against privacy, I've been able to find very little on the internet directly relevant to the topic. Yet the presumption pervades all writings about Chinese culture, and to a lesser degree other East Asian cultures. Here's some pages I've found that obliquely reference the difference between Western and Chinese cultures in attitudes towards privacy:
"Some attractive concepts become undesirable in Chinese. For example, privacy refers to something that one doesn't want others to know about, something almost evil." -- Annie Wang
Lots of goodies
"In China, American teachers ... are confronted with attitudes toward the self; ... toward concepts of freedom, privacy, individualism, ... all of which also emphasize how essentially American the teachers are."
Finally, the Economist ran an article recently arguing that China's notions towards privacy and private space are only now beginning to approach Western conceptions of the same, as floor area ratios go up, family sizes go down, and interaction increases with Western-influenced media and their inherent value systems. Naturally, I can't find the article now that I want to reference it, but I remember it was just a couple weeks ago if you want to look for it. -
Re:Playing with words
evolution isn't just change, it's adaptive change.
Sorry, that is just not correct. Evolution is NOT defined in modern biology as adaptive change. Your basic premise is wrong, making your arguments specious.
Funny, I feel the same way about your argument. A quick google shows about a 50/50 split in the definitions which specify "adaptive change" (in some form or another) as opposed to the ones such as you site. To give just a few examples:
- a process in which something passes by degrees to a different stage (especially a more advanced or mature stage)
- The change in life over time by adaptation, variation, over-reproduction, and differential survival/reproduction, a process referred to by Charles Darwin and Alfred Wallace as natural selection.
- The long-term process through which a population of organisms accumulates genetic changes that enable its members to successfully adapt to environmental conditions and to better exploit food resources
- In Darwinian terms a gradual change in phenotypic frequencies in a population that results in individuals with improved reproductive success.
But, as I pointed out, this isn't a problem that can be solved with dueling citations; even starting down that path misses the fundamental point that genetic drift alone can't explain any of the key observations about life:
- It is very diverse
- The diversity is (to a good first approximation) perfectly adaptive
- When you drill down to a more detailed accounting it is still adaptive, but at the level of genes, not individuals or populations (e.g. see Dawkins "Extended Phenotype")
- It is optimal, in the sense that permuting the diversity in any way (e.g. hanging giraffes from cave roofs) would destroy one or more of the points above.
For example, suppose a new school of "economic biologists" broadened the definition of evolution still further, to include (say) a change in the average market value of a member of the species or the number of books in which it is mentioned. What good would that do? Now there would be a whole bunch more things that could cause "evolution" but they would have done nothing to clarify the question--instead, they would have confused things horribly.
And that, pretty much, is what "population genetics" has done. The questions are murky enough at the level of the individual organisms, but by considering populations you effectively average out all the interesting questions and wind up making vacuous statements such as "genetic drift causes evolution" where "genetic drift" is defined (again from your source) as what happens when, by chance "the frequency of an allele may begin to drift toward higher or lower values."
Combining this with your definition of evolution, we have:
The frequency of an allele drifting toward higher or lower values causes changes in the statistics of the presence of genes in a population over time.
Which, as I hope you can see, has no explanatory value whatsoever and makes no testable predictions to speak of (though the converse would be world shaking news).
--MarkusQ
-
Re:Some tips
What I actually meant that if the user could use mail from the command line, then they could probably find the talk command and figure out how to use it...
see: http://unixhelp.ed.ac.uk/CGI/man-cgi?talk
It was a joke.
Of course a sysadm with too little time probably has mesg n anyway. -
Alternative Reality [What if... [Re:Stallman]]Several years ago, I heard Stallman speak at a lecture at my university. He was clearly very smart, and very driven by ideological goals.
Yea, and if you think about it, the only reason why he is like that is that Xerox refused to give the poor guy the sources for the driver of their laser printer when he wanted to fix a bug.
If Microsoft had known what would happen as a result, they might have acquired Xerox and given give him the source code, and RMS would have gone back to his cubicle.
Then we wouldn't be asked to spell Linux with a capital 'G' today...
;-) -
Re:Ah. Dynamic typing. Again.
Most static type systems suck, which is why people don't like them, but people who have used, say, SML or Haskell, tend to agree that static types can be something very natural and useful (the SML community has a saying which goes, roughly, "if it compiles, it's almost certainly correct").
If you interested in cutting out more bugs statically and not having to worry about corner cases in testing then I suggest you check out Extended ML and HasCASL which provide expressive language additions for more clearly defining intent and tools that can catch far more busg statically than even Haskell or ML's type systems can.
Jedidiah. -
Re:Ah. Dynamic typing. Again.
To me static checking (that is consistency checks that are done at compile time) are like an Engineer designing a plane, he does it with tools that declare the wings and the parts of the plane sound, even before the tests that have to be done to confirm the project.
And I think something that static typing advocates who use this sort of argument need to realise is that static types are not the be all and end all of declarations you can make to ensure consistency with intended function. In theory the Curry-Howard isomorphism means that indeed types are propositions. In practice most type systems provide a very poor syntax for clearly stating your propositions. The best way to get around that in most languages is to provide extra syntax that allows expressive descriptions of your propositions, or, if you like, your assumptions. Yes, the type signature of a function declares certain properties that ensure a certain amount of consistency that can be checked statically. There is a lot more in the way of assumptions you can decalre that will ensure far more important consistency properties that can still be checked entirely statically.
Check out JML and ESC/Java2 for Java to see how much extra static checking you can get above and beyond simple type checking. The same sorts of things for C are provided by Splint. If you're someone who prefers ML then take the time to check out EML which adds the ability to define and check axioms in Standard ML.
Jedidiah. -
Re:Hello 1995
Yeah? So does this mean you think Linux is POSIX compliant?
For the most part? Yes. It's not fully POSIX compliant, but close enough. Patches exist in the wild that make it 100% POSIX. It's actually been a pretty big thing to the Linux community to reach a compliant state.
If so, then maybe you should spend more time coding than posting drivel on ./
I'm sorry, is your point that SO_[SND|RCV]BUF wasn't in 2.4? Or 2.2? Because (as we can see from this pretty manpage for Linux 2.0) it was. So there's no reason to get all upset over things. You thought one thing, it's actually another way. Such is life. -
Re:maybe in another lifetime
I RTFA to the point where they started putting restrictions on languages of choice and then I stopped. I don't disagree. I just realize the article applies less to my work than I thought.
Well there are options you can take that aren't the whole hog of SPARK Ada with it's restrictions and formality. If you just want to make things clearer and get some of the benefits then for Java there's JML which provides similar annotation syntax to SPARK and comes with some freely available tools to convert annotations into JUnit tests, runtime assertions, and include them in JavaDoc documentation. There's also ESC/Java2 which provides extended static checking based on JML annotations.
If you are using C# then there's Spec# which, again, provides similar annotation and basic tool support to C#, kindly provided by Microsoft. If you're using C++ mostly there's C2, or if you don't want payware then you could look into D which provides Design by Contract - it is a language shift, but not too huge a one. Then there's always Eiffel.
If you are more of functional programmer then there's Extended ML or HasCASL which both seek to being some of the benefits of algebraic specification to functional languages (in this case Standard ML and Haskell).
So all up you aren't as pinned to a language as it might first appear - depending on how important correctness is there are a variety of options in a wide variety of languages.
Jedidiah. -
Re:The right programming language helps hugely
Praxis uses SPARK Ada, which is a subset of the Ada programming language and annotations that provide for extended static checking, and theorem proving. You can find more about SPARK at the Praxis website, or the Wikipedia article isn't too bad. It's a very nice language, and has fantastic tool support.
If you find that interesting, but Ada isn't to your taste, you can try JML for Java which provides similar (but lacking quite the same robustness and tool support) annotations. JML lets you automatically generate JUnit tests based on your annotations, and with ESC/Java2 allows for extended static checking.
If, as you appear, you are more of a fan of functional languages then I'd suggest you check out Extended ML and HasCASL which provide similar sorts of formal specification capabilities for ML and Haskell. Tool support for these is still a little limited, but they are both quite powerful and provide very expressive specification syntax.
Jedidiah. -
Re:Some solutions missing.
Perhaps not animal, but the Prokaryotic Flagellum bacteria does have wheels for locomotion as per this article
-
Re:Ubuntu provides an excellent base.
I think more so this distro should be acklowedged by Toy vendors, it would be a real useful tool to use in kids products such as a "tickle me tux".
When ever you press his belly he spouts a random man entry.
NOW THATS LEARNING!
:) -
Re:ponies
Some of the people who contracted Mad Cow disease were vegetarians who got it from using fertilizer that (unknown to them) contained cow offal.
This is a very sensational claim. Do you have a link? Do you even know that between 1996 and 2005 only 155 people in UK have been diagnosed with this disease? Its probably less than 200 people worldwide with this infection. I think this vegetarian fertilizer connection would have made major headlines. Sounds to me like you are just perpetuation a myth.
http://www.cjd.ed.ac.uk/vcjdqmar05.htm
Surur -
My experience
I minor'ed in NLP for my Masters at edinburgh this year, the statistical stuff is where its at, specifically hidden markov modelling of speech units. Its truly remarkable what you can do with only TNT (trigrams n tags) which as the name suggests is a trigram tagger.
Stay the hell away from formal semantic modelling..its horrible.
You can access all edinburghs course informations via http://inf.ed.ac.uk/ if you want to see the kinds of things covered in each course.
I did Introduction to Computational Linguistics, Natural Language and Speech System Design and Semantics and Pragmatics of Natural Language Programming. -
Re:The Internet is a US invention after all...
If you're going to take that sort of attitude then have a look here
http://www.magicdragon.com/Wallace/thingscot.html
http://www.geo.ed.ac.uk/home/scotland/greatscots.h tml
As a Scot I believe I'm entitled to claim "We innovated technology in the high-tech space which makes what we have today even possible."
I'll send you my bill later -
Re:Illegal not to give the police the key?
Under the "Regulation of Investigatory Powers' (or RIP) bill - failure to disclose the encryption key to something the police believe you have encrypted gets you 2 years in jail...
see here for a good writeup -
Re:another longhorn?
This is just a research OS written in C#.
No, it's written in Sing# which is an extension of Spec# which is an extension of C#. People really ought to pay more attention to Spec# - it's a nice extension of C# that allows for more formality if and when you require it. It's in the same class of language as SPARK which is an extension of Ada, JML which extends Java with specification semantics, BitC, Extended ML, HasCASL, and I guess to a lesser extent things like Eiffel and D.
Think of it this way: static types and type signatures for functions allow you to specify things about the software that the compiler can statically check and make sure there aren't any silly errors. The languages listed above (to varying degrees) allow for more exacting specification about the software, and hence you can (with the right tools) do far more comprehensive static checking and ensure various properties of the software. The difference is that, with most of these languages, the amount of specification is optional - you can be as exacting as you want where you need it, and not bother where you don't. It's like a dynamically typed language that lets you declare and use static types (and check them)just for those areas of code where it matters (except you start with static types and can provide more exacting specification where it matters). It's well worth checking out.
Jedidiah. -
Re:Worst case scenario more like couple of decadesAs an example one of the Informatics [www.inf.ed.ac.uk] buildings at the University of Edinburgh burned down [wikipedia.org] in December 2002. The building to replace the one lost is only just starting construction now. This was hurried up a little as there were already plans for a new building which were fast tracked after the fire. Added problems were that the original site has world heritage status, building work there hasn't even finished the planning stage.
Luckly all the data was backed up off site, but the AI library was totally lost. The University of Edinburgh is still feeling the consequences and I suspect Southampton will be years later as well.
-
Re:I agree with CmdrTaco
[A-Z|a-z|0-9]*
You mean [A-Za-z0-9]+, right?
After all, most worlds do not allow the null (i.e. zero character) name, and | loses its special meaning inside a square-bracket list.
Or, perhaps, [[:alnum:]]+?
This would work with other than C locale, which is desirable, and will have the same meaning as above under C locale. In fact though, most worlds allow other characters, so what you probably want is more like this:
[][:alnum:]_[.-]+
witch matches any combination (of length at least 1) of:
letters
numbers
.[]_-
See http://unixhelp.ed.ac.uk/CGI/man-cgi?grep for more details on reg-exps! -
Re:agreed 100%
All those techniques yield competitive performance to C in user space. Why do you think they wouldn't do so in kernel space?
I'm speaking from the perspective of a microkernel when I'm arguing this, so perhaps that illuminates things for you. A small implementation with critical code paths that fits nicely within L1 cache are essential for high performance. Can you honestly tell me with a straight face that JITC techniques, garbage collection, and other high-level features are competitive with C for producing such code? Point me to a high-level language you think is usable in a kernel, ie. with all or some of your desired feature set, then show me where it gives you direct low-level control over memory layout and data structure representation, and control over the runtime.
The only efforts I've seen in this regard are BitC, Nitro, and Cyclone (projects that actually have implementations that is). None of them are there yet.
I don't think any of those systems will ever result in a practical OS; they were/are research projects.
I suggest you read more about the history of EROS. It was initially designed as a direct reimplementation of KeyKOS, the first commercial timesharing operating system to support mutually suspicious clients. It's been used in ATMs and other mission-critical operations for decades. EROS has since improved on the KeyKOS design. There is absolutely no reason why CapROS could not become a practical system. There is nothing research-centric about EROS/CapROS except its unfinished nature. -
Back in my Phreaking days...
Back in my Phreaking days, the phone company employed various frequencies for line and trunk switching. 2600Hz being particularly famous. But another frequency prevented your target from disconnecting the call. Ostensibly to allow tracing, back when it took just shy of for-e-ver.
With a modern linux system and Festival... Well you could keep them on the line indefinitely, forcing them through your phone tree from hell...
"We do not wish to be subjected to your unwanted phone calls. Please do not call us again. In order to insure compliance, we need to collect certain information from you. If you are calling from a [Red] colored phone, please press 1 followed by the pound sign. From a [Blue] colored phone, please press 2 followed by the pound sign. From a [Green] colored phone, please press 3 followed by the pound sign. From a [White] colored phone...."
This goes on for a while. (cat
/usr/X11R6/lib/X11/rgb.txt)When they press a button:
"You must listen to all options before making your selection. We will begin again. If you are calling from a [Red] colored phone, please press 1 followed by the pound sign. From a [Blue] colored phone...."
There are do not call lists... And then there's the toxic-death-list this little solution puts you on.
-
Re:My most loved feature on OS X
The folder browsing view where folders appear in a new pane on the right every time a new folder is selected, one after another. What's that called? Can I reproduce the same effect in linux?
It's called Column Browsing. Beautiful design it is...
example:
http://www.ucs.ed.ac.uk/usd/cts/ol/os/mac_osx/Pant her/finder/images/Labels_column_view.jpg -
Re:Mad Cow and CFD is a hype - it is safe.
Given the odds, you can expect perhaps 10-20 cases of CFD in Europe in the next 50 years, unless the victims dies in a car accident beforehand, which is much more likely.
I hope this is true, but the figures from the CJD observation unit don't back it up. http://www.cjd.ed.ac.uk/figures.htm
Since 1990 the number of deaths from definite or probable vCJD is 150.
This is for the UK only (not the whole of Europe), is a figure for deaths rather than just cases and for a period of much less than 50 years. The figure does include deaths that are not confirmed to be new variant CJD, but I assume this means they may be from a different CJD varient rather than something else totally unrelated. The number of definitely confirmed deaths is 107. -
Re:Afraid of parenthesis? Stay away from XML!
Problems with XML:
- XML eats up vertical space. Most XML sources I have seen put the end tags on separate lines, which effectively means that you see less code on the same page. In Lisp, the "end tags" are all collected in a single line. Thus, you see more code on the same page. More code on the same page increases understandability. (Code brevity is generally a win.)
- XML doesn't have read-write compatibility. See The Essence of XML.
- XML is merely a data representation language. Lisp can be used both for program and for data representation. You can even change your mind about whether a bunch of Lisp s-expressions represents program snippets or data very late in the game. With XML, you need some other language (Java, etc.) to read in XML data and interpret it. You cannot easily switch from factoring out concepts from programs into data or vice versa.
- Since there is the distinction between XML and the programs that process it, you typically get programs that interpret the XML data as a result. This leads to inefficient programs. In Lisp, you can define macros that compile your data into the programs that actually do what you want. Compilation is generally more efficient than interpretation. (Almost all Common Lisp implementations are compilers, not interpreters.)
If you're interested, see my Lisp guide for more information.
Pascal -
Re:We need a way to avoid duplicating work
A programming method that involves designing an application such that you break each top level logical component/ability down until you a) know that you have to impliment it or b) it is found to have already been done.
That already exists, and the specification is indeed amenable to proof tools (several specification languages use HOL as their proof assistant even!). Check out B-method, HasCASL, SPARK, Extended ML, or even Z and VDM. There are tools like Perfect Developer. There are specification extensions to Java like JML that support extended static checking and proof via other tools.
Uptake has been slow, and the tools associated with this stuff are still maturing (despite the fact that formal specification is a relatively old field - tracing it's way back to Djikstra and Hoare in the late 60's). Doing specification properly tends to require a little more math background, and does take some work. More importantly, for a great many projects, it simply isn't suitable. There is no magic process you can follow that makes everything work, and there is no "final" programming model. There are whatever mix of techniques and models suit the project at hand. Good developers are ones who know lots of models and techniques and adapt them to best fit the problems at hand.
That said, specification is sorely underrated and underused as a programming technique. Too few people are well acquainted with it, and almost all the complaints that often get raised are based on myths and misnomers. It's not right for everything, but there are plenty of places where perhaps it could and should be used. Knowing how to do proper formal specification is simply another weapon in a good developers arsenal, and I wish more people spent the little extra time required to learn something about it.
Jedidiah. -
Re:Carl Sagan: Shadows of Forgotten Ancestors
You have no idea what you're talking about re: mutations. They are very, very numerous and common.
http://www.iscr.ed.ac.uk/mecp2/mutations.php (random result of web search. First one I looked at.)
And, how does one underestimate a fact? More like, never underestimate people's ignorance about biology. -
Re:Agreed, but you need to broaden your field
-
P# / LISP
there is a prolog compiler for
.net around:
http://www.dcs.ed.ac.uk/home/jjc/psharp/psharp-1.1 .3/dlpsharp.html
as you can implement a prolog interpreter in 30 lines of lisp, you might also want to check lisp.net compilers ;) -
In the UK, limited right to silence?
http://www.tardis.ed.ac.uk/~james/politics/Right2
S ilence
So gimme more details of specifically what you object to...
Currently in the US, the only silence protected is in court, Miranda warnings and police interrogations are being flushed down the tubes - since the constitution only states that it applies during a criminal case...
And since the state is the only person who can bring perjury charges, makes it real nice for them to lie on the stand...
-- Ender, Duke_of_URL -
Not the first
This was all covered back in the late sixties/early seventies by the great Donald Michie http://www.aiai.ed.ac.uk/~dm/dm.html If only there had been the processing power back then. The project was stopped because 'computers will never be powerful enough' such is the foresight of civil servants.
-
A good resource
Bob Fisher is a advanced vision researcher at Edinburgh Uni, he maintains this rather excellent page on computer vision http://homepages.inf.ed.ac.uk/rbf/CVonline/
-
Re:A good reason to leave pop-ups on
The UK did try using identity cards in the past; just before World War II. Unfortunately, some police officers used the inability to produce ID as an excuse for arresting people.
From: www.statewatch.org
Three main reasons were put forward by the government for passing the law in September 1939. The first was the major dislocation of the population caused by mobilisation and mass evacuation and also the wartime need for complete manpower control and planning in order to maximise the efficiency of the war economy. It may or may not have been necessary - that is a matter of dispute but it was seen as emergency, temporary legislation to cope with special circumstances.
The second main reason why the Act was passed was the likelihood of rationing. It was felt that the imminence of rationing (introduced from January 1940 onwards) entailed the need for an up-to-date system of standardised registration, so that rationing could be introduced as easily as possible.
The third main reason was that the Government needed recent statistics about the population. As the last census had been held in 1931 and the next was not due until 1941, there was little accurate data on which to base vital planning decisions. The National Register was in fact an instant census. Indeed, the National Registration Act bears a close resemblance to the 1920 Census Act in many respects.
Introducing the new law to Parliament, Health Minister Walter Elliot explained that the whole process of registration would be carried through in about three weeks and that it would form the basis for proper wartime planning.
In short, none of the three major reasons put forward for the 1939 Act could be put forward today as a reason for introducing identity cards. There is no emergency on a remotely comparable scale to that of war; there is no immediate prospect of wholesale rationing; and there is no shortage of detailed census and survey data. Equally it is worth noting that none of the reasons nowadays advanced in favour of the introduction of identity cards notably the need for control and identification of undesirables - was put forward in 1939. ...
It is unlikely that the identity card system would have been abandoned had it not been for the test case of Willcock v Muckle (1951,49 LGR 584). In this case a driver was stopped in connection with a motoring offence and asked to produce his card. On his refusal to do so, either then or subsequently,
lie was charged with an offence under Section 6(4). When the case reached appeal in the King's Bench Division, Lord Chief Justice Goddard delivered a ferocious attack upon police practice:
"Because the police have powers, it does not follow that they ought to exercise them on all occasions as a matter of routine. From what we have been told it is obvious that the police now, as a matter of routine, demand the production of a National Registration Card whenever they stop or interrogate a motorist for whatever cause ... This Act was passed for security purposes: it was never intended for the purposes for which it is now being used"
The case of Clarence Henry Willock is described at wikipedia.
On 7 December 1950, the 54 year old businessman was stopped while driving in London by a police officer who demanded that he present his Identity Card at a police station within 48 hours. He refused, was prosecuted and convicted.
Willcock appealed, in the case Willcock vs Muckle. Although he lost the appeal, the Lord Chief Justice Lord Goddard spoke out against the continued use of compulsory Identity Cards and commented that they "tend to make people resentful of the acts of the police".
Goddard's comments are thought to have influenced Winston Churchill's decision to scrap compulsory national Identity Cards in 1952.
A more detailed explanation can be found here -
Re:Functional Compilers, anyone?
Hi,
Interesting conjecture, and I frankly don't know whether you'd be right about that or not. The reason why I mentioned "putting FP back into the curriculum" was, however, that it is my understanding that, if you're right, there's a good chance that programmers would prefer multithreading in imperative languages precisely because it'd be closer to what they'd be used to. So, by getting them used to FP, we'd see a "more fair" evaluation of the practicality of this approach.
Alternatively, we might ultimately wind up with some "middle ground", as proposed in
imperative functional programming
on the functional end and
type system improvements for imperative languages of one kind or
another on the imperative/imperative OO language end.
-- Christoph -
Note From Autor:Wow, that was fast. I only posted the page on Sunday evening...
To address questions asked here on Slashdot. The main purpose of this project was to build a wearable debian box. We had a 2 square inch VGA LCD heads up display that we were using. Also we had toyed around with Festival to read output to the user. The application did not require any user input, so no keyboard was nessasary. If someone wanted user input one could use bluetooth and a Linux PDA to run ssh or VNC. Also I have seen some IR remote controls that have a full keyboard (Do a Google search on CarPC's and remote controls), so user input is not out of the question.
Also several people were talking negativly about the battery life. My run time test was conducted under heavy load so the Mac Mini was pulling around 14-20W at the time. The device I used for measuring the power was a Watts Up Pro which was specificly designed for measuring the power draw on consumer electronics, so the readings are accurate. Bear in mind that these batteries are preproduction prototypes that were sent to me for evaluation, and SKC Films informed me after I recieved them that they would not perform optimally do to a mistake in that batch. They also offered to make me another batch, which I declined as my application only needed about 45min runtime and the ones I already had would do fine for proof of concept. The point here is that with further work the battery life can be inproved. Simply using CPUFreq in the Linux Kernel will help strech out the battery life a good deal. To address concerns someone brought up about charging the Li-ion batteries, A power supply with a current limiting knob _is_ a safe method of charging the batteries. The chargers that are designed for charging Li-ion batteries, say for instance in cell phones, do just that. I have recharged my battery pack just fine using a Topward power supply set to 20VDC and limited the current to about 50mA and the batteries didn't even get warm let alone explode in my face
;0).
Granted my application was very specific, but this could be used for lots of things. Slashdot has already mentioned quite a few. How about this one:
A portable compute brick. In a lab setting one might need to take a part of a Mosics cluster from one lab bench to another to collect and process data. Having a built in UPS on the Mac Mini with a Wifi network interface allows you to move the compute node physicly without having to first remove the node from the cluster and migrate all of it's processes off the node. Please note that Wireless comunications with the Mac Mini need to use a USB or Firewire Wifi card because the Mac airport card uses the broadcom chipset, which Linux users have learned to hate with a passion. Before someone mentions NDISWrappers I would like to state the obvious Mac is non-X86 and the binary drivers that are used with NDIS are compiled for X86.
"Why do this?" was also asked. My response...
I am a Geek, and it was fun!
Cheers,
Silas Bennett
P.S. My uname should read Fuzzy_The_Quantum_Duck but Slashdot didn't like the last 2 characters... -
Re:Same boatMod parent up! Many people answering the question the original submitter asked haven't tried to tackle this themselves, or they'd know the problems they'd run into, which the parent post nailed down.
Sadly, there isn't a perfect answer - yet. The Mozilla wiki covers this problem in more detail here.
Firefox ADM partially covers this ground - here.
There's another tool similar to Firefox ADM, but I can't find info on it at the moment.
Summary: Firefox is almost there, but in most enterprise situations, there's still a few features (mostly in the lockdown, and setting default features department) that are lacking. I expect that will become a non-issue by the end of this year. -
Re:More!
There is a simple criterion that separates trivial self-replication (as in crystals that grow and break, then grow again, etc.) from interesting self-replication (as in living beings). This criterion was introduced by Von Neumann more than 50 years ago. An interesting self-replicating system is one that has the possibility to evolve, and to reach arbitrary levels of complexity.
See Barry McMullin's paper or Tim Taylor's thesis.
The simple way to do that is to have a "plan" (the genome) that can be read by a "constructor" (the rest of the machine) which follows the plan for building a copy of itself, including the plan. Modifications in the plan lead to modifications in the result. That sounds obvious to us, but Von Neumann wrote about those things more than a decade before the structure of DNA was elucidated.
It also means that the constructor must be, or contain, a Turing machine - a universal computer, making it able to construct anything that can be mechanically constructed out of a program. In living beings, the Turing machine is the result of the complex interactions between proteins that regulate each other's transcriptions and activity. Again, this is obvious to us, but only because Monod and Jacob discovered it in the 70s.
That's why Von Neumann had to invent a very complex structure in a very complex cellular automaton to obtain a really "self-replicating" system (in the interesting sense). That's also why Chris Langton's self-replicating loops are not really "interestingly" self-replicating. And that's why the structures in TFA are even less interestingly self-replicating. Hell, they have to rely on ready-made modules ! They are not even on the same level as simple self-replicating patterns in the Game of Life, wince in the Game of Life new "modules" are constantly created.
The defining factor of life is not self-replication on the global scale. It is the fact that this self-replication occurs by constant self-building. Living systems can build themselves, not out of ready-made modules (babies aren't built by patching together bits of arms, legs, brains, etc) but by breaking down external materials, extracting energy from their environment, then using it to build themselves, in apparent complete contempt the 2nd law of thermodynamics (the key word here is apparent - every single reaction in living beings is completely compatible with the laws of physics, otherwise it wouldn't take place - duh!). Even though the resulting compounds are thermodynamically very unfavorable, they persist because they are constantly replenished by the set of chemical reactions known as "life", which can essentially be defined as autocatalysis resulting in structures with a capacity for evolution.
Hod Lipson is a really great researcher. His work on developmental systems for evolutionary design of structure is so cool it hurts. But I think he and his guys might want to tone down the comparisons with biological self-replication. Right now the structures they have are not even on the same level as the simple patterns that you can see in the Game of Life ! -
most always Samba?
Sharing files amongst different platforms has most always resulted in using samba
It has? Since when?SMB is only one of many file sharing protocols. Samba is generally only used when you want a Windows machine to use filesystems on a *nix fileserver. That's it.
But Windows is hardly the whole world. There's also NFS (pretty much the standard in the *nix world), Appleshare (what Macs use. To mount *nix filesystems on a Mac, you generally run netatalk on the *nix box, though OSX supports NFS natively too.)
Actually, you can get NFS clients and servers for Windows from several places, and they generally work pretty well once one realizes how NFS differs from SMB.
To mount a Windows file system on a *nix box, you can use smbfs if it's a Linux box -- and note that smbfs is not the same as Samba. Another option is Sharity (previously Rumba) which takes SMB and converts it to NFS.
And in addition to SMB, Appleshare and NFS, there's also Netware, Coda, InterMezzo, DFS, AFS, and many others, and nowadays they're all pretty much multi-platform. This page gives a nice summary of some of the more popular network file sharing methods.
Of course, network file sharing is not the only way. Sneakernet still works, for example. People have been taking floppy disks out of one computer type and putting them into another computer type for as long as computers have had floppy drives, though it probably didn't usually work until both Macs and PCs had 3.5" drives and the Macs learned to talk FAT. And today, USB and firewire drives, if formatted FAT, generally work in Mac, Windows and *nix systems and probably others, and are often used to share files
... -
Re:Expected
I call it the most reasonable benchmark because it has thousands of contributors and covers a wide range of code purposes and individual coding habits - and yet, performance is omitted.
As someone who has done some kernel (see this old project) and other programming, I would probably disagree with this statement. The code you find in the linux kernel is rather different (think concurrency, locking, I/O waiting, message passing) to the code you'd find in a number crunching application (think for loops that take forever, huge data sets, nested recursion) which would be rather different to the code you find in something like LAME (think DSP code).As for the coding habits, the kernel develoment process encourages similar coding habits as it makes the code easier for others to read. There would be differences between different subsystems, which brings us to another problem: where do you start benchmarking the kernel as a whole?
-
Re:The validity of the GPL has been done to deathAh, there's the rub! I checked about half an hour ago (as I was writing that post) to see if Slashdot keeps a record of unsuccessful article submission. Sadly not. One moment though, I shall check elsewhere...
I can't find it yet, but there's some interesting stuff by the same author: search for Guadamuz on Google Scholar. There's entries on Internet IP and the like. I'll go have another look for that paper...
Ok, I'm one step closer now. This is the author's university page with reference to all his published works. I still can't seem to find a link to the PDF though. The paper I originally submitted was "Viral contracts...", the second on the list. You might be able to find it by name on Google. Good luck!
-
How to believe a machine-checked proof.
It is unfortunate how much confusion there is about the differences between having computers search for proofs, and having computers check proofs. The best tools for formal reasoning about general mathematics (Coq, Isabelle/HOL, etc.) combine a small amount of proof search capability, but their primary purpose is to represent and check the mathematical proofs.
If some are you are really interested in the basic theoretical and philosophical underpinnings of machine-checked proofs, I would suggest starting with this paper.
-
Re:Should I be worried?
*What* fundamental advances? Name them!
Firm semantical foundations, the Pi-Calculus, Game Semantics, Full Abstraction results for various languages, Zero Knowledge Proofs, Breakthroughs in Program Logics (Separation Logic, Honda-Logics), Proof-Carrying Code, Model-Checking. -
Re:Maximum number of regenerations
Also, The Master escaped death by a unexplained method in the Movie.
I didn't really think the Master was portrayed very well in the movie - spitting at people just didn't seem very polite behaviour for an intergalactic supervillain.
Though, I did like the Tardis better in the movie than the new series, but it's better than the old series., which obviously looked like a studio set. The movie set looks more "lived in" with all the bits of antique navigation gear, toolkit boxes and furniture.
It's informative to see the design storyboards for the tardis. The designers almost seemed to be heading for a Star Trek theme, before heading towards a Star Wars look, before looking more like a rusted neutrino detector. If that were a student flat, there'd be a lot more stuff everywhere (boxes, bookshelves, monitors, rugs). Not forgetting a large "mind the step" or "contents may have shifted during transit". -
Call me Ishmael
-
Festival and guttenburg
I like to take project guttenburg books then feed them through festival. The voice is slow and awkward, but it is still very clear, and you can listen to just about anything for free.
-
Re:security
If you mean Philip Wadler, he works at Edinburgh University. He lists himself as the "principal designer".
-
Re:Email response
Okay... but here's my point: Every single example that shows how elegant Haskell and OCaml are uses lists. The 4-line Quicksort example for Haskell uses lists. All of the code that demonstrates easy reuse of functions and functions taken as arguments uses lists (like how easy it is to implement quite complicated algorithms using only map and filter, for example).
Or perhaps more correctly, "every single example that you've seen". For a real quick one, look at Jason Hickey's Intro to OCaml (pdf) and have a quick peek at his Red/Black tree implementation. Or even cooler (if you're into that sort of thing) is the ever famous One Day Compilers talk.
But what you're saying in #1 above is that in "production," speed-sensitive code, no one is using lists... this would mean that no one is using map, filter, or any other pieces of reusable primitive code. So, they are instead all using mutable data structures... I.e., they are programming with side-effects and loops (random access instead of recursion, even when ever element of an array/list needs to be accessed/processed).
No. What he's saying in that you should use the best data structure for the job. Your best bet would have been to use the Hashtbl module from the standard library, or if you wanted to stay in the purely applicative, the Map module (also in the standard library) would have been loads faster...
You are aware that there are more purely functional data structures (pdf) (OCaml implementations) than the list, don't you?
So... maybe you can re-write higher-order memoization code using more efficient data structures? I would love to see that code, and I'm sure the OCaml community would benefit from having that in their toolbox.
Here's a pretty neat example that uses arrays in a naive way, but you could certainly use, say, a map instead... And I'm pretty sure the OCaml community (by which I mean the people who would have helped you improve your code had you asked them) know about things like this.
I don't think I spread any falsehoods. I mean, my experiment was real, and the results are real, and the code is there for people to inspect and try on their own. I also talked in my /. post about OCaml code that is isomorphic to C being fast, but functional code perhaps not being fast.
Yes. And we inspected it, found it to be poorly written, and told you so. The "falsehood" here is that you claim that code written in a functional style is slow, when you really should have said "my code written in a naively functional style is slow". If I fill my gas tank with water, my car sure is slower than walking, therefore all cars are slower than walking... right?
Trust me... I am *dying* to use OCaml or Haskell for real-world programming. I have spent the past month or so exploring these languages and trying to apply them to real programming problems. Especially when shootout results showed that OCaml was sometimes faster than C, and when I discovered that OCaml was much faster than Hasell, I was really starting to think that OCaml was a possibility.
I put a link to tho OCaml mailing lists above. Use it. Ask questions of the list (you may want to start with the beginner's list). They can help you learn the language faster and better than google will.
However, the ONLY reason why I would want to use OCaml is to take advantage of the expressiveness of pure functional programmin -
rtfm
http://unixhelp.ed.ac.uk/CGI/man-cgi?split
http://unixhelp.ed.ac.uk/CGI/man-cgi?cat
You can get them in XP through Cygwin. -
rtfm
http://unixhelp.ed.ac.uk/CGI/man-cgi?split
http://unixhelp.ed.ac.uk/CGI/man-cgi?cat
You can get them in XP through Cygwin. -
developersMethods for actaully taking advantage of this (and other parallelisation) in your code:
http://www.dcs.ed.ac.uk/home/stg/pub/P/par_alg.htm l/
http://www.informit.com/articles/article.asp?p=366 887&rl=1/
-
Re:That's just nutty...
There's an academically interesting (I'm assured
:)) Java system similar to this called Bdbj. I'm not sure if it's useful in a real context, but I assume it is to some degree.