General statistics
List of Youtube channels
Youtube commenter search
Distinguished comments
About
Lawrence D’Oliveiro
Computerphile
comments
Comments by "Lawrence D’Oliveiro" (@lawrencedoliveiro9104) on "Computerphile" channel.
Previous
2
Next
...
All
The context for that comment was I think the phenomenon that people who have just discovered regexes tend to (over)use them for everything. One horrendous example was a regex for parsing e-mail addresses.
11
Version control has evolved a lot over the decades. In the beginning, it was thought that it was vital to lock files when somebody checked them out, because if two people made simultaneous changes to the same file, the world would end or something.
11
Don’t spend it all at once.
11
Part of it is just text pointers, which are easy enough to examine with regular file tools. E.g. the HEAD file just contains the name of the “current” branch. Unless you have checked out a commit in “headless” mode (what I like to call “Marie Antoinette” mode) ...
11
11:17 There is a thing called “QoS” (“Quality of Service”). This has to do with the differing needs of different Internet applications: for example, file transfer requires maximum reliability, even if packets get held up occasionally, while telephony and video streaming require timeliness, and can tolerate the loss of a packet here and there. But this is something that needs to be explicitly specified by the applications at the endpoints, the ISPs have no business second-guessing these requirements. The creators and users of the apps are in the best position to know what they want: those who run the network are not.
11
9:53 Some people think that stuttering might be caused by a neural analogue to this sort of phenomenon.
10
Even Apple don’t want to use it any more.
10
1:40 I got hold of a copy of the ALGOL-68 spec when I started first year at Uni, and it just blew my mind. I was quite disappointed later to discover that most computer scientists considered Van Wijngaarden grammars to be just too complicated, and so they stuck to simpler, less formal, not to say cruder, ways of defining their languages.
10
@MattExzy It did happen, albeit (mostly) not in a big way. There were instances of system failures from about early-to-mid 1999 onwards, certainly that I can remember. For example, a system for issuing cards with a 6-month expiry, which couldn’t handle expiry dates past 31st December 1999.
10
But didn’t you have to install the “run” button? And connect it to ... whatever it’s connected to?
10
Yes, but the vectors that your typical present-day CPU operates on are short ones, with something like 4 or 8 elements at most.
10
3:15 Note for Transatlantic folks: “Heath Robinson” (UK) ⇔ “Rube Goldberg” (US).
10
2:57 One subtle point worth noting is that the GUI framework usually handles keyboard autorepeat. That is, when you ask for another event, no “real’ event is pending, and a key is still down from the previous one, and the autorepeat interval has elapsed, then the framework will generate an autorepeat key-down event for you. Note that these autorepeat events are not buffered, so they are only generated as quickly as your code can handle them. Thus, autorepeat can never run away from your program’s ability to respond!
10
@akashchoudhary8162 You could get fooled into accepting messages from a fake sender instead. So you need to obtain the public key from a trusted source.
10
That was discussed in part 1. It’s why the matrix is scanned, not simply fed with static voltages.
10
My employer was mainly a VAX/VMS shop back in the day. I remember when the PHONE program made an appearance, and was a novelty for all of ten minutes. Then everybody made sure to add SET BROADCAST/NOPHONE in their login scripts ...
9
I think it is quite common to clean up and simplify your private commit history before sending a bunch of patches to the central authorities for a project. For example, you probably don’t want them seeing every little typo correction or whitespace fixup as a separate commit.
9
@MatthewBishop64 Except that nobody cares about Dotnet Core. If C# could free itself from all these Windows encumbrances, perhaps it could become a useful language.
9
0:28 I see some interesting books on GCHQ and the like. No copy of Spycatcher ? Is that still banned in the UK?
9
And “Fido” (faithful one) I think was a Latin tradition.
9
That was after the cancellation of the BitKeeper licence.
8
7:53 Don’t forget, server programs are also event-driven, and they often don’t have any kind of user interface at all. Instead, they are responding to events received over client connections.
8
9:20 Unlike Subversion, Git does not keep track of what you have checked out at the commit level, only at the branch level. To get around this, it can be helpful to use the “checkout -b” command to create a new, temporary branch pointing to the commit you just checked out. Since this branch is considered “fully merged” (the commit is part of the past history of some branch you really want to keep), you can delete it afterwards with “branch -d” (lowercase d, not uppercase D).
8
If they’re sharing the same band, then they’re contributing to interference and reducing your bandwidth, even if they’re using an entirely separate protocol.
8
I think they also introduced “overloading” for multiple definitions of an operator that were chosen according to context. That term is commonplace nowadays.
8
8:05 Interestingly, the speed of sound in Earth’s atmosphere at room temperature is almost exactly one millionth of the speed of light.
8
That video ended with a bit of advice that should have been presented up front: use the existing systems that others have put in place. Even if you want to write your own time-conversion code (and I have), use the Olson database!
8
Social science is considered a “soft” science. That’s a physicist/mathematician’s way of saying “not a real science”. Remember, this is not just any old “project management” -- this is about the management of software-development projects. If you don’t understand what’s so special about that, you need to read Brooks’ book.
7
18:43 The book publishers themselves destroyed a lot of the promise of e-books, by trying to impose restrictions on them above and beyond those on physical paper books. And also trying to charge more for them. I can remember all those years of rising paper book prices in the latter 20th century, which the publishers blamed on the rising cost of paper, ink etc. So you don’t think that moving to a purely electronic format, getting rid of those consumables costs, would see a drop in the price. Not a chance.
7
8:56 One of those “couple of other things” in the Amiga was the Copper. This implemented display lists, which allowed it to do fancy animation effects without actually needing to blit large arrays of pixels around. Now that was impressive.
7
In Windows, the usual answer if some procedure gives you trouble is: “have you tried running it as Administrator?”
7
As somebody with a Master of Science degree, you can understand why I might disagree.
7
One of the interesting points about the book is where it discusses improvements in programmer productivity over time. There was an order of magnitude improvement over the decade 1985-1995 (up to the point he did the Anniversary Edition), and he discussed how another order of magnitude might be managed over the subsequent decade. He saw that it was essential to move to ever higher-level languages, which left more of the details to lower layers -- he called this “metaprogramming”. His example of a “metaprogramming” language was AppleScript -- a choice which has not stood the test of time, and one area where the book shows its age. What was more effective at the time was Perl, possibly also Tcl, which have since been joined by others including Ruby, JavaScript/Node, PHP and Python. These are the languages that, in my view, have really made a difference to programming since then.
7
My first timesharing account as a member of staff was [2, 4]. We didn’t have names in those days; just numbers. Tell that to the kids these days, mumble mumble ...
7
17:09 Which brings us to the phenomenon known as “buffer bloat”, where all kinds of devices between your end of the connection and mine have large buffers built into them, just to make some problems easier to solve. But of course this adds latency for real-time applications. So there are people trying to persuade makers of these devices to reduce their buffer sizes. Which requires them to write better code to deal with the problems that they were papering over with large buffers before.
7
Sorry, I kept saying SHA-256. In fact Git still uses SHA-1. Though there is a plan in progress to move to something more future-proof.
7
pid content tracker”. He deliberately avoided very elaborate conflict-merging schemes, preferring to concentrate on narrowing down the points of conflict so the human user has just the info they need to resolve the issue, without needless distractions. He said he wouldn’t trust his code to more complex automatic mechanisms that many others were proposing. Yes, “clay” is exactly the word that has come to my mind, too. Having all your work safely stored away in the commit history gives you the confidence to take more risks, knowing that, if you screw up, you can always go back. ;)
7
Not just editing, but also choreography of Steve’s movements.
7
@ChrisJones-rd4wb The whole concept of “Intellectual Property” actually violates property rights. Think of what it means for the seemingly simple question: “If I buy something, do I own it?”.
7
@NoNameAtAll2 It can’t work, because opening/closing tags can be nested inside other opening/closing tags, to arbitrary levels. Regexes cannot handle that.
7
7:23 No, the address register is incrementing by 2 each time (note the little gap where the units bit is 0). Machine instructions are multiples of 2 bytes in length, and have to be stored in even addresses.
6
@Mtaalas Luckily, Python’s use of whitespace is pretty much consistent with my formatting conventions anyway. I do still put in “#end” comment lines. If nothing else, it gives Emacs something to jump to, so I can quickly move between the beginning and ending of a block just by looking for lines with the same indentation level.
6
5:34 Other OSes had this concept called “overlays”, where you divided up your (large) program into sections such that only some sections were loaded into memory at once. There were complicated mechanisms such that when a procedure in one section made a call into one in another section, the latter would get automatically loaded. But what happened if there wasn’t enough memory? Then some other section had to be thrown out of memory. If no code was currently executing in a suitable section, then fine. But what if there was? Then it would have to be automatically reloaded when control returned to a procedure in there. Or maybe you disallowed unloading sections which held currently-executing procedures. Yes, it all got very complicated. I never wrote an overlaid program in my life. Luckily the 32-bit era arrived just in time.
6
Rebase is OK for private branches. Once you publish a branch, rebase is going to cause those who pull that branch a lot of grief.
6
You see now the impetus for RMS to start the GNU project, given the increasingly draconian restrictions on AT&T Unix licensing as time went on. They were bad enough to begin with, but after the breakup of the telephone monopoly, with AT&T now free to fully participate in the computer market, suddenly Unix became a whole lot more commercially valuable to them, and so they became less willing to let Universities and others have it, with full source code, at anything resembling a modest price.
6
0:38 “Not that quick” as in “a thousand times slower than secret-key encryption such as with AES”.
6
@joshuahillerup4290 The difference between computer science and the branch of maths known as computability theory is that the mathematicians only care whether something is possible or not, while computer scientists actually worry about how efficient it might be to compute. E.g. any encryption algorithm can be cracked in finite time, but if that time is longer than the age of the Universe, then a computer scientist would deem the result to be a useful algorithm, even as the mathematicians would say “meh”.
6
I wonder why people treat this like some kind of big joke.
6
I was looking at some statistics a few years ago on contributions to the Linux kernel. At the time there were something like 1000 active contributors, and 10,000 lines of new/changed code flowing into the kernel each day. Which worked out to 10 lines per contributor per day -- which is a figure straight out of Brooks.
6
@VAXHeadroom Have you thought of letting Bitsavers make a scan of it?
6
Previous
2
Next
...
All