parent
4ad55ec61d
commit
0cc0b307d1
@ -1,26 +1,57 @@ |
||||
import React, { ReactNode } from "react"; |
||||
|
||||
import { Image } from "./Image"; |
||||
import { Link } from "./Link"; |
||||
|
||||
import styles from "./TechTalkCard.module.css"; |
||||
|
||||
interface DownloadLink { |
||||
file: string; |
||||
type: string; |
||||
size?: string; |
||||
} |
||||
|
||||
interface TechTalkProps { |
||||
name: string; |
||||
poster?: string; |
||||
title: string; |
||||
presentors: string[]; |
||||
poster: string; |
||||
links: DownloadLink[]; |
||||
children: ReactNode; |
||||
} |
||||
|
||||
export function TechTalkCard({ name, poster, children }: TechTalkProps) { |
||||
export function TechTalkCard({ |
||||
title, |
||||
poster, |
||||
presentors, |
||||
links, |
||||
children, |
||||
}: TechTalkProps) { |
||||
return ( |
||||
<article className={styles.card}> |
||||
<aside> |
||||
{poster && <Image alt={name} src={poster} />} |
||||
{!poster && <div className={styles.spacer}></div>} |
||||
<Image |
||||
alt={`Thumbnail of tech talk by ${presentors.join(", ")}: ${title}`} |
||||
src={poster} |
||||
/> |
||||
</aside> |
||||
<section className={styles.content}> |
||||
<h1>{name}</h1> |
||||
<h1>{title}</h1> |
||||
<div>{children}</div> |
||||
|
||||
<h2>Download:</h2> |
||||
<ul> |
||||
{links.map((link) => ( |
||||
<li key={link.file + link.type}> |
||||
<DownloadLink {...link} /> |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</section> |
||||
</article> |
||||
); |
||||
} |
||||
|
||||
function DownloadLink({ file, type, size }: DownloadLink) { |
||||
const text = size ? `${type} (${size})` : type; |
||||
return <Link href={file}>{text}</Link>; |
||||
} |
||||
|
@ -1,19 +1,66 @@ |
||||
export const metadata = { |
||||
name: "Tech Talk Title", |
||||
short: "Learn how React works and make your own version!", |
||||
poster: "/images/playground/alt-tab.jpg", |
||||
title: "1989 Bill Gates Talk on Microsoft", |
||||
presentors: ["Bill Gates"], |
||||
thumbnails: { |
||||
small: "/images/playground/alt-tab.jpg", |
||||
large: "/images/playground/alt-tab.jpg", |
||||
}, |
||||
links: [ |
||||
{ |
||||
file: "http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989.mp3", |
||||
type: "mp3", |
||||
size: "85M", |
||||
}, |
||||
{ |
||||
file: "http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989.flac", |
||||
type: "flac", |
||||
size: "540M", |
||||
}, |
||||
{ |
||||
file: "http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989.ogg", |
||||
type: "ogg", |
||||
size: "56M", |
||||
}, |
||||
{ |
||||
file: "http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989.wav", |
||||
type: "wav", |
||||
size: "945M", |
||||
}, |
||||
] |
||||
}; |
||||
|
||||
You've got a game, but you didn't write it. You're running it by emulating the machine it was meant to run on, and the machine it was |
||||
meant to run on never had support for networking. Now, you want to play with your friend, over the Internet. Oh, and it's not |
||||
acceptable to incur any latency between your controller and the game while we're at it. Surely that can't be possible, right? |
||||
Wrong. This talk will discuss the re-emulation technique for netplay used commercially by a system called GGPO and freely in |
||||
an emulator frontend called RetroArch, and how similar techniques can be applied to make networking work in other scenarios |
||||
it was never meant for. This will be an unprepared, impromptu talk with no slides, so it should either be a fascinating dive |
||||
into a little-heard-of technique, or an impenetrable mess of jargon and algorithms. Either way, it should be fun. Professor |
||||
Richards is the maintainer of the netplay infrastructure for RetroArch, a popular emulator frontend for multiple platforms. |
||||
Bill Gates discusses the software and computer industry, and how Microsoft has contributed. Gates also discusses his views on the future of the computing industry. The talk was recorded in 1989 but was only recently digitized. |
||||
|
||||
# Download |
||||
Topics include: |
||||
|
||||
- BitTorrent:[Netplay in Emulators (mp4)] |
||||
- HTTP (web browser):[Netplay in Emulators (mp4)] |
||||
- The start and history of the microcomputer industry |
||||
- Microsoft BASIC and the Altair 880 computer |
||||
- The transition from 8-bit to 16-bit computers |
||||
- Microsoft's history with IBM |
||||
- 640k memory barrier and 16-bit architectures |
||||
- 32-bit 386 and 486 architectures |
||||
- RISC and multi-processor machines |
||||
- EGA graphics and WYSIWYG editors |
||||
- Decreasing cost of memory, harddisks and hardware in general |
||||
- The importance and future of the mouse |
||||
- Object-oriented programming |
||||
- MS-DOS and OS/2 |
||||
- Multi-threaded and multi-application systems |
||||
- Synchronization in multi-threaded applications |
||||
- Diskette-based software |
||||
- UNIX standardization and POSIX |
||||
- History of the Macintosh and Microsoft' involvement |
||||
- Involvement of Xerox in graphical user interfaces |
||||
- Apple vs. Microsoft lawsuit regarding user interfaces |
||||
- OS/2 future as a replacement for MS-DOS |
||||
- Microsoft Office on Macintosh |
||||
- Thin/dumb clients |
||||
- Compact discs |
||||
- Multimedia applications |
||||
- Gates' current role at Microsoft |
||||
|
||||
<!-- --> |
||||
|
||||
The following picture was taken after the talk (click for higher-res). |
||||
|
||||
[](<http://mirror.csclub.uwaterloo.ca/csclub/bill-gates-1989-big.jpg>) |
||||
|
Loading…
Reference in new issue