, but this code // executes before the first paint, when

麻豆区

is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); Waka Waka Bang Splat! - News & Stories | 麻豆区

麻豆区

Skip to main content

Calvin News

Waka Waka Bang Splat!

Thu, Apr 10, 2003
na
It's been almost 13 years since two Calvin folks, Fred Bremmer and Steve Kroese, wrote the first poem for the internet, a poem composed entirely of computer keyboard characters. It swept through cyberspace with amazing speed for a poem and still lives on in hundreds of website across the globe. In the interest of posterity we reproduce it now below on Calvin's website, assuming that the authors allow it to be so (if they don't, contact us!).
The poem is called "Waka Waka Bang Splat!" It goes like this:

< > ! * ' ' #
^ " ` $ $ -
! * = @ $ _
% * < > ~ # 4
& [ ] . > . /
| { , , SYSTEM HALTED


Read aloud it goes like this:

< > ! * ' ' #
Waka waka bang splat tick tick hash,

^ " ` $ $ -
Caret quote back-tick dollar dollar dash,

! * = @ $ _
Bang splat equal at dollar underscore,

% * < > ~ # 4
Percent splat waka waka tilde number four,

& [ ] . . /
Ampersand bracket bracket dot dot slash,

| { , , SYSTEM HALTED
Vertical-bar curly-bracket comma comma CRASH.