An early textbook on building semiconductor systems. A key learning was the scaling law: "as transistors grow entirely new classes of computation become feasible".
Showing posts with label people. Show all posts
Showing posts with label people. Show all posts
Thursday, 25 June 2026
Wednesday, 23 December 2015
An Introduction to the Point-to-Point Protocol for Windows Protocol Engineers
The PPP is used to establish point-to-point links for systems transporting multi-protocol datagrams. It is an amalgam of several sub-protocols.
Part of the protocol is an LCP or link control protocol for establishing, configuring and testing the data-link connection, as well as other network control protocols. Amongst other uses, one of the LCP's jobs is to agree encapsulation format options.
A background to the intellectual development and design criteria behind the PPP can be analysed in RFC 1547 (put together by Drew Perkins of Carnegie Mellon in December 1993, who also founded Infinera) entitled "Requirements for an Internet Standard Point-to-Point". In it he highlights that while many protocols then existed for the data-link layer, none were sufficiently complete and versatile enough to be accepted as an Internet Standard.
Part of the protocol is an LCP or link control protocol for establishing, configuring and testing the data-link connection, as well as other network control protocols. Amongst other uses, one of the LCP's jobs is to agree encapsulation format options.
A background to the intellectual development and design criteria behind the PPP can be analysed in RFC 1547 (put together by Drew Perkins of Carnegie Mellon in December 1993, who also founded Infinera) entitled "Requirements for an Internet Standard Point-to-Point". In it he highlights that while many protocols then existed for the data-link layer, none were sufficiently complete and versatile enough to be accepted as an Internet Standard.
Thursday, 28 August 2014
Math in C#
If you want to do math in C#, and specifically linear algebra math, you have a number of options.
Use the in-built multidimensional array construct, create your own linear algebra library or use an existing one.
Math.Net.Numerics (currently on version 3.2.0) is a good option. It has full documentation here. The guys at Microsoft Research (at least some of them) use it too. You may also want to read Christoph Ruegg's (aka cdr) blog where he covers Math.Net releases.
Use the in-built multidimensional array construct, create your own linear algebra library or use an existing one.
Math.Net.Numerics (currently on version 3.2.0) is a good option. It has full documentation here. The guys at Microsoft Research (at least some of them) use it too. You may also want to read Christoph Ruegg's (aka cdr) blog where he covers Math.Net releases.
Tuesday, 12 August 2014
Grammars for C# Hackers; It All Starts with NTPS (Understand it, Don't Memorise It)
This post is part of a series labelled "compsci" which seeks to expound complex computer science topics in an easy way for implementers interested in the theoretical foundations of computing. These will include grammars, essential for understanding compilers, discrete math and other topics.
This post focuses on the Chomskian hierarchy of grammars and how they apply to computer science. Chomsky is a genius who spent most of his career at MIT (which suited his "idiosyncratic interests") and has written over one hundred books. He has contributed considerably to the study of generative grammars.
The most basic is known as Type 0, or phrase structure grammars (PSGs). These grammars can be encapsulated by the quadruple NTPS i.e. the set of terminals and non-terminals, start symbol (which is one of the non terminals) and productions.
There are specific derivation rules to expand nonterminals for PSGs, however these are quite general. When restrictions are put on the production rules, you get type 1, type 2 and type 3 grammars.
Type 1 grammars are also known as context sensitive grammars and they generate context sensitive languages (CSLs).
Type 2 grammars (which generate Type 2 languages) are known as context-sensitive grammars.
Chomsky has mentioned in talks the study of "universal grammar", the study of specifying general properties of languages that can be learned in the normal way by humans. UG can be thought of as a part of cognitive science.
This post focuses on the Chomskian hierarchy of grammars and how they apply to computer science. Chomsky is a genius who spent most of his career at MIT (which suited his "idiosyncratic interests") and has written over one hundred books. He has contributed considerably to the study of generative grammars.
The most basic is known as Type 0, or phrase structure grammars (PSGs). These grammars can be encapsulated by the quadruple NTPS i.e. the set of terminals and non-terminals, start symbol (which is one of the non terminals) and productions.
There are specific derivation rules to expand nonterminals for PSGs, however these are quite general. When restrictions are put on the production rules, you get type 1, type 2 and type 3 grammars.
Type 1 grammars are also known as context sensitive grammars and they generate context sensitive languages (CSLs).
Type 2 grammars (which generate Type 2 languages) are known as context-sensitive grammars.
Chomsky has mentioned in talks the study of "universal grammar", the study of specifying general properties of languages that can be learned in the normal way by humans. UG can be thought of as a part of cognitive science.
Thursday, 16 February 2012
Going Native 2012
"C++ is two halves: Core language: your pointers, integers, floating point and Standard Library, on which users actually build their programs". C++ is still the best choice for high-performance code that needs to be ROBUST. Check out these talks. Also, for comparison, check out Anders' C# talk on C# Five-Oh and writing "asynchronous Metro applications".
Saturday, 20 February 2010
From Application Software to Operating Systems: The Awesome Story of David Cutler
Mark Russinovich is the kingpin of Windows troubleshooting. He sold a company called SysInternals to Microsoft in 2006. In a 1998 article in Windows Magazine, Mark talked about the history of NT and its intellectual origins in the progamming backwaters of DEC. In the article he describes the background of David Cutler, Chief Architect of NT, and part of the original VMS development team. He made a transition from writing application software at DuPont to writing operating systems at DEC. Digital announced VMS in 1977. Cutler was restless by 1981 and threatened to leave Digital. In response Digital gave Cutler 200 hardware and software engineers - Cutler moved to Seattle (Home of Starbucks) and started a dev-center out there in Washington State. Their mandate was to develop a new CPU architecture and OS for the 1990s. In 1988, Cutler's project was cancelled and MS execs leaped in to grab Cutler, along with 20 engineers from DEC. The result was Windows NT. It took over 200 developers and testers to bring it into fruition. With NT came the awesome new Win32 API, the 32-bit evolution of the 16-bit API of Windows 3.0.
Usenet joke: If you increment each letter in VMS you get WNT.
Usenet joke: If you increment each letter in VMS you get WNT.
Subscribe to:
Posts (Atom)