Domain: ic.ac.uk
Stories and comments across the archive that link to ic.ac.uk.
Comments · 477
-
Re:Starts with 3GLs.
Because you are mistaken about the nature of computer languages. Machine code (which you refer to as binary) is not a language.
I suppose that's a matter of opinion, although Webster's seems to explicitly include machine code. In any case, I'm just using standard terminology; to reference FOLDOC:- First Generation Language
- Second Generation Language
- Third Generation Language
- Fourth Generation Language
Incidently, my dad started with computers before first level languages; back when they still *shudder* had to move the wires.
-
Re:Starts with 3GLs.
Because you are mistaken about the nature of computer languages. Machine code (which you refer to as binary) is not a language.
I suppose that's a matter of opinion, although Webster's seems to explicitly include machine code. In any case, I'm just using standard terminology; to reference FOLDOC:- First Generation Language
- Second Generation Language
- Third Generation Language
- Fourth Generation Language
Incidently, my dad started with computers before first level languages; back when they still *shudder* had to move the wires.
-
PC Motor Control Circuits
Does your laptop have a parallel port? Here, here, and here are good places to look for schematics/project ideas. You can scavenge stepper motors out of dead hard drives and floppy drives. Here's a nice project that demonstrates building DC drive controller w/proportional speed control. Neat! I haven't built any such animals since my C64 and TI-994/a were new and shiny.
-
Just don't add "Halt and Catch Fire" InstructionI just hope that with all the overclockers out there, they don't add support for the Halt and Catch Fire Instruction
;-)Seriousely, the NX stuff is a "good" thing to add to slow down malicious code - the only thing better would be a HULK Instruction which would SMASH Puny Human malicious code
... ;-) -
Re:This just in!
We did a report which looked at the ethical problems of household robots. Although it is very unlinkely (near impossible) that robots will ever be able to do more than meanial jobs
Which is at www.ee.ic.ac.uk/eee2proj/cl402 -
Re:Computers and Math
I clicked on your link and found this line from ESR:
"this is why every good hacker is part mystic".
What a load of crap! Just because ESR thinks he's "a shaman and a vessel of the Goat-Foot God", that doesn't mean other hackers have to. -
Computers and Math
Computer programming requires a very intuitive grasp of boolean logic (Discrete math), symbolic logic (Algebra) and set theory (Discrete math again). Also, a good short to mid term memory is more important than intelligence. For many people, programming is a state of mind.
For example, the speed of a bubble sort is O(n^2). A trivial bubble sort has to iterate over a list for every element in that list. So, assuming n items in the list, the bubble sort needs to go through the list n times, each time going through the list (in a nested loop) n times. Giving you a speed of n*n, or n^2. Anyway, a merge sort is O(n*log(n)), but it requires 2n memory, whereas a bubble sort is done in n memory. So, which would be better for your application?
Network administration usually also requires a bit of math.
For example, the IP addresses 10.1.1.1 and 10.1.5.8 are in the subnet 255.255.248.0. To do this, I converted both IPs to binary, and found the most significant 0, and then 0'ed out all of the bits below that. Then I converted back to decimal.
(I simplified the examples, because explaining subnets or sorting is beyond the scope of this post.)
In short, I rarely do basic math, but some of the more advanced stuff is critical. I would suggest grabbing a copy of a programming language, and attempting to modify a simple program to do something else, to see if you have what it takes to be a programmer.
I'd suggest Perl, but that's my opinion, and opinions about languages vary greatly. Perl is one of the more natural languages, and may be more forgiving for you. Then again, it may cause more problems because you're not explicit enough in telling it what you want, in which case try Python.
Good luck. -
Re:Thunderbird 0.6 released
FYI Bayesian Filtering isn't quite the same as a Neural network, a notable difference being that with bayes a much greater portion of the behavior learned by the system is easily available for analysis.
-
Re:Jeremy Allison needs to grow up
He copies a proprietary protocol and he expects Microsoft to make sure their implementation is interoperable with his?
Since when was SMB Microsoft property. (hint: Microsoft networking is an implementation of SMB.)
It is perfectly fine to criticise a company that takes an open protocol and the attempts to make their implementation incompatible with the others.
-
Re:Intel processor.
Don't know what your best option for an assembler/dev environment would be for the Tungsten: I haven't played with ARM code outside the Gameboy Advance and back in the days of Acorn, but these links might prove useful:
- ARM Tutorial - Acorn-centric, but some of the basic stuff should still be relevant...
- Selection of ARM assembler documents
- ARM lecture notes
- GBAdev's links to ARM documentation
-
Re:I started learning LaTeX some months ago
*Rant*
I hate BibTeX. I'm a life scientist and BibTeX is the main reason I don't use LaTeX.
First BibTeX is an undocumented nightmare. I speak as someone who learned Forth as their second programming language.
2) Bibliographic tools used in my discipline don't play well with BibTeX. I still don't know of any BibTeX style to produce Vancouver formatted references, which completely dominate medical journals. (I could probably write one, but life is too short, see 1)
3) BibTeX documentation usually assumes that you already know everything about how it works. Lamport's book has a good short introduction, but it's not really enough. (There's a useful MSc. thesis from LS Abd Rahmin. This is worth looking at as it has a nice introduction to the whole area, and a careful examination of some of the existing tools.)
4)Integrating BibTex into a document processing workflow, for example for meta-analysis or annotation, seems to be basically impossible.
5) BibTex is great if you write statistical or mathematical papers, otherwise, forget it. It is far harder to use than other reference handling systems. It does work on Linux, which EndNote reallly doesn't, but thats about it.
*End Rant*
In fairness to BibTeX it set out to solve a very specific problem, and solves it very well, however the problem space has moved on rather sharply since.
There is a dire need for an Open source competitor to EndNote/Reference Manager. A combination of RefDb and OpenOffice could do it, but BibTex won't.
Anthony Staines -
Re:caffeine
Sorry, but I can't resist asking this. Is it true what they say about your fingers?
:-) -
Re:It's too bad
I find your attitude (and most MySQL trashers) very interesting. My company is accomplishing amazing things with MySQL. Moreso than most companies ever accomplish regardless of the DB they use. But somehow you feel the need to save me. Anyways, I'll answer your direct questions:
We run about 75% selects. Our 24 hour average is bit over 200 queries per second.
I have used Oracle extensively. In fact, that's where I learned SQL and DB design. I know all about triggers, foreign keys, PL/SQL, etc. I prefer to build with MySQL.
I know it must really bug a lot of people that such a simple 80/20 database solution is proving to be the best tool for the job to so many people. Sorry.
Perl, ugly as it is, is more useful to me than Java, too.
Cheers. -
Sunsite Northern Europe
The loss of mirror.ac.uk cannot be underestimated. It is by fair the fastest, cleanest, and most complete mirror site I've ever used. It will be sorely missed.
It looks like I'll have to turn my
/etc/apt/sources.list to point to Sunsite Northern Europe instead. Hosted by the Department of Computing at Imperial College, it was down for a prolonged period while the service was being rebuilt. It is now back up and claims to be ready for use. Doing a test transfer inside the college network, I don't seem to be getting much more than around 270kBps throughput, and I always got much better results from mirror.ac.uk, but they may still be ironing out some problems. -
Sunsite Northern Europe
The loss of mirror.ac.uk cannot be underestimated. It is by fair the fastest, cleanest, and most complete mirror site I've ever used. It will be sorely missed.
It looks like I'll have to turn my
/etc/apt/sources.list to point to Sunsite Northern Europe instead. Hosted by the Department of Computing at Imperial College, it was down for a prolonged period while the service was being rebuilt. It is now back up and claims to be ready for use. Doing a test transfer inside the college network, I don't seem to be getting much more than around 270kBps throughput, and I always got much better results from mirror.ac.uk, but they may still be ironing out some problems. -
Re:Python's dirty little secret
Leak has a very specific meaning. A memory leak is memory that is no longer referenced by the program, but is not freed within an indefinite period of program runtime.
If this is your definition of "leak" then Python cannot leak either. In my mind, if you are running a server application and over days, months or years the process grows for no outwardly observable reason, that application is "leaking".
I think FOLDOC agrees with me: A leak in a program's dynamic store allocation logic that causes it to fail to reclaim memory in the heap after it has finished using it, eventually causing the program to fail due to lack of memory
-
Re:Yes
> Most "viruses" at the moment need a stupid user.
Hmm, I was under the impression that most viruses these days just need a stupid email client (read: Outlook), with no intervention by the user required one way or the other.
A virus, by definition, requires human intervention to propagate.
A worm can propagate without human intervention.
-
Re:Yes
> Most "viruses" at the moment need a stupid user.
Hmm, I was under the impression that most viruses these days just need a stupid email client (read: Outlook), with no intervention by the user required one way or the other.
A virus, by definition, requires human intervention to propagate.
A worm can propagate without human intervention.
-
Re:microsoft smart text?Here's what I had to say about Smart Tags at the time. Of course they catered to the "designers" and the one interesting feature they had was cancelled.
it stealses our precious vision!
There's been a lot of whinging about Micros~1's latest Innovation, with talk of the horrible nerve they have to "re-edit anybody's site, without the owner's knowledge or permission, in a way that tempts users to leave".
Aside from the usual Micros~1 practice of claiming others' technology as their own, and the icky ripoff of the Aqua GUI in their screenshot (What is with this fascination with white or almost-white backgrounds? GUIs, Web pages, everything. White backgrounds are too harsh and make reading difficult. One of the more significant advances between Win3.1 and Win9x was the death of the horrible white background everywhere, and now they're doing their best to revive it.), I see this as a good thing.
For once, they seem to be behaving somewhat responsibly in the integration of new functionality (although I wonder how true this would be were the specter of an antitrust breakup not looming over them). Smart Tags are quite visibly different, both in appearance and behavior. They aren't including any tag packages with IE (although I have no doubt they'll plug their ad-pimping package as much as they possibly can). All processing is done locally, which saves bandwidth and prevents a list of all the URLs you visit being sent to Redmond ("What's Related", anyone?).
Smart Tags scare Web "designers" to no end, because they exploit the most fundamental and useful feature of the World Wide Web: hyperlinks. Hyperlinks scare them for 2 simple reasons:
- Their sites are boring.
- They lie to their readers.
Obviously, these can't be used as arguments against the introduction of these tags, so instead they complain about how their sites are being edited behind their backs. But this is a lie and everyone knows it. Their pages are still stored on their server in exactly the same pattern of bytes as before. What frightens them is that the reader might be given the option to go read something else, and this is not right.
What they don't realize is that they never had the right nor the ability to control the presentation of their site. From the moment their pages are posted on a public server, I have the right to do anything I want with them. I can view the source. I can critique their site and their product. And I can disable their grotesque colors, their unreadable fonts, and their gratuitous JavaScript. I can see if their site contains any value to me, and if not, I can leave. A browser is not a television for them to flash pretty images on. It is a tool for me to explore publications, and as such I expect it to provide me with cross-referencing features.
There is public documentation on creating Smart Tag packages. Anyone can write their own annotations and distribute them to friends or the world at large. Of course, this ability is only useful to "the hate groups, the spammers and the junk marketers on the Web". I want to see Smart Tags in Mozilla. I want to see widespread grassroots dictionaries, references, and
-
RSVP-eqsue
It may not be a paradigm shift, but maybe it will help you read faster...the work on Rapid Serial Visual Presentation is pretty persuasive, and has recently shown promise for Palms.
-
Re:Thats a new twist
Oz, Mercury...used both. Oz is quite expressive and interesting; Mercury is easier to learn and more efficient. Both are from a family of languages (concurrent logic programming languages) that has some interesting potential, but not much of a user base. Strand had a brief heyday, and is much like the KL1 FGHC language from the Japanese FGCP that I did my master's work on. Erlang is fairly popular in certain circles, but has evolved away from CLP.
I guess I'm not a "real hardcore nerd"...
-
Re:The Wrong Message
Samba has fsck all to do with MSFT APIs. An API is the definition of how a program interfaces with the OS or libraries. Samba implements a protocol, a standard for information exchange between systems.
This is why what MSFT does to its APIs doesn't matter, it has nothing to do with reverse engineering, it's just that they're two completely different things. -
Re:The Wrong Message
Samba has fsck all to do with MSFT APIs. An API is the definition of how a program interfaces with the OS or libraries. Samba implements a protocol, a standard for information exchange between systems.
This is why what MSFT does to its APIs doesn't matter, it has nothing to do with reverse engineering, it's just that they're two completely different things. -
Re:Great
I wouldn't dare to imagine the number of times that MS has replaced or retrofitted (read: ugly hacks) technologies found in previous versions of Windows.
What about X? That's 20+ years, and now extensions are beginning to conflict with each other. For instance, Xinerama broke XVideo. Solution? XVideo only works on the primary display. Look at the complexity of ICCCM, or the fact that Xine simulates a shift key press every 30 seconds to disable the screensaver since it gave up trying to figure out the window manager it's running under. Yes, Virgina, sometimes endless choice is bad.
These examples, of course, were taken from the Y-Windows paper describing all the reasons to get rid of X and replace it with Y (which is also network transparent). I fully expect Y to be the superior replacement to X. They're at 0.2 now and are targetting a 1.0 release in a year. -
Re:Good for RAIDs
>>The "I" in RAID stands for "inexpensive".
>Umm, no, it doesn't. It stands for "Independent".
I believe you are BOTH right. As I recall, the "I" in RAID *originally* stood for "inexpensive" back in the days when the rapidly dropping price of 5.25" and 3.5" drives were making them very attractive "inexpensive" replacements for larger, *very* expensive mass storage systems. But time passed and the success of RAID arrays made them the primary method for providing high performance data storage and retrival as well as data redundancy. They became the new standard for comparison, so the term "inexpensive" was no longer relevant and was replaced with the word "independent," a term that better describes them. As I was typing this I found this link that seems to agree with my recollection. -
XFree86, GNOME, and KDE are all dead in the water
Here's why. We need to get away from this obsession with 20+ year old graphics servers running 20 different inconsistent toolkits, all working extra hard to "work well with each other" when we should really be focusing our efforts on one major desktop competitor running on Linux.
-
Re:Automatic vision testers! hooray!
One of the lecturers when I did my optics MSc two years ago built a device which would allow imaging of the retina without surgical intervention. Being able to do this required measuring the properties of the cornea and lens to a phenomenal degree of accuracy.
So, they decoupled the corrective bit (the expensive bit) to a simple abberation measurement. There's a bit of information here.
It'd be great to link the two devices together. -
Re:About YThat is, essentially, what Y Windows does. Widgets are maintained as objects on the server, so apps just have to create them and notice when they're changed.
There's a ton of information about how this works in this PDF.
From what I've read, it's exactly what I want (and have been advocating.) My money was on PicoGUI, but hey - competition is good.
-
Y _IS_ intended to replace X
Funny that I should read your post right after opening the Y Windows project report. The very title of the report is "Y: A Successor to the X Windows System"
-
Y: Window system
Why this might be a good time to start developing Y: the successor to the X window system.
-
Re:Simple solution.
Pity the alternatives aren't further along.
Looks like a perfect opportunity to switch to Y, then. These things won't get any further along without a little pushing.
-
The lost art of modelling.From the post:
"software should more closely simulate the real world"From the article: "It's not the prevention of bugs but the recovery -- the ability to gracefully exterminate them -- that counts."
While the need to gracefully recover your design from bugs (bugs come from design, or lack of, not code) is laudable. The proper technique is to design without bugs in the first place. Assuming that you're actually meeting the business requirements or functional specifications, there is a straightforward method to flattening bugs before they become fruitfully overripe and multiply.
Once you have obtained the proper requirements (your goals), and after you've properly atomized it to its smallest component parts, you need to model those parts. Once you've modeled those parts, you need to test the model. This works in single process design, but it really shines in concurrency where anyone can truly screw up.
Get a good book on design. Then get a good book on modelling, mechanically analyzing, and testing those designed processes before commiting to code.
= 9J =
-
Re:Headline: Linux Makes Bad Code Look BetterI followed your link...
"Throw off the shackles and learn to program network servers."
...and found this under the "Lock Contention" heading:"Dividing code into stages is a complicated matter of program design, so there's not much I can offer there"
The inevitable disclaimer buried in the majority of all literature attempting to discuss concurrency. Try this for a practical remedy.
= 9J =
-
Re:Mirror
http://www.doc.ic.ac.uk/~dwm99/slashdot/FirefoxSe
t up-0.8.exe.not.
By the way, you really shouldn't trust random binaries you downloaded from someone else on slashdot. At least validate the MD5SUMS, if you can -- that .exe block is there for a reason. -
A-HA! A CLUE!
-
Re:Interesting"I'm trying to get XP to boot up on this here IBM z800, but it doesn't seem to work for some reason."
Obviously, you need to flip the Magic Switch
-
It's baaack
My God. The kludge that would not die! I thought we did away with memory models when we finally got rid of protected mode. But nooo. People still want to squeeze a few more bits out of their memory systems. Somebody call an exorcist!
-
Re:Windows XP was a complete rewrite?
(Of course, there never was a N-Ten processor, so Microsoft marketing retooled the name to mean New Technology).
Are you certain that N10 wasn't the Intel code name for the i860?
-
Re:Another day, another SCO story...
I strongly suspect that any SCO representative entering our building would be considered persona non grata, and ejected.
And I don't mean by the front door. :-) -
Definition of one-way functionA function which is easy to compute but whose inverse is very difficult to compute.
Source: FOLDOC
-
Re:The GPL is headed for a showdown...
I suppose you may have been trying to be funny but I'm not sure...
The OSI which approves the GPL is the Open Source Initiative.
OSI, as an OSI 7-layer model, stands for Open Systems Interconnect and the standard is set by the International Organization for Standardization (I guess IOS was already a Cisco trademark or something...). -
X Replacements
It seems that the tone of this article is misleading; X development will continue on in good health.
However, I always find myself thinking about Y as an X replacement. It's certainly not the most mature option out there, but reading throught the PDF is a pleasure, as the author seems to have struck a great balance of power and simplicity.
Cheers. -
X Replacements
It seems that the tone of this article is misleading; X development will continue on in good health.
However, I always find myself thinking about Y as an X replacement. It's certainly not the most mature option out there, but reading throught the PDF is a pleasure, as the author seems to have struck a great balance of power and simplicity.
Cheers. -
Bus mastering
A little bit of time searching tech support revealed that the card needed a mobo that supports PCI bus mastering
Roughly, "bus mastering" means that a card can read and write RAM and perform I/O on its own without CPU help. More details: FOLDOC definition of bus master. Some motherboards may be able to turn this on and off in the BIOS setup screens.
-
A notification server protocol? cf. NTP/NNTP/SIPMaybe a kind of event notification service would be useful (I get to it after a few comments...)
A) Sounds nice, but even without a torrent, using an open source hash algorithm (client and server agree on how to calculate the hash) would provide a way for the client to only download the hash value itself to check for freshness.
This way,
1 the author knows how many people have consumed the data and their general geographic distribution.
2 the author can make a decision to stop publication, which problematic but at any rate easier to enforce than if he or she starts out authorizing a torrent.
3 the author is free to pay for bandwidth if he or she will happily serve one per user just not a zillion per poller.B) To be sure, it is easy to see who publishes an RSS feed / incites a Torrent download over somebody's infrastructure, whereas it is not so easy to discover the identity of an anonymous coward. You could also publish a pseudo-RSS feed itself exclusively over the torrent network using sequential filenames for more anonymity maybe..um.
C) Personally I have a current need for frequently updated RSS for a certain application and I'd set up a server that my internal network clients would poll frequently. But I'd still need for one machine to know the instant things change on the web too.
D) I'm wondering if a hierarchical network of servers might be useful here to publish event notifications. UDP is lossy, and we don't want to lose any events so that's out I guess. In NTP, various strata of time servers are used and clients try to sync to Greenwich time (light data) by the best route available. In NNTP, a client usually uses only one news server to get a fat feed, and different server owners often choose to handle only a subset of what's available in the whole world, which might also be the case (try serving every event of importance to someone in the world.. what is the bandwidth needed for that? How many bits to describe it in ip-like dot format?)
Probably there is another service that does what I'd like and it just flew out my left ear, but it just seemed to me that the best thing would be to combine the lightweight NTP network which lets clients synchronize their understanding of time despite general flakiness, and the NNTP network which allows different servers to decide to serve only certain segments of the worldwide aggregated feed.
And SIP does a lot of things that might be useful. And there is MDS (metacomputing directory service for the "semantic grid" - pdf / google's html). And there's Jini
..Anyway we do want to know some things with at least one minute resolution. (A storm watch? A news headline so we can turn on the TV or video stream?) At TV stations I know people constantly are watching the TV out of the corner of their eye to see if something earth-shattering comes up. How about a chime to tell you to look instead? How else to people get First Post?
;) I'd just like to beat normal notification systems for current events and website updates, for starters, based on a relatively robust and timely mechanism.Maybe a low bandwidth network with some of these characteristics would be useful to distribute update event notifications that filter down to everyone's devces. A big company could have one or two machines consuming a global event notification thread, add events only it knows about, and serve this information on a push or pull basis to all its employees. Hmmm, tasty. Come to think of it I want something like that for another project too, Does anything already do this?
One interesting paper (2001) I found is on an emergency notification network based on subscribe/notify messages over SIP, a widespread voice over ip prot
-
No! Hardware issues exist also
Solaris isn't the only reason Sparc boxes scale to more CPUs than Intel-based boxes do - there are hardware issues too. Just one example is cache coherency
-
Re:It doesn't bother me!
From the Jargon File: Line Noise
1. Spurious characters due to electrical noise in a communications link, especially an EIA-232 serial connection. Line noise may be induced by poor connections, interference or crosstalk from other circuits, electrical storms, cosmic rays, or (notionally) birds crapping on the phone wires.
2. Any chunk of data in a file or elsewhere that looks like the results of electrical line noise.
3. Text that is theoretically a readable text or program source but employs syntax so bizarre that it looks like line noise. Yes, there are languages this ugly. The canonical example is TECO, whose input syntax is often said to be indistinguishable from line noise. Other non-WYSIWYG editors, such as Multics "qed" and Unix "ed", in the hands of a real hacker, also qualify easily, as do deliberately obfuscated languages such as INTERCAL.
(I'll point out that VB is nothing like those languages. But if you type gibberish, it will autocorrect until you've got a running program. Almost.) -
Re:Very old IT joke
-
Re:my favorites
"I don't understand why people would need more than 4gb..." (Bill Gates in an interview on 64 bit ccomputing, in which he said he didn't understand peoples' interest in it)
I've heard some dumb quotes attributed to Bill Gates, so I was skeptical that he said this, so I looked it up. Here is what he said:But apart from Photoshop, I can't think of desktop applications where you would need more than 4 gigabytes of physical memory, which is what you have to have in order to benefit from this technology.
That's pretty short-sighted. As I write this, my biggest single process (Mozilla) is using 33MB. The last time I seriously used a machine with less than 33MB of physical RAM was about 6 years ago. Now I use a machine with 512MB of RAM, so if my single-process RAM needs continue grow at the same rate as the RAM in my work machines, I will need 2GB processes within 10 years. That means my largest processes will no longer fit in the 2GB limit Win32 places on a single process. 18 months later (about 10 years from now), they won't fit in 4GB, so barring any terrible segmentation schemes or other egregious hacks, they will be incompatible with any 32-bit architecture.I think I have fairly modest RAM requirements---after all, my biggest process is Mozilla---so I can only imagine others will need 4GB processes before I will. So what does Mr Gates expect? That the industry should just sit and wait until a customer asks for a 64-bit machine, and then start developing them?
-
Re:Nanotech is XXIst century AI
I believe that nanotech, just like AI and superconductivity, is a pipe dream.
Superconductivity is a pipe dream?!? Have you been living under a rock for 92 years? It was accomplished in 1911 for Pete's sake!
(Yes, I'm sure you're referring to the way it isn't in "common usage", but the reasons for that are largely economic, not technological. The benefits of superconductivity simply aren't large enough to matter. It's certainly possible, though!)
Have you already seen an application of NanoTech in real life?
Yes. Your ignorance of them does not negate them.
We're only at the beginning of the flood here. You're the guy in August 1981 declaring that desktop PCs are impossible because who has ever seen a useful desktop PC? You're not exhibiting special insight, you're ignoring what's going on right now, right in front of you, at the infant stage.
Full-scale Drexler assemblers may or may not happen (though IMHO the real question is "how large will they be?", not "are they even theoretically possible?"), but nanotechnology marches onward, even though it can't jump to the ultimate conclusion of the technology instantaneously.