Moʻolelo kuʻuna o nā polokalamu polokalamu a me nā ʻenekinia (mahele 1)

Moʻolelo kuʻuna o nā polokalamu polokalamu a me nā ʻenekinia (mahele 1)

He koho kēia o nā moʻolelo mai ka Pūnaewele e pili ana i ka loaʻa ʻana o nā hiʻohiʻona kupaianaha i kekahi manawa. He mea paha kāu e haʻi aku ai.

ʻAleʻaleʻa kaʻa i ka ice cream vanilla

He moʻolelo no ka poʻe ʻenekinia i hoʻomaopopo ʻaʻole ʻo ka mea maopopo ka pane i nā manawa a pau, a ʻoiai ʻaʻole mamao loa ka ʻike ʻana o ka ʻoiaʻiʻo, ʻo ia nō ka ʻoiaʻiʻo. Ua loaʻa i ka Pontiac Division o General Motors Corporation kahi hoʻopiʻi:

ʻO ka lua kēia o kaʻu palapala ʻana iā ʻoe, ʻaʻole au e hoʻohewa iā ʻoe no ka pane ʻole ʻana, no ka mea, he mea pupule. He kuʻuna ko mākou ʻohana ka ʻai ʻana i ka ice cream i kēlā me kēia pō ma hope o ka ʻaina ahiahi. Hoʻololi ke ʻano o ka ice cream i kēlā me kēia manawa, a ma hope o ka ʻaina ahiahi, koho ka ʻohana holoʻokoʻa i ka hau e kūʻai ai, a laila hele wau i ka hale kūʻai. Ua kūʻai aku nei au i Pontiac hou a mai ia manawa ua lilo kaʻu huakaʻi e kiʻi i ka ice cream i pilikia. ʻIke ʻoe, i kēlā me kēia manawa aʻu e kūʻai ai i ka ice cream vanilla a hoʻi mai mai ka hale kūʻai mai, ʻaʻole e hoʻomaka ke kaʻa. Inā lawe au i kekahi hau ʻē aʻe, hoʻomaka ke kaʻa me ka pilikia ʻole. Makemake au e nīnau i kahi nīnau koʻikoʻi, ʻaʻole pili i ke kani ʻana o ka naʻaupō: "He aha ka mea e pili ana i ka Pontiac e hoʻomaka ʻole ai ke lawe mai au i ka ice cream vanilla, akā hoʻomaka maʻalahi ke lawe mai au i kahi ʻono ʻē aʻe o ka ice cream?" "

E like me kāu e noʻonoʻo ai, ua kānalua ka pelekikena o ka māhele e pili ana i ka leka. Eia naʻe, i ka hihia, ua hoʻouna au i kahi ʻenekinia e nānā. Pīhoihoi ʻo ia i ka hālāwai ʻana me kekahi kanaka waiwai a hoʻonaʻauao maikaʻi e noho ana ma kahi nani. Ua ʻae lākou e hui koke ma hope o ka ʻaina ahiahi i hiki iā lāua ke hele i ka hale kūʻai no ka hauʻulu. I kēlā ahiahi he vanilla, a i ko lākou hoʻi ʻana i ke kaʻa, ʻaʻole ia e hoʻomaka.

ʻEkolu ahiahi hou mai ka ʻenekinia. ʻO ka manawa mua ka ice cream he kokoleka. Hoʻomaka ke kaʻa. ʻO ka lua o ka manawa i loaʻa ka ice cream strawberry. Hoʻomaka ke kaʻa. I ke ahiahi ʻekolu ua noi ʻo ia e lawe i ka vanilla. ʻAʻole i hoʻomaka ke kaʻa.

Ma ke kumu noʻonoʻo, hōʻole ka ʻenekinia e manaʻoʻiʻo he maʻi ke kaʻa i ka ice cream vanilla. No laila, ua ʻae au me ka mea nona ke kaʻa e hoʻomau ʻo ia i kāna kipa ʻana a hiki i ka loaʻa ʻana o ka hopena o ka pilikia. A ma ke ala, hoʻomaka ʻo ia e kākau i nā memo: kākau ʻo ia i nā ʻike āpau, ka manawa o ka lā, ke ʻano o ka ʻaila, ka manawa e hiki mai ai a hoʻi mai ka hale kūʻai, etc.

Ua ʻike koke ka ʻenekinia ua liʻiliʻi ka manawa o ka mea nona ke kaʻa i ke kūʻai ʻana i ka ice cream vanilla. ʻO ke kumu o ka hoʻonohonoho ʻana o nā waiwai i loko o ka hale kūʻai. ʻO ka ice cream vanila ka mea kaulana loa a mālama ʻia i loko o kahi pahu hau ʻokoʻa ma mua o ka hale kūʻai i mea e maʻalahi ai ka loaʻa. A aia nā ʻano ʻē aʻe a pau ma hope o ka hale kūʻai, a ʻoi aku ka nui o ka manawa e ʻimi ai i ka ʻano kūpono a me ka uku.

I kēia manawa, no ka ʻenekinia ka nīnau: no ke aha i hoʻomaka ʻole ai ke kaʻa inā ua liʻiliʻi ka manawa mai ka manawa i pio ai ka ʻenekini? No ka mea, ʻo ka pilikia ka manawa, ʻaʻole ka ice cream vanilla, ʻike koke ka ʻenekinia i ka pane: he laka kinoea. Hana ʻia ia i kēlā me kēia ahiahi, akā i ka manawa i hoʻonui ai ka mea nona kaʻa i ka ʻimi ʻana i ka hau ʻaila, ua maʻalili ka mīkini a hoʻomaka maʻalahi. A i ke kūʻai ʻana o ke kanaka ice cream vanilla, ua wela loa ka ʻenekini a ʻaʻohe manawa e hoʻoheheʻe ai ka laka kinoea.

Moral: ʻO nā pilikia pupule loa i kekahi manawa maoli.

kui Bandicoot

He mea ʻeha ke ʻike i kēia. Ma ke ʻano he polokalamu, maʻa ʻoe i ka hoʻopiʻi ʻana i kāu code ma mua, ʻelua, ʻekolu ... a ma kahi o ka ʻumi kaukani wahi āu e hoʻopiʻi ai i ka mea hoʻopili. A ʻoi aku ma lalo o ka papa inoa ua hewa ʻoe i nā mea hana.

Eia kaʻu moʻolelo e pili ana i ka bug hardware.

No ka pāʻani Crash Bandicoot, kākau wau i ke code e hoʻouka a mālama i kahi kāleka hoʻomanaʻo. No kēlā mea hoʻomohala pāʻani haʻahaʻa, ua like ia me ka hele wāwae i ka paka: manaʻo wau e lōʻihi ka hana i kekahi mau lā. Eia naʻe, ua hoʻopau wau i ka debugging i ke code no ʻeono pule. Ma ke ala, ua hoʻoponopono wau i nā pilikia ʻē aʻe, akā i kēlā me kēia lā ua hoʻi wau i kēia code no kekahi mau hola. He ehaeha.

Ua like ke ʻano o ka hōʻailona: i ka wā e mālama ai ʻoe i ka pāʻani pāʻani o kēia manawa a komo i ka kāleka hoʻomanaʻo, ʻaneʻane maikaʻi nā mea āpau ... Akā i kekahi manawa ka heluhelu a kākau ʻana paha i nā manawa hana no ke kumu ʻike ʻole. Hoʻopilikia pinepine ka hoʻopaʻa leo pōkole i ke kāleka hoʻomanaʻo. Ke ho'āʻo ka mea pāʻani e hoʻopakele, ʻaʻole wale ʻo ia e hoʻopakele, akā luku pū kekahi i ka palapala ʻāina. Crap.

Ma hope o kekahi manawa, hoʻomaka kā mākou mea hana ma Sony, ʻo Connie Bus, e hopohopo. ʻAʻole hiki iā mākou ke hoʻouna i ka pāʻani me kēia bug, a ʻeono pule ma hope ʻaʻole maopopo iaʻu ke kumu o ka pilikia. Ma o Connie, ua hoʻopili mākou i nā mea hoʻomohala PS1 ʻē aʻe: ua ʻike paha kekahi i kekahi mea like? ʻAʻole. ʻAʻohe pilikia me ke kāleka hoʻomanaʻo.

Inā ʻaʻohe ou manaʻo no ka debugging, ʻo ke ala wale nō i koe e "māhele a lanakila": e hoʻoneʻe i nā code hou aʻe mai ka papahana hewa a hiki i kahi ʻāpana liʻiliʻi i koe e hoʻomau i ka pilikia. ʻO ia hoʻi, ʻoki ʻoe i ka papahana ʻāpana a ʻāpana a hiki i ka waiho ʻana o ka ʻāpana i loko o ka pahu.

Akā ʻo ka mea, paʻakikī loa ka ʻoki ʻana i nā ʻāpana mai kahi pāʻani wikiō. Pehea e holo ai inā wehe ʻoe i ke code e hoʻohālikelike ana i ka gravity? A i ʻole ke kaha kiʻi ʻana?

No laila, pono mākou e hoʻololi i nā modula holoʻokoʻa me nā stubs e hoʻohālike e hana i kahi mea pono, akā ʻoiaʻiʻo e hana i kahi mea maʻalahi loa ʻaʻole hiki ke loaʻa nā hewa. Pono mākou e kākau i kēlā mau koʻokoʻo no ka pāʻani e hana ma ka liʻiliʻi. He hana lohi a ʻeha kēia.

I ka pōkole, ua hana wau. Ua wehe au i nā ʻāpana code hou aʻe a waiho ʻia me ka code mua e hoʻonohonoho i ka ʻōnaehana e holo i ka pāʻani, e hoʻomaka i ka hāmeʻa hoʻolilo, etc. ʻOiaʻiʻo, i kēia manawa ʻaʻole hiki iaʻu ke hana i kahi papa kuhikuhi mālama a hoʻouka, no ka mea, pono wau e hana i kahi stub no nā code kiʻi āpau. Akā hiki iaʻu ke hoʻohālike he mea hoʻohana me ka hoʻohana ʻana i ka pale mālama (ʻike ʻole) a hoʻouka a noi aku e mālama a laila kākau i ke kāleka hoʻomanaʻo.

Ua haʻalele kēia iaʻu me kahi ʻāpana liʻiliʻi i loaʻa ka pilikia ma luna - akā ke hana mau nei ia! ʻO ka pinepine, ua hana maikaʻi nā mea a pau, akā i kekahi manawa aia nā glitches. Ua wehe au i nā code game āpau, akā e ola mau ana ka pahu. He mea paʻakikī kēia: ʻaʻole i hana maoli ke code i koe.

I kekahi manawa, ma kahi o ʻekolu paha o ke kakahiaka, ua manaʻo mai iaʻu. ʻO nā hana heluhelu a kākau (hoʻokomo/puka) pili i nā manawa hoʻokō pololei. Ke hana ʻoe me kahi kīkī paʻakikī, kāleka hoʻomanaʻo a i ʻole module Bluetooth, ʻo ke code haʻahaʻa haʻahaʻa e pili ana i ka heluhelu ʻana a me ke kākau ʻana e like me nā pulses uaki.

Me ke kōkua o ka uaki, ua hoʻonohonoho ʻia kahi mea pili ʻole i ke kaʻina hana me ke code e hoʻokō nei ma ka processor. Hoʻoholo ka uaki i ka baud rate—ka wikiwiki o ka lawe ʻia ʻana o ka ʻikepili. Inā huikau me ka manawa, huikau pū ka lako lako polokalamu a i ʻole nā ​​​​mea ʻelua. A he mea ʻino loa kēia, no ka mea hiki ke hōʻino ʻia ka ʻikepili.

He aha inā e huikau kekahi mea i kā mākou code i nā manawa? Ua nānā au i nā mea a pau e pili ana i kēia ma ka code program test a ʻike mākou ua hoʻonohonoho mākou i ka manawa programmable ma PS1 i 1 kHz (1000 ticks i kekona). He nui loa kēia; ma ka maʻamau, ke hoʻomaka ka console, holo ia ma 100 Hz. A hoʻohana ka hapa nui o nā pāʻani i kēia alapine.

ʻO Andy, ka mea hoʻomohala pāʻani, hoʻonoho i ka manawa i 1 kHz i hiki ke helu pololei ʻia nā neʻe. Makemake ʻo Andy e hele i luna, a inā mākou e hoʻohālike i ka gravity, hana mākou i ka pololei e like me ka hiki!

Akā he aha inā inā pili ka wikiwiki o ka manawa i ka manawa holoʻokoʻa o ka papahana, a no laila ka uaki e hoʻoponopono ai i ka helu baud no ke kāleka hoʻomanaʻo?

Ua ʻōlelo au i ke code timer. ʻAʻole i hana hou ka hewa. Akā ʻaʻole kēia manaʻo ua hoʻoponopono mākou iā ia, no ka mea, ua hiki ʻole mai ka hemahema. Pehea inā ua laki wale au?

I kekahi mau lā ma hope mai ua hoʻāʻo hou au i ka papahana hoʻāʻo. ʻAʻole i hoʻi hou ka pahu. Ua hoʻi au i ka pāʻani codebase piha a hoʻololi i ke code mālama a hoʻouka i mea e hoʻihoʻi hou ai ka manawa programmable i kona waiwai kumu (100Hz) ma mua o ke komo ʻana i ke kāleka hoʻomanaʻo, a laila hoʻihoʻi hou i 1kHz. ʻAʻohe pōʻino hou.

Akā, no ke aha i hana ai kēia?

Ua hoʻi hou au i ka papahana hoʻāʻo. Ua ho'āʻo wau e ʻimi i kekahi kumu i ka hiki ʻana mai o kahi hewa me kahi manawa 1 kHz. Ma hope ua ʻike au i ka hewa i ka wā e pāʻani ai kekahi me kahi kaohi PS1. No ka mea ʻaʻole wau e hana i kēia iaʻu iho - no ke aha wau e makemake ai i kahi mea hoʻokele i ka wā e hoʻāʻo ai i ka mālama a hoʻouka i ke code? - ʻAʻole wau i ʻike i kēia hilinaʻi. Akā i kekahi lā e kali ana kekahi o kā mākou mea pena kiʻi iaʻu e hoʻopau i ka hoʻāʻo ʻana - ua hōʻino paha wau i kēlā manawa - a wiliwili i ka mea hoʻoponopono ma kona mau lima. Ua hala kekahi hewa. “E kali, he aha?!” ʻAe, e hana hou!"

I koʻu ʻike ʻana ua pili kēia mau hanana ʻelua, ua hiki iaʻu ke hana hou i ka hewa: Ua hoʻomaka wau e hoʻopaʻa i ke kāleka hoʻomanaʻo, hoʻoneʻe i ka mea hoʻoponopono, a hoʻopau i ke kāleka hoʻomanaʻo. Iāʻu, ua like ia me kahi ʻōpala hāmeʻa.

Hele au iā Connie a haʻi iā ia e pili ana i kaʻu ʻike. Ua haʻi ʻo ia i ka ʻike i kekahi o nā ʻenekinia nāna i hoʻolālā i ka PS1. "ʻAʻole hiki," i pane aku ai ʻo ia, "ʻAʻole hiki ke pilikia i ka hardware." Ua noi au iā Connie e hoʻonohonoho i kamaʻilio no kāua.

Kāhea mai ka ʻenekinia iaʻu a hoʻopaʻapaʻa mākou ma kāna ʻōlelo Pelekane haʻihaʻi a me kaʻu Kepanī haʻihaʻi loa. ʻO ka hope loa, ʻōlelo wau, "E hoʻouna wale wau i kaʻu papahana hoʻāʻo laina 30 kahi e hoʻoneʻe ai ka mea hoʻoponopono i kahi bug." Ua ʻae ʻo ia. Ua ʻōlelo ʻo ia he hoʻopau manawa a paʻa loa ʻo ia i ka hana ʻana i kahi papahana hou, akā hāʻawi ʻo ia no ka mea he mea hoʻomohala koʻikoʻi mākou no Sony. Ua hoʻomaʻemaʻe au i kaʻu papahana hoʻāʻo a hoʻouna aku iā ia.

I ke ahiahi aʻe (ʻo mākou ma Los Angeles a aia ʻo ia ma Tokyo) ua kāhea ʻo ia iaʻu a kala mai me ka hipa. He pilikia paahana.

ʻAʻole maopopo iaʻu i ke ʻano o ka bug, akā mai kaʻu mea i lohe ai ma ke keʻena nui o Sony, inā ʻoe e hoʻonoho i ka manawa i kahi waiwai kiʻekiʻe, ua hoʻopilikia ʻo ia i nā ʻāpana o ka motherboard ma kahi kokoke i ke aniani manawa. ʻO kekahi o lākou he mea hoʻokele baud rate no ke kāleka hoʻomanaʻo, kahi i hoʻonohonoho i ka helu baud no nā mea hoʻokele. ʻAʻole wau he ʻenekinia, no laila ua hana hewa paha wau.

Akā ʻo ka laina lalo, aia ka hoʻopilikia ma waena o nā ʻāpana ma ka motherboard. A i ka hoʻouna ʻana i ka ʻikepili i ka manawa like ma o ke awa hoʻoponopono a me ke awa kāleka hoʻomanaʻo me kahi manawa e holo ana ma 1 kHz, ua nalowale nā ​​bits, ua nalowale ka ʻikepili, a ua pōʻino ke kāleka.

Pipi ino

I ka makahiki 1980, ua kākau koʻu kumu aʻo ʻo Sergei i nā lako polokalamu no ka SM-1800, kahi clone Soviet o ka PDP-11. Ua hoʻokomo ʻia kēia microcomputer ma kahi kahua kaʻaahi kokoke i Sverdlovsk, kahi kikowaena lawe nui ma USSR. Ua hoʻolālā ʻia ka ʻōnaehana hou e hoʻokele i nā kaʻa a me nā kaʻa ukana. Akā, aia i loko o kahi pahu hoʻonāukiuki i alakaʻi i nā pōʻino a me nā pōʻino. Hāʻawi mau ka hāʻule i ka wā i hoʻi ai kekahi i ka home i ke ahiahi. Akā, me ka hoʻokolokolo pono ʻana i ka lā aʻe, ua hana pololei ka lolouila ma nā hoʻāʻo lima a me ka ʻakomi. Hōʻike maʻamau kēia i kahi kūlana lāhui a i ʻole kekahi bug hoʻokūkū e kū nei ma lalo o kekahi mau kūlana. Luhi i nā kelepona i ka pō, ua hoʻoholo ʻo Sergei e hele i lalo o ia mea, a ʻo ka mea mua, e hoʻomaopopo i nā kūlana ma ka pā marshalling i alakaʻi ai i ka haki ʻana o ka kamepiula.

ʻO ka mua, ua hōʻiliʻili ʻo ia i nā helu helu o nā hāʻule ʻole i wehewehe ʻole ʻia a hana i ka pakuhi ma ka lā a me ka manawa. Ua maopopo ke kumu. Ma hope o ka nānā ʻana i kekahi mau lā, ua ʻike ʻo Sergei hiki iā ia ke wānana maʻalahi i ka manawa o nā hemahema ʻōnaehana e hiki mai ana.

Ua ʻike koke ʻo ia ua hiki wale nā ​​​​pilikia i ka wā e hoʻokaʻawale ana ke kahua i nā ukana o nā pipi mai ka ʻākau o Ukraine a me ke komohana ʻo Rūsia e hele ana i kahi hale pepehi kanaka kokoke. He mea ʻē kēia, no ka mea, ua hoʻolako ʻia ka hale pepehi kanaka e nā mahiʻai kokoke loa, ma Kazakhstan.

Ua pahū ka hale mana nukili Chernobyl i ka makahiki 1986, a ua hoʻokuʻu ʻia ka radioactive i nā wahi a puni. Ua haumia nā wahi ākea ma ka ʻākau o Ukraine, Belarus a me ke komohana o Rūsia. Ke kānalua nei ʻo Sergei i ke kiʻekiʻe o ka radiation ma nā kaʻa e hiki mai ana, ua hoʻomohala ʻo Sergei i kahi ala e hoʻāʻo ai i kēia kumumanaʻo. Ua pāpā ʻia ka heluna kanaka mai ka loaʻa ʻana o nā dosimeters, no laila ua hoʻopaʻa inoa ʻo Sergei iā ia iho me kekahi mau pūʻali koa ma ke kahua kaʻaahi. Ma hope o ka inu ʻana i ka vodka, ua hiki iā ia ke hoʻohuli i kahi koa e ana i ka pae radiation ma kekahi o nā kaʻa kānalua. Uaʻikeʻia he mau manawa kiʻekiʻe ka pae ma mua o nā waiwai maʻamau.

ʻAʻole wale ka pipi i hoʻokuʻu i ka nui o ka radiation, ua kiʻekiʻe kona kiʻekiʻe i alakaʻi ʻia i ka nalowale o nā ʻāpana i ka hoʻomanaʻo o SM-1800, aia ma kahi hale e pili ana i ke kahua.

Aia ka ʻai i ka USSR, a ua hoʻoholo nā luna e hui pū i ka ʻiʻo Chernobyl me ka ʻiʻo mai nā wahi ʻē aʻe o ka ʻāina. ʻO kēia ka mea i hiki ai ke hōʻemi i ka pae holoʻokoʻa o ka radioactivity me ka nalowale ʻole o nā kumu waiwai. Ma hope o ke aʻo ʻana e pili ana i kēia, ua hoʻopiha koke ʻo Sergei i nā palapala no ka neʻe ʻana. A ua kū ka lolouila iā lākou iho i ka emi ʻana o ka pae o ka radiation i ka manawa.

Ma o na paipu

I kekahi manawa, ua hana ʻo Movietech Solutions i nā polokalamu no nā hale kiʻiʻoniʻoni, i hoʻolālā ʻia no ka helu helu, kūʻai kūʻai tiketi a me ka hoʻokele maʻamau. Ua kaulana loa ka mana DOS o ka app hae ma waena o nā kaulahao hale kiʻiʻoniʻoni liʻiliʻi a waena ma ʻAmelika ʻĀkau. No laila ʻaʻole ia he mea kupanaha i ka wā i hoʻolaha ʻia ai kahi mana Windows 95, i hoʻohui ʻia me nā pale hoʻopā hou a me nā kiosk lawelawe ponoʻī, a hoʻolako ʻia me nā ʻano mea hana hōʻike a pau, ua lilo ia i mea kaulana. ʻO ka hapa nui o ka hoʻonui ʻana i hele me ka pilikia ʻole. Ua hoʻokomo nā limahana IT kūloko i nā lako hou, neʻe i ka ʻikepili, a hoʻomau ka ʻoihana. Koe wale no ka manawa i pau ole ai. Ke hana ʻia kēia, hoʻouna ka hui iā James, i kapa ʻia ʻo "The Cleaner."

ʻOiai ke hōʻike nei ka inoa inoa i kahi ʻano ʻino, ʻo ka mea hoʻomaʻemaʻe he hui pū ʻana o ke kumu aʻo, installer a me jack-of-all-trades. E hoʻolilo ʻo James i kekahi mau lā ma ka pūnaewele o ka mea kūʻai aku e hoʻohui i nā mea a pau, a laila e hoʻolilo i kekahi mau lā ʻelua e aʻo i nā limahana i ka hoʻohana ʻana i ka ʻōnaehana hou, e hoʻonā i nā pilikia ʻenehana i kū mai a kōkua maoli i ka polokalamu i kona wā kamaliʻi.

No laila, ʻaʻole ia he mea kupanaha i ka hiki ʻana mai o James ma ke keʻena i ke kakahiaka, a ma mua o kona hiki ʻana i kona pākaukau, ua hoʻokipa ʻia ʻo ia e ka luna hoʻomalu, i hoʻopiha ʻia me ka caffeine ma mua o ka mea maʻamau.

"Ke hopohopo nei au pono ʻoe e hele i Annapolis, Nova Scotia, i ka hikiwawe." Ua iho ko lākou ʻōnaehana holoʻokoʻa, a ma hope o kahi pō o ka hana ʻana me kā lākou ʻenekinia, ʻaʻole hiki iā mākou ke ʻike i ka mea i hana ʻia. Me he mea lā ua hāʻule ka pūnaewele ma ke kikowaena. Akā ma hope o ka holo ʻana o ka ʻōnaehana no kekahi mau minuke.

— ʻAʻole lākou i hoʻi i ka ʻōnaehana kahiko? - Ua pane koʻikoʻi loa ʻo James, ʻoiai ma ka noʻonoʻo ua hoʻonui ʻo ia i kona mau maka me ka pīhoihoi.

- Pono: ʻo kā lākou loea IT "hoʻololi i nā mea nui" a hoʻoholo e haʻalele me kā lākou kikowaena kahiko. James, ua hoʻokomo lākou i ka ʻōnaehana ma nā pūnaewele ʻeono a ua uku wale lākou no ke kākoʻo premium, a ke holo nei kā lākou ʻoihana e like me ia i ka makahiki 1950.

Hoʻopololei iki ʻo James.

- He mea ʻē aʻe kēlā. ʻAe, e hoʻomaka kāua.

I kona hōʻea ʻana i Annapolis, ʻo ka mea mua āna i hana ai ʻo ia ka loaʻa ʻana o ka hale keaka mua o ka mea kūʻai aku i pilikia. Ma ka palapala 'āina i lawe ʻia ma ke kahua mokulele, ua maikaʻi nā mea a pau, akā ʻo ka wahi a puni ka helu wahi i makemake ʻia he mea kānalua. ʻAʻole ghetto, akā hoʻomanaʻo i ka film noir. I ko James kū ʻana ma ke kaʻe o ke kaona, hele maila kekahi wahine hoʻokamakama iā ia. Ma muli o ka nui o Annapolis, ʻo ia wale nō paha ma ke kūlanakauhale holoʻokoʻa. Ua hoʻomanaʻo koke kona helehelena i ke kanaka kaulana nāna i hāʻawi i ka moekolohe no ke kālā ma ka pale nui. ʻAʻole, ʻaʻole no Julia Roberts, akā no Jon Voight [e pili ana i ke kiʻiʻoniʻoni "Midnight Cowboy" - approx. alahele].

Ma hope o ka ho'ouna'ana i ka wahine ho'okamakama ma kona ala, hele'o James i ka hale ki'i'oni'oni. Ua ʻoi aku ka maikaʻi o nā wahi a puni, akā ua hāʻawi ʻia ka manaʻo o ka holo ʻana i lalo. ʻAʻole i hopohopo nui ʻo James. Ua hele ʻo ia i nā wahi pōʻino ma mua. A ʻo Kanada kēia, kahi i ʻōlelo maikaʻi ai ka poʻe ʻaihue e ʻōlelo "mahalo" ma hope o ka lawe ʻana i kāu ʻeke.

Aia ka puka ʻaoʻao o ka hale kiʻiʻoniʻoni ma kahi alaloa. Hele akula ʻo James i ka puka a kīkēkē. ʻAʻole i liʻuliʻu, ʻōniʻi a hāmama iki.

-He mea hoʻomaʻemaʻe ʻoe? - he leo haʻahaʻa mai loko mai.

- ʻAe, ʻo wau ... i hele mai e hoʻoponopono i nā mea āpau.

Ua hele ʻo James i loko o ka hale kiʻiʻoniʻoni. Me he mea lā ʻaʻohe koho ʻē aʻe, ua hoʻomaka nā limahana e hāʻawi i nā tiketi pepa i nā malihini. Ua paʻakikī kēia i ka hōʻike kālā, e waiho i nā kikoʻī hoihoi. Akā, hoʻokipa maikaʻi nā limahana iā James a lawe koke iā ia i ka lumi kikowaena.

I ka nana mua, ua maikai na mea a pau. Ua komo ʻo James i loko o ke kikowaena a nānā i nā wahi kānalua maʻamau. ʻaʻole pilikia. Eia naʻe, ma muli o ka nui o ka makaʻala, ua pani ʻo James i ke kikowaena, hoʻololi i ke kāleka pūnaewele, a hoʻihoʻi i ka ʻōnaehana. Hoʻomaka koke ʻo ia e hana piha. Hoʻomaka hou nā limahana e kūʻai aku i nā tiketi.

Ua kāhea ʻo James iā Mark a haʻi iā ia i ke kūlana. ʻAʻole paʻakikī ke noʻonoʻo e makemake paha ʻo James e pili a ʻike inā hiki mai kekahi mea i manaʻo ʻole ʻia. Ua iho ʻo ia i ke alapiʻi a hoʻomaka e nīnau i nā limahana i ka mea i hana ʻia. ʻIke loa ua pau ka hana ʻana o ka ʻōnaehana. Ua hoʻopau lākou a ma luna, ua hana nā mea a pau. Akā ma hope o 10 mau minuke, hāʻule ka ʻōnaehana.

I kēia manawa i loaʻa mai kekahi mea like. Hoʻomaka koke ka ʻōnaehana tiketi e hoʻolei hewa. Ua kaniuhu ke koʻokoʻo a hopu i nā tiketi pepa, a holo wikiwiki ʻo James i ka lumi kikowaena. Ua maikaʻi nā mea a pau me ke kikowaena.

A laila komo kekahi o nā limahana.

— Ke hana hou nei ka ʻōnaehana.

Pīhoihoi ʻo James no ka mea ʻaʻole ʻo ia i hana i kekahi mea. ʻOi aku ka pololei, ʻaʻohe mea e hana i ka ʻōnaehana hana. Ua haʻalele ʻo ia, lawe i kāna kelepona, a kāhea aku i ka laina kākoʻo o kāna hui. ʻAʻole i liʻuliʻu ua komo ka limahana hoʻokahi i ka lumi kikowaena.

- Ua emi ka ʻōnaehana.

Nānā akula ʻo James i ke kikowaena. ʻO kahi hiʻohiʻona hoihoi a kamaʻāina o nā ʻano like ʻole i hulahula ma ka pale - chaotically writhing a intertwining paipu. Ua ʻike mākou a pau i kēia screensaver i kekahi manawa. Ua hana nani a hypnotizing maoli.


Ua kaomi ʻo James i kahi pihi a nalowale ke kumu. Ua holo wikiwiki ʻo ia i ke keʻena tiketi a ma ke ala e hālāwai ai me kekahi limahana e hoʻi mai ana iā ia.

— Ke hana hou nei ka ʻōnaehana.

Inā hiki iā ʻoe ke hana i ka pale maka noʻonoʻo, ʻo ia ka mea a James i hana ai. Kiʻi pale. Hoʻohana ia iā OpenGL. A no laila, i ka wā o ka hana ʻana, hoʻopau ia i nā kumuwaiwai āpau o ka ʻōnaehana kikowaena. ʻO ka hopena, pau kēlā me kēia kelepona i ke kikowaena me kahi manawa.

Ua hoʻi ʻo James i ka lumi kikowaena, komo, a hoʻololi i ka pale pale me nā paipu nani me kahi pale hakahaka. ʻO ia hoʻi, ma kahi o kahi pale pale e hoʻopau i ka 100% o nā kumuwaiwai kaʻina, ua hoʻokomo wau i kahi mea ʻaʻole hoʻopau i nā kumuwaiwai. A laila kali au i 10 mau minuke e nānā i kaʻu kuhi.

I ka hōʻea ʻana o James i ka hale kiʻiʻoniʻoni aʻe, ua noʻonoʻo ʻo ia pehea e wehewehe ai i kāna luna hoʻokele ua lele ʻo ia i 800 km e hoʻopau i ka pale pale.

Hāʻule i kekahi manawa o ka mahina

Moʻolelo ʻoiaʻiʻo. I kekahi lā, ua kū mai kekahi pōʻino polokalamu i hilinaʻi ʻia ma ka pae o ka mahina. Aia kekahi hana maʻamau i hoʻohana mau ʻia i nā papahana MIT like ʻole e helu i ka hoʻohālikelike ʻana i ka pae maoli o ka mahina. Ua kūkulu ʻo GLS i kēia hana maʻamau i kahi papahana LISP, i ka wā e kākau ai i kahi faila, e hoʻopuka i kahi laina me kahi hōʻailona manawa kokoke i 80 mau huaʻōlelo ka lōʻihi. He mea kakaʻikahi ka lōʻihi o ka laina mua o ka memo a alakaʻi i ka laina aʻe. A i ka heluhelu ʻana o ka polokalamu i kēia faila, hōʻino ia. ʻO ka lōʻihi o ka laina mua e pili ana i ka lā a me ka manawa kūpono, a me ka lōʻihi o ka kikoʻī o ka pae i ka manawa i paʻi ʻia ai ka timestamp. ʻO ia hoʻi, hilinaʻi maoli ka ʻōpala i ka pae o ka mahina!

Puka pepa mua Kōnae Jargon (Steele-1983) he laʻana o ia laina i alakaʻi i ka bug i wehewehe ʻia, akā ua "hoʻoponopono" ka mea kākau palapala. Ua wehewehe ʻia kēia ma ke ʻano he "moon phase bug".

Eia naʻe, e makaʻala me nā manaʻo. I kekahi mau makahiki i hala aku nei, ua ʻike nā mea ʻenekinia mai CERN (European Center for Nuclear Research) i nā hewa i nā hoʻokolohua i hana ʻia ma ka Large Electron-Positron Collider. Ma muli o ka hoʻoikaika ikaika ʻana o nā kamepiula i ka nui o ka ʻikepili i hana ʻia e kēia hāmeʻa ma mua o ka hōʻike ʻana i ka hopena i ka poʻe ʻepekema, manaʻo nui ka poʻe he mea maʻalahi ka polokalamu i ka pae o ka mahina. Ua loaʻa i kekahi mau mea ʻenekini paʻakikī i lalo o ka ʻoiaʻiʻo. Ua ala mai ka hewa ma muli o ka hoʻololi iki ʻana i ka geometry o ke apo 27 km lōʻihi ma muli o ka deformation o ka Honua i ka wā e hele ai ka mahina! Ua komo kēia moʻolelo i ka moʻolelo physics e like me "Newton's Revenge on Particle Physics" a me kahi laʻana o ka pilina ma waena o nā kānāwai maʻalahi a kahiko loa o ka physics a me nā manaʻo ʻepekema kiʻekiʻe loa.

Hoʻopau ke kaʻaahi i ka holoi ʻana i ka lua

ʻO ka pahu lako lako maikaʻi loa aʻu i lohe ai, aia ma ke kaʻaahi kiʻekiʻe ma Farani. Ua alakaʻi ʻia ka pahu i ke kaʻaahi pilikia o ke kaʻaahi, akā inā he poʻe kaʻa ma luna o ka moku. I kēlā me kēia hihia, lawe ʻia ke kaʻaahi ma waho o ka lawelawe, nānā ʻia, ʻaʻohe mea i loaʻa. A laila, hoʻihoʻi ʻia ʻo ia i ka laina, a kū koke ʻo ia i kahi kū.

I ka wā o kekahi o nā loiloi, ua hele kekahi ʻenekinia e holo ana ma ke kaʻaahi i ka lua. Holo koke ʻo ia, BOOM! Hoʻomaha ulia pōpilikia.

Hoʻopili ka ʻenekinia i ke kalaiwa a nīnau:

— He aha kāu i hana ai ma mua o ka hoʻopaʻa ʻana?

- ʻAe, ua lohi au i ka iho ʻana ...

He mea ʻē kēia, no ka mea, i ka wā maʻamau, lohi ke kaʻaahi i ka iho ʻana i nā manawa he nui. Ua nee aku ke kaaahi, a i ka iho ana aku, ua ao aku ke kalaiwa.

- E lohi ana au.

ʻAʻohe mea i loaʻa.

— He aha kāu i hana ai i ka wā hoʻomaha hope? - i ninau aku ai ke kalaiwa.

- ʻAe ... aia wau i loko o ka lua ...

- ʻAe, e hele i ka lua a hana i kāu hana i ka wā e iho hou ai mākou!

Ua hele ka ʻenekinia i ka lua, a i ka wā i ʻōlelo aku ai ka mea hoʻokele: "Ke hoʻolohi nei au," hoʻoheheʻe ʻo ia i ka wai. ʻOiai, kū koke ke kaʻaahi.

I kēia manawa hiki iā lākou ke hana hou i ka pilikia a pono e ʻimi i ke kumu.

Ma hope o ʻelua mau minuke, ua ʻike lākou ua hemo ka ʻenekini hoʻoheheʻe mamao (ʻo ke kaʻaahi hoʻokahi mīkini ma kēlā me kēia hopena) mai ka paia o ke keʻena uila a e waiho ana ma luna o ka relay e hoʻomalu ana i ka solenoid plug toilet. Ua ho'ālaʻia, ua hana ia i ke keakea ʻana i ka uwea brake, a ʻo ka pale ʻana o ka ʻōnaehana mai nā hāʻule i komo pū me ka braking pilikia.

ʻO ka ʻīpuka i inaina iā FORTRAN

I kekahi mau mahina i hala aku nei, ua ʻike mākou ua lohi loa nā pilina pūnaewele ma ka ʻāina nui [ma Hawaiʻi nei]. Hiki i kēia ke hoʻomau no 10-15 mau minuke a laila hiki ke hana hou. Ma hope o kekahi manawa, ua hoʻopiʻi koʻu hoa hana iaʻu i nā pilina pūnaewele ma ka ʻāina nui ma keʻano nui aʻole hana. Loaʻa iā ia kekahi code FORTRAN e pono e kope ʻia i kahi mīkini ma ka ʻāina nui, akā ʻaʻole hiki iā ia no ka mea "ʻaʻole i lōʻihi ka paʻa ʻana o ka pūnaewele no ka hoʻouka ʻana o FTP e hoʻopau."

ʻAe, ua ʻike ʻia ua loaʻa nā hemahema o ka pūnaewele i ka wā i hoʻāʻo ai kekahi hoa hana e FTP i kahi faila me ka code kumu ma FORTRAN i kahi mīkini ma ka ʻāina nui. Ua hoʻāʻo mākou e hoʻopaʻa i ka faila: a laila ua kope ʻia me ka maʻalahi (akā ʻaʻole i loaʻa kahi unpacker i ka mīkini pahuhopu, no laila ʻaʻole i hoʻoholo ʻia ka pilikia). ʻO ka hope loa mākou "māhele" i ke code FORTRAN i nā ʻāpana liʻiliʻi loa a hoʻouna iā lākou i kēlā me kēia manawa. Ua kope ʻia ka hapa nui o nā ʻāpana me ka pilikia ʻole, akā ʻaʻole i hala kekahi mau ʻāpana, a hala ʻole ma hope nui hoao ana.

Ma hope o ka nānā ʻana i nā paukū pilikia, ua ʻike mākou he mea like ko lākou: aia nā poloka manaʻo i hoʻomaka a hoʻopau ʻia me nā laina me ke kapikala C (ʻoiai ua makemake kekahi hoa hana e ʻōlelo ma FORTRAN). Ua leka uila mākou i nā loea pūnaewele ma ka ʻāina nui a noi i ke kōkua. ʻOiaʻiʻo, makemake lākou e ʻike i nā laʻana o kā mākou mau faila i hiki ʻole ke hoʻoili ʻia ma FTP... akā ʻaʻole hiki i kā mākou mau leka iā lākou. ʻO ka hope ua loaʻa iā mākou kahi maʻalahi ho'ākākahe aha ke ʻano o nā faila hiki ʻole ke hoʻololi. Ua hana :) [Aia wau e hoʻohui i kahi laʻana o kekahi o nā manaʻo pilikia FORTRAN ma aneʻi? ʻAʻole pono paha!]

I ka hopena ua hiki iā mākou ke ʻike. Ua hoʻokomo hou ʻia kahi ʻīpuka hou ma waena o kā mākou ʻāpana o ka pā kula a me ka pūnaewele ʻāina. He paʻakikī nui ka hoʻouna ʻana i nā ʻeke i loaʻa nā ʻāpana o ka hua nui C! Hiki i kekahi o kēia mau ʻeke ke lawe i nā kumuwaiwai āpau a pale i ka nui o nā ʻeke ʻē aʻe mai ke komo ʻana. Ua hoʻopiʻi mākou i ka mea hana ʻīpuka ... a pane mai lākou: "ʻAe, ʻae, ke alo nei ʻoe i kahi pōpoki o ka C hou! Ua ʻike mua mākou iā ia. Ua hoʻopau mākou i ka pilikia ma ke kūʻai ʻana i kahi puka hou mai kahi mea hana ʻē aʻe (ma ka pale o ka mea mua, ʻo ka hiki ʻole ke hoʻololi i nā polokalamu FORTRAN he mea pono paha no kekahi!).

Nā wā paʻakikī

I kekahi mau makahiki i hala aku nei, ʻoiai e hana ana i ka hoʻokumu ʻana i kahi ʻōnaehana ETL ma Perl e hōʻemi i nā kumukūʻai o nā hoʻokolohua lapaʻau 40 phase, pono wau e hoʻoponopono ma kahi o 000 mau lā. ʻAʻole i hele ʻelua o lākou i ka hoʻāʻo. ʻAʻole i hoʻopilikia nui iaʻu no ka mea ua lawe ʻia kēia mau lā mai ka ʻikepili i hāʻawi ʻia e ka mea kūʻai aku i pinepine, e ʻōlelo mākou, kahaha. Akā, i koʻu nānā ʻana i ka ʻikepili kumu, ua ʻike ʻia kēia mau lā ʻo Ianuali 1, 2011 a me Ianuali 1, 2007. Manaʻo wau aia ka bug i loko o ka papahana aʻu i kākau ai, akā ua ʻike ʻia he 30 mau makahiki. kahiko. He mea pohihihi paha kēia i ka poʻe ʻike ʻole i ka ʻōnaehana kaiaola polokalamu. Ma muli o ka hoʻoholo lōʻihi o kekahi ʻoihana e loaʻa kālā, ua uku mai kaʻu mea kūʻai aku iaʻu e hoʻoponopono i kahi pōpoki i hoʻokomo ʻia e kekahi hui ma ka pōʻino a ʻo kekahi ma ke kumu. I mea e hoʻomaopopo ai ʻoe i kaʻu e kamaʻilio nei, pono wau e kamaʻilio e pili ana i ka hui i hoʻohui i ka hiʻohiʻona i hoʻopau ʻia i lilo i bug, a me kekahi mau hanana hoihoi ʻē aʻe i kōkua i ka pahu pohihihi aʻu i hoʻoponopono ai.

I ka wā kahiko, hoʻonohonoho hou nā kamepiula Apple i ko lākou lā i Ianuali 1, 1904. He mea maʻalahi ke kumu: ua hoʻohana ʻo ia i ka "pūnaewele pūnaewele" i hoʻohana ʻia e mālama i ka lā a me ka manawa. He aha ka mea i make ai ka pākaukau? Hoʻomaka nā kamepiula e hahai i ka lā ma ka helu o kekona mai ka hoʻomaka ʻana o kahi wā. ʻO ka manawa mākou i manaʻo ai i ka lā kumu kuhikuhi, a no Macintosh ʻo Ianuali 1, 1904. A ma hope o ka make ʻana o ka pākaukau, ua hoʻihoʻi ʻia ka lā o kēia manawa i ka lā i kuhikuhi ʻia. Akā, no ke aha i hana ai kēia?

Ma mua, ua hoʻohana ʻo Apple i 32 bits e mālama i ka helu o kekona mai ka lā kumu. Hiki i hoʻokahi bit ke mālama i hoʻokahi o nā waiwai ʻelua - 1 a i ʻole 0. Hiki i ʻelua mau bits ke mālama i hoʻokahi o nā waiwai ʻehā: 00, 01, 10, 11. ʻEkolu mau bits - hoʻokahi waiwai o ka ʻewalu: 000, 001, 010, 011, 100 , 101, 110, 111, etc. A hiki i ka 32 ke mālama i kekahi o 232 waiwai, ʻo ia hoʻi, 4 kekona. No nā lā Apple, ua like kēia me 294 mau makahiki, no laila ʻaʻole hiki i nā Mac kahiko ke mālama i nā lā ma hope o 967. A inā make ka ʻōnaehana ʻōnaehana, hoʻihoʻi ʻia ka lā i 296 kekona mai ka hoʻomaka ʻana o ke au, a pono ʻoe e hoʻonohonoho lima i ka lā i kēlā me kēia manawa e hoʻā ai ʻoe i ke kamepiula (a i ʻole a kūʻai ʻoe i pākaukau hou).

Eia nō naʻe, ʻo ka manaʻo o Apple e mālama i nā lā ma ke ʻano he mau kekona mai ka manawa i manaʻo ʻia ʻaʻole hiki iā mākou ke mālama i nā lā ma mua o ka wā, he hopena lōʻihi loa, e like me kā mākou e ʻike ai. Ua hoʻokomo ʻo Apple i kahi hiʻohiʻona, ʻaʻole kahi bug. Ma waena o nā mea ʻē aʻe, ʻo ia ka manaʻo ua pale ʻia ka ʻōnaehana hana Macintosh i ka "millennium bug" (ʻaʻole hiki ke ʻōlelo ʻia e pili ana i nā noi Mac he nui i loaʻa i kā lākou ʻōnaehana lā ponoʻī e ʻalo ai i nā palena).

Hele i mua. Ua hoʻohana mākou i ka Lotus 1-2-3, ka "killer application" a IBM i kōkua i ka hoʻomaka ʻana i ka PC revolution, ʻoiai ua loaʻa i nā kamepiula Apple ʻo VisiCalc, ka mea i hoʻokō i ka kamepiula pilikino. Ma ka pololei, inā ʻaʻole i ʻike ʻia ka 1-2-3, ʻaʻole i lawe ʻia nā PC, a ua hiki ke hoʻomohala ʻia ka mōʻaukala o nā kamepiula pilikino. Ua mālama hewa ʻia ʻo Lotus 1-2-3 i ka makahiki 1900 ma ke ʻano he makahiki lele. I ka wā i hoʻokuʻu ai ʻo Microsoft i kāna pālapa mua, ʻo Multiplan, ua hopu ʻo ia i kahi hapa liʻiliʻi o ka mākeke. A i ko lākou hoʻomaka ʻana i ka papahana Excel, ua hoʻoholo lākou ʻaʻole e kope wale i ka papa inoa o ka lālani a me ke kolamu mai Lotus 1-2-3, akā no ka hōʻoia ʻana i ka hoʻohālikelike ʻana i ka bug ma o ka mālama ʻana i ka 1900 ma ke ʻano he makahiki lele. Aia kēia pilikia i kēia lā. ʻO ia hoʻi, i ka 1-2-3 he bug kēia, akā ma Excel he hoʻoholo noʻonoʻo e hōʻoia i hiki i nā mea hoʻohana āpau 1-2-3 ke hoʻokomo i kā lākou papa i Excel me ka ʻole e hoʻololi i ka ʻikepili, ʻoiai inā he hewa.

Akā, aia kekahi pilikia. ʻO ka mea mua, ua hoʻokuʻu ʻo Microsoft iā Excel no ka Macintosh, ʻaʻole i ʻike i nā lā ma mua o Ianuali 1, 1904. A ma Excel, Ianuali 1, 1900 i manaʻo ʻia ka hoʻomaka ʻana o ke au. No laila, ua hoʻololi nā mea hoʻomohala i mea e ʻike ai kā lākou papahana i ke ʻano o ke au a mālama i ka ʻikepili i loko ona e like me ka manawa i makemake ʻia. Ua kākau ʻo Microsoft i kahi ʻatikala wehewehe e pili ana i kēia. A ua alakaʻi kēia hoʻoholo i kaʻu bug.

Ua loaʻa i kaʻu ʻōnaehana ETL nā papapalapala Excel mai nā mea kūʻai aku i hana ʻia ma Windows, akā hiki ke hana ʻia ma ka Mac. No laila, ʻo ka hoʻomaka ʻana o ke au ma ka papa ʻaina ʻo Ianuali 1, 1900, a i ʻole Ianuali 1, 1904. Pehea e ʻike ai? Hōʻike ka format file Excel i ka ʻike e pono ai, akā ʻo ka parser aʻu i hoʻohana ai ʻaʻole ia i hōʻike (i kēia manawa), a manaʻo ʻoe ua ʻike ʻoe i ka manawa no kahi papa kikoʻī. Ua hiki paha iaʻu ke hoʻonui i ka manawa e hoʻomaopopo ai i ka format binary Excel a me ka hoʻouna ʻana i kahi patch i ka mea kākau parser, akā nui kaʻu mea e hana ai no ka mea kūʻai aku, no laila ua kākau koke wau i kahi heuristic e hoʻoholo ai i ka wā. He maʻalahi ʻo ia.

Ma Excel, hiki ke hōʻike ʻia ka lā Iulai 5, 1998 ma ke ʻano "07-05-98" (pūnaewele ʻAmelika ʻole), "Jul 5, 98", "Iulai 5, 1998", "5-Jul-98" a i ʻole. ʻO kekahi ʻano ʻē aʻe. Eia nō naʻe, i loko o ka papaʻaina, ua mālama ʻia ka lā i hoʻopaʻa ʻole ʻia ma ke ʻano he "8601" no ka wā-35981 a i ʻole "1900" no ka wā-34519 (ʻo nā helu ka helu o nā lā mai ka wā). Ua hoʻohana wale au i kahi parser maʻalahi e unuhi i ka makahiki mai ka lā i hoʻonohonoho ʻia, a laila hoʻohana i ka parser Excel e unuhi i ka makahiki mai ka lā i hoʻonohonoho ʻole ʻia. Inā ʻokoʻa nā waiwai ʻelua i nā makahiki 1904, a laila ʻike wau e hoʻohana ana wau i kahi ʻōnaehana me ka epoch-4.

No ke aha i hoʻohana ʻole ai au i nā lā i hoʻopaʻa ʻia? No ka mea hiki ke hoʻohālikelike ʻia ʻo Iulai 5, 1998 e like me "Iulai, 98" me ka lā o ka mahina i nalowale. Ua loaʻa iā mākou nā papaʻaina mai nā hui he nui i hana iā lākou ma nā ʻano like ʻole he nui iā mākou (ma kēia hihia, ʻo wau) ke ʻike i nā lā. Ma waho aʻe, inā pololei ka Excel, a laila pono mākou!

I ka manawa like aʻu i hālāwai ai me 39082. E hoʻomanaʻo wau iā ʻoe ua manaʻo ʻo Lotus 1-2-3 he makahiki lele ʻo 1900, a ua hana hou ʻia kēia ma Excel. A ma muli o kēia hoʻohui ʻia i hoʻokahi lā i ka makahiki 1900, hiki ke hewa nā hana helu lā he nui no ia lā. ʻO ia hoʻi, ʻo 39082 paha i Ianuali 1, 2011 (ma nā Mac) a i ʻole 31 Kekemapa 2006 (ma Windows). Inā unuhi kaʻu "makahiki parser" i ka makahiki 2011 mai ka waiwai i hoʻohālikelike ʻia, a laila ua maikaʻi nā mea a pau. Akā ʻoiai ʻaʻole ʻike ka parser Excel i ke ʻano o ka wā e hoʻohana ʻia nei, hoʻopau ia i ka epoch-1900, e hoʻihoʻi ana i ka makahiki 2006. Ua ʻike kaʻu palapala noi he 5 mau makahiki ka ʻokoʻa, manaʻo ʻia he hewa, hoʻopaʻa inoa, a hoʻihoʻi i kahi waiwai i hoʻonohonoho ʻole ʻia.

No ka hoʻopuni ʻana i kēia, kākau wau i kēia (pseudocode):

diff = formatted_year - parsed_year
if 0 == diff
    assume 1900 date system
if 4 == diff
    assume 1904 date system
if 5 == diff and month is December and day is 31
    assume 1904 date system

A laila ua pau pono nā lā 40.

Ma waena o nā hana paʻi nui

I nā makahiki 1980, ua hana koʻu makuakāne ma Storage Technology, kahi māhele i hoʻopau ʻia i kēia manawa nāna i hana i nā lepe a me nā ʻōnaehana pneumatic no ka hānai lipine kiʻekiʻe.

Ua hoʻolālā hou lākou i nā drive i hiki iā lākou ke loaʻa i hoʻokahi kikowaena "A" i hoʻopili ʻia i ʻehiku "B" drive, a ʻo ka OS liʻiliʻi i ka RAM e hoʻokele ana i ka drive "A" hiki ke hāʻawi i ka heluhelu a kākau i nā hana i nā drive "B" āpau.

I kēlā me kēia manawa i hoʻomaka ʻia ai ka drive "A", pono e hoʻokomo i kahi diski floppy i loko o ka drive peripheral e pili ana iā "A" i mea e hoʻouka ai i ka ʻōnaehana hana i loko o kona hoʻomanaʻo. He mea kahiko loa ia: ua hāʻawi ʻia ka mana computing e kahi microcontroller 8-bit.

ʻO ka poʻe i manaʻo ʻia no ia mau mea hana, ʻo ia nā hui me nā waihona ʻikepili nui loa - nā panakō, nā kaulahao hale kūʻai, a me nā mea ʻē aʻe - pono e paʻi i nā lepili helu he nui a i ʻole nā ​​ʻōlelo panakō.

Ua pilikia kekahi mea kūʻai. Ma waenakonu o kahi hana paʻi, hiki i kahi pahu "A" ke ho'ōki i ka hana, e hoʻopau i ka hana holoʻokoʻa. No ka hoʻihoʻi ʻana i ka hana o ka drive, pono nā limahana e hoʻomaka hou i nā mea āpau. A inā i hana kēia ma waena o kahi hana ʻeono hola, a laila ua nalowale ka nui o ka manawa kamepiula pipiʻi a ua hoʻopau ʻia ka papa hana o ka hana holoʻokoʻa.

Ua hoʻouna ʻia nā ʻenehana mai Storage Technologies. Akā ʻoiai kā lākou hoʻāʻo maikaʻi loa, ʻaʻole hiki iā lākou ke hana hou i ka pahu ma lalo o nā kūlana hoʻāʻo: me he mea lā aia ma waena o nā hana paʻi nui. ʻAʻole ʻo ka ʻenehana ka pilikia, ua hoʻololi lākou i nā mea āpau i hiki iā lākou: RAM, microcontroller, floppy drive, kēlā me kēia ʻāpana o ka tape drive - hoʻomau ka pilikia.

A laila kāhea nā technicians i ke keʻena poʻo a kāhea i ka Expert.

Ua hopu ka mea akamai i ka noho a me ke kīʻaha kope, a noho i loko o ka lumi lolouila—i ia mau lā he mau keʻena i hoʻolaʻa ʻia no nā lolouila—a nānā akula i ka lālani o nā limahana i kahi hana paʻi nui. Ke kali nei ka loea no ka hiki ʻole - a ua hana ʻia. Nānā nā kānaka a pau i ka Expert, akā ʻaʻohe ona manaʻo i ke kumu o kēia. No laila, kauoha ʻo ia e laina hou i ka hana, a ua hoʻi nā limahana a me nā ʻenehana i ka hana.

Noho hou ka loea ma ka noho a hoʻomaka e kali no kahi hemahema. Ma kahi o ʻeono mau hola i hala a ua hiki mai ka hāʻule. ʻAʻohe manaʻo hou o ka Expert, koe wale nō ka mea i hana ʻia i loko o kahi lumi i piha i nā kānaka. Ua kauoha ʻo ia e hoʻomaka hou ka misionari, noho hou a kali.

Ma ke kolu o ka hāʻule ʻana, ua ʻike ka Expert i kekahi mea. Loaʻa ka hemahema i ka wā i hoʻololi ai nā limahana i nā lipine ma kahi kaʻa haole. Eia kekahi, ua hiki ke hāʻule i ka wā i hele ai kekahi o nā limahana i kekahi tile ma ka papahele.

Ua hana ʻia ka papahele i hoʻokiʻekiʻe ʻia me nā tile alumini i waiho ʻia ma ke kiʻekiʻe o 6 a 8 iniha. He nui nā uea mai nā lolouila i holo ma lalo o ka papahele i hoʻokiʻekiʻe ʻia i mea e pale aku ai i ka hehi ʻole ʻana o kekahi i kahi uwea koʻikoʻi. Ua hoʻomoe paʻa ʻia nā tile i mea e pale aku ai i nā ʻōpala mai lalo o ka papahele hoʻokiʻekiʻe.

Ua ʻike ka mea akamai ua ʻano ʻino kekahi o nā tile. I ka hehi ʻana o kekahi limahana ma kona kihi, ua ʻānai nā kihi o ka tile i nā tile pili. ʻO nā ʻāpana plastik i hoʻopili ʻia i nā tile i ʻoki pū ʻia me lākou, ka mea i hoʻoulu ai i nā microdischarges static i hana i ka hoʻopili alapine radio.

I kēia lā, ʻoi aku ka maikaʻi o ka pale ʻana o RAM mai ka hoʻopilikia ʻana i ka lekiō. Akā i kēlā mau makahiki ʻaʻole pēlā. Ua ʻike ka mea akamai i kēia keakea i ka hoʻomanaʻo, a me ia ka hana o ka ʻōnaehana hana. Ua kāhea ʻo ia i ka lawelawe kākoʻo, kauoha i nā tile hou, hoʻokomo iā lākou iho, a nalowale ka pilikia.

He kai kiʻekiʻe!

Ua mālama ʻia ka moʻolelo i loko o kahi lumi kikowaena, ma ka papahele ʻehā a ʻelima paha o kahi keʻena ma Portsmouth (manaʻo wau), ma kahi o nā docks.

I kekahi lā ua hāʻule ka server Unix me ka waihona waihona nui. Ua hoʻihoʻi hou lākou iā ia, akā ua hoʻomau ʻo ia i ka hāʻule pinepine ʻana. Ua hoʻoholo mākou e kelepona i kekahi mai ka lawelawe kākoʻo.

ʻO ke kanaka kākoʻo... Manaʻo wau ʻo Mark kona inoa, akā ʻaʻole ia he mea nui... ʻAʻole wau i manaʻo ua ʻike wau iā ia. ʻAʻole pili, ʻoiaʻiʻo. E pili pū kāua me Mark, ʻeā? Nui.

No laila, he mau hola ma hope mai ua hōʻea ʻo Mark (ʻaʻole lōʻihi loa mai Leeds a Portsmouth, ʻike ʻoe), ua hoʻohuli i ke kikowaena a hana nā mea āpau me ka pilikia ʻole. Kākoʻo damn maʻamau, huhū loa ka mea kūʻai i kēia. Nānā ʻo Mark i nā faila log a ʻaʻohe mea i ʻike ʻole ʻia. No laila, hoʻi hou ʻo Mark i ke kaʻaahi (a i ʻole ke ʻano o ke kaʻa āna i hiki mai ai, he bipi ʻoʻopa paha ia no nā mea a pau aʻu i ʻike ai. ka lā.

I kēlā ahiahi hoʻokahi, hāʻule hou ke kikowaena. Ua like ka moʻolelo ... ʻaʻole piʻi ke kikowaena. Ho'āʻo ʻo Mark e kōkua mamao, akā ʻaʻole hiki i ka mea kūʻai ke hoʻomaka i ke kikowaena.

ʻO kahi kaʻaahi ʻē aʻe, kaʻa kaʻa, lemon meringue a i ʻole nā ​​​​mea ʻē aʻe, a ua hoʻi ʻo Mark i Portsmouth. E nānā, e hoʻomaka ana ke kikowaena me ka pilikia ʻole! Manamana. Hoʻohana ʻo Mark i nā hola he nui e nānā i ka pololei o nā mea āpau me ka ʻōnaehana hana a i ʻole ka polokalamu a hoʻomaka no Leeds.

Ma ka waena o ka lā hāʻule ke kikowaena (e maʻalahi!). ʻO kēia manawa he mea kūpono ke lawe mai i ka poʻe kākoʻo ʻenehana e pani i ka kikowaena. Akā ʻaʻole, ma hope o 10 mau hola e hāʻule pū ai.

Ua hoʻomau ke kūlana no kekahi mau lā. Hana ke kikowaena, hāʻule ma hope o 10 mau hola a ʻaʻole hoʻomaka no nā hola 2 e hiki mai ana. Ua nānā lākou i ka hoʻoluʻu ʻana, nā leaks hoʻomanaʻo, nānā lākou i nā mea āpau, akā ʻaʻohe mea i loaʻa. A laila ua kū nā hāʻule.

Ua hala ka pule me ka makaʻu ʻole... hauʻoli nā mea a pau. Hauʻoli a hoʻomaka hou. Ua like ke kiʻi. 10 mau hola hana, 2-3 mau hola hoʻomaha ...

A laila kekahi (manaʻo wau ua haʻi mai lākou iaʻu ʻaʻole pili kēia kanaka me IT) i ʻōlelo:

"ʻO ia ke kai!"

Ua hoʻokō ʻia ka leo me nā ʻike maka ʻole, a kānalua paha ka lima o kekahi i ke pihi kelepona palekana.

"Ua pau ka hana me ke kai."

He manaʻo ʻē kēia i nā limahana kākoʻo IT, ʻaʻole paha e heluhelu i ka Tide Yearbook i ka wā e noho ana i ka kofe. Ua wehewehe lākou ʻaʻole hiki ke pili kēia i ke kai ma kekahi ʻano, no ka mea ua hana ke kikowaena no hoʻokahi pule me ka ʻole o ka hāʻule.

"I ka pule aku nei ua haʻahaʻa ke kai, akā ua kiʻekiʻe kēia pule."

ʻO kahi huaʻōlelo liʻiliʻi no ka poʻe i loaʻa ʻole ka laikini yacht. Pili ke kai i ka pōʻai mahina. A i ka pōʻai ʻana o ka Honua, i kēlā me kēia 12,5 hola ka huki ʻumekaumaha o ka Lā a me ka mahina e hana ai i ka nalu kai. I ka hoʻomaka ʻana o ka pōʻai he 12,5 hola he kai kiʻekiʻe, ma ka waena o ka pōʻai he ebb, a ma ka hopena he kai kiʻekiʻe hou. Akā, i ka loli ʻana o ka ʻōpuni o ka mahina, pēlā nō ka ʻokoʻa ma waena o ke kai haʻahaʻa a me ke kai kiʻekiʻe. Aia ka Mahina ma waena o ka Lā a me ka Honua a i ʻole ma ka ʻaoʻao ʻē aʻe o ka Honua (ka mahina piha a i ʻole ka mahina ʻole), loaʻa iā mākou ke kai ʻo Syzygyn - nā kai kiʻekiʻe loa a me nā kai haʻahaʻa haʻahaʻa. I ka hapalua o ka mahina, loaʻa iā mākou nā kai kūhāhā - nā kai haʻahaʻa loa. Ke emi nui nei ka ʻokoʻa ma waena o nā ʻaoʻao ʻelua. He 28 mau lā ka pōʻai mahina: syzygian - quadrature - syzygian - quadrature.

I ka wehewehe ʻana i nā ʻenehana i ke ʻano o ka ikaika o ke kai, ua manaʻo koke lākou he pono e kāhea aku i nā mākaʻi. A pololei loa. Aka, ua pololei ka manao. ʻElua pule i hala aku nei, ua hoʻopaʻa ʻia kahi mea luku ma kahi mamao loa mai ke keʻena aku. I kēlā me kēia manawa e piʻi aʻe ke kai i kahi kiʻekiʻe, ua pau ka pou radar o ka moku i ka pae o ka papahele o ka lumi kikowaena. A ʻo ka radar (a i ʻole nā ​​lako kaua uila, a i ʻole kekahi mea pāʻani koa) i hana i ka haunaele i loko o nā kamepiula.

Mikiona lele no ka rocket

Ua hoʻokau ʻia au i ka lawe ʻana i kahi mana hoʻokele rocket a me ka nānā ʻana i nā mana hou o ka ʻōnaehana hana, compiler a me ka ʻōlelo. ʻOi aku ka pololei, mai Solaris 400 a hiki i Solaris 2.5.1, a mai ka Verdix Ada Development System (VADS), i kākau ʻia ma Ada 7, i ka ʻōnaehana Rational Apex Ada, i kākau ʻia ma Ada 83. Ua kūʻai ʻia ʻo VADS e Rational, a ʻo kāna huahana ʻo ia. ʻoiai ua hoʻāʻo ʻo Rational e hoʻokō i nā mana kūpono o nā pūʻolo kikoʻī VADS e hōʻoluʻolu i ka hoʻololi ʻana i ka mea hoʻopili Apex.

ʻEkolu poʻe i kōkua mai iaʻu e hoʻopili maʻemaʻe i ke code. ʻElua pule i hala. A laila hana wau i kaʻu iho e hana i ka ʻōnaehana. ʻO ka pōkole, ʻo ia ka hana ʻino loa a me ka hoʻokō ʻana i kahi ʻōnaehana polokalamu aʻu i hālāwai ai, no laila ua lawe ʻia ʻelua mahina e hoʻopau i ke awa. A laila waiho ʻia ka ʻōnaehana no ka hoʻāʻo ʻana, a ua hala kekahi mau mahina. Ua hoʻoponopono koke wau i nā pōpoki i ʻike ʻia i ka wā o ka hoʻāʻo ʻana, akā ua emi koke kā lākou helu (ʻo ke kumu kumu he ʻōnaehana hana, no laila ua hana pono kāna hana, pono wau e wehe i nā pōpoki i kū mai i ka wā o ka hoʻoponopono ʻana i ka compiler hou). I ka hopena, i ka hana ʻana o nā mea a pau e like me ka mea e pono ai, ua hoʻoneʻe ʻia au i kahi papahana ʻē aʻe.

A ma ka Pōʻalima ma mua o ka Hoʻomaikaʻi, kani ke kelepona.

Ua manaʻo ʻia e hoʻāʻo ʻia ka hoʻomaka ʻana o ka rocket ma kahi o ʻekolu pule, a i ka wā o nā hoʻokolohua hoʻokolohua o ka helu ʻana, ua kāohi ʻia ke ʻano o nā kauoha. Ma ke ola maoli, e hoʻopau kēia i ka hoʻāʻo, a inā i hana ʻia ka poloka i loko o kekahi mau kekona o ka hoʻomaka ʻana i ka ʻenekini, e hana ʻia kekahi mau hana hiki ʻole ke hoʻololi ʻia i loko o nā ʻōnaehana kōkua, e koi ana i kahi mākaukau lōʻihi - a me ka pipiʻi - o ka rocket. ʻAʻole i hoʻomaka, akā nui ka poʻe e huhū loa i ka nalowale o ka manawa a me ka nui o ke kālā. Mai ʻae i kekahi e haʻi iā ʻoe ua hoʻolilo kālā ke Keʻena ʻo Defence i ke kālā me ka noʻonoʻo ʻole—ʻaʻole au i ʻike i kahi luna ʻaelike ʻaʻole i kau i ka waihona kālā ma mua a ʻelua paha, a ma hope o ka papa kuhikuhi.

I nā mahina i hala aku nei, ua holo ʻia kēia hoʻokūkū helu helu i nā haneli he nui i nā ʻano like ʻole, me nā hiccups liʻiliʻi wale nō. No laila he haʻahaʻa loa ka manaʻo o kēia hanana, akā nui loa kona hopena. E hoʻonui i kēia mau mea ʻelua, a e hoʻomaopopo ʻoe ua wānana ka nūhou i kahi pule hoʻomaha pōʻino noʻu a me nā ʻenekini a me nā luna.

A ua uku ʻia mai iaʻu ma ke ʻano he kanaka nāna i lawe i ka ʻōnaehana.

E like me ka hapa nui o nā ʻōnaehana koʻikoʻi palekana, ua hoʻopaʻa ʻia ka nui o nā ʻāpana, no laila ua maʻalahi ka ʻike ʻana i nā laina liʻiliʻi o ke code i hana ʻia ma mua o ka hāʻule ʻana o ka ʻōnaehana. A ʻoiaʻiʻo, ʻaʻohe mea ʻokoʻa e pili ana iā lākou; ua hoʻokō pono ʻia nā ʻōlelo like ʻole i nā kaukani mau manawa i ka holo like.

Ua kāhea mākou i ka poʻe mai Apex i Rational no ka mea ʻo lākou ka poʻe i hoʻomohala i ka mea hoʻopili a ua kapa ʻia kekahi o nā hana maʻamau a lākou i kūkulu ai i ke code kānalua. Ua hauʻoli lākou (a me nā mea ʻē aʻe) i ka pono e hele i ke kumu o kahi pilikia koʻikoʻi ʻāina.

No ka mea ʻaʻohe mea hoihoi i loko o nā puke pai, ua hoʻoholo mākou e hoʻāʻo e hana hou i ka pilikia ma kahi keʻena kikowaena kūloko. ʻAʻole ia he hana maʻalahi no ka mea i hana ʻia ka hanana ma kahi o hoʻokahi manawa no 1000 holo. ʻO kekahi kumu i manaʻo ʻia ʻo ia ke kāhea ʻana i kahi hana mutex i hoʻomohala ʻia e ka mea kūʻai aku (mahele o ka pūʻolo neʻe VADS) Unlock ʻaʻole i alakaʻi i ka wehe ʻana. ʻO ke kaula hana i kapa ʻia ka hana i hoʻoponopono i nā memo puʻuwai, i hōʻea i kēlā me kēia kekona. Hoʻokiʻekiʻe mākou i ka alapine i 10 Hz, ʻo ia hoʻi, 10 mau manawa i kēlā me kēia kekona, a hoʻomaka mākou e holo. Ma kahi o hoʻokahi hola ma hope mai, ua paʻa ka ʻōnaehana iā ia iho. Ma ka log, ua ʻike mākou ua like ke ʻano o nā memo i hoʻopaʻa ʻia me ka wā o ka hoʻāʻo ʻole. Ua hana hou mākou i nā holo hou, ua pāpā mau ʻia ka ʻōnaehana 45-90 mau minuke ma hope o ka hoʻomaka ʻana, a i kēlā me kēia manawa i loaʻa i ka log ke ala like. ʻOiai ke holo nei mākou i nā code ʻē aʻe - ʻokoʻa ke alapine o ka memo - ua like ke ʻano o ka ʻōnaehana, no laila ua hilinaʻi mākou i kēia ʻano hoʻouka i ka pilikia like.

I kēia manawa pono mākou e noʻonoʻo i kahi i loaʻa ai ka pale ʻana i ke kaʻina o nā ʻōlelo.

Ua hoʻohana kēia hoʻokō o ka ʻōnaehana i ka ʻōnaehana hana Ada, a hoʻohana maikaʻi ʻole ia. ʻO nā hana he hana kiʻekiʻe i hiki ke hoʻokō ʻia i loko o Ada, kahi mea e like me nā pae hoʻokō, i kūkulu ʻia i loko o ka ʻōlelo ponoʻī. Ke pono e kamaʻilio ʻelua mau hana, "hoʻonohonoho lākou i kahi hui", hoʻololi i ka ʻikepili kūpono, a laila hoʻōki i ka hui ʻana a hoʻi i kā lākou hoʻopaʻi kūʻokoʻa. Eia naʻe, ua hoʻokō ʻokoʻa ka ʻōnaehana. Ma hope o ka hui ʻana o kahi hana i hoʻopaʻa ʻia, ua hui ʻia kēlā hana i hoʻopaʻa ʻia me kahi hana ʻē aʻe, a laila hui hou ʻia me kahi hana ʻekolu, a pēlā aku a pau kekahi hana. Ma hope o kēia, ua hoʻopau ʻia kēia mau hui ʻana a pono e hoʻi kēlā me kēia hana i kāna hana. ʻO ia hoʻi, ke hana nei mākou me ka ʻōnaehana kelepona hana nui loa ma ka honua, kahi i hoʻōki i ke kaʻina hana "multtasking" i ka wā e hoʻoponopono ai i kahi ʻāpana o ka ʻikepili komo. A ma mua o kēia ʻaʻole i alakaʻi i nā pilikia wale nō no ka mea haʻahaʻa loa ka throughput.

Ua wehewehe au i kēia ʻano hana no ka mea ke noi ʻia a i manaʻo ʻia e hoʻopau ʻia kahi hui, hiki ke hana ʻia kahi "hoʻololi hana". ʻO ia hoʻi, hiki i ka mea hana ke hoʻomaka i ka hana ʻana i kahi hana ʻē aʻe i mākaukau e hoʻokō. ʻIke ʻia inā mākaukau kekahi hana e hui me kahi hana ʻē aʻe, hiki i kahi hana ʻokoʻa ke hoʻomaka e hoʻokō, a hope ka mana e hoʻi i ka hui mua. A hiki i nā hanana ʻē aʻe ke hoʻololi i ka hana; ʻO kekahi o ia hanana he kelepona i kahi hana ʻōnaehana, e like me ka paʻi ʻana a i ʻole ka hoʻokō ʻana i kahi mutex.

No ka hoʻomaopopo ʻana i ke ʻano o ka laina o ke code i kumu i ka pilikia, pono iaʻu e ʻimi i kahi ala e hoʻopaʻa ai i ka holomua ma o ke kaʻina o nā ʻōlelo me ka ʻole o ka hoʻomaka ʻana i kahi hoʻololi hana, kahi e pale ai i kahi ulia. No laila ʻaʻole hiki iaʻu ke lawe pono Put_Line()e pale i ka hana I/O. Hiki iaʻu ke hoʻonohonoho i kahi hoʻololi counter a i ʻole kekahi mea like, akā pehea wau e ʻike ai i kona waiwai inā ʻaʻole hiki iaʻu ke hōʻike iā ia ma ka pale?

Eia kekahi, i ka nānā ʻana i ka lāʻau, ua ʻike ʻia, ʻoiai ka paʻa o ka hana ʻana i nā memo puʻuwai puʻuwai, ka mea i kāohi i nā hana I/O āpau o ke kaʻina hana a pale i nā hana ʻē aʻe mai ka hana ʻana, ua hoʻomau ʻia nā hana kūʻokoʻa ʻē aʻe. ʻO ia hoʻi, ʻaʻole i ālai ʻia ka hana, he kaulahao (koʻikoʻi) wale nō o nā hana.

ʻO kēia ka mea e pono ai e loiloi i ka ʻōlelo pale.

Ua hana au i kahi pūʻolo Ada i loaʻa kahi hana, kahi ʻano helu ʻia, a me kahi hoʻololi honua o kēlā ʻano. Ua hoʻopaʻa ʻia nā huaʻōlelo helu helu i nā ʻōlelo kikoʻī o ke kaʻina pilikia (e.g. Incrementing_Buffer_Index, Locking_Mutex, Mutex_Unlocked), a laila hoʻokomo i nā ʻōlelo hoʻoili i loko o ia mea nāna i hāʻawi i ka helu ʻana i ka helu honua. Ma muli o ka hoʻopaʻa ʻana o ka code object o kēia mau mea a pau i ka hoʻomanaʻo mau, ʻaʻole hiki ke hoʻololi i ka hana ma muli o kāna hoʻokō ʻana. Ua kānalua nui mākou i nā ʻōlelo i hiki ke hoʻololi i ka hana, no ka mea, ua hana ʻia ke kāohi ʻana ma ka hoʻokō ʻana ma mua o ka hoʻi ʻana i ka wā e hoʻohuli ai i ka hana (no nā kumu he nui).

Holo wale ka hana ʻimi i loko o ka loop a nānā i kēlā me kēia manawa e ʻike inā ua loli ka waiwai o ka hoʻololi honua. Me kēlā me kēia hoʻololi, mālama ʻia ka waiwai i kahi faila. A laila kahi kali pōkole a me kahi hōʻoia hou. Ua kākau wau i ka loli i ka faila no ka mea ua hoʻokō ʻia ka hana i ka wā i koho ai ka ʻōnaehana no ka hoʻokō ʻana i ka wā e hoʻololi ai i ka hana ma ka wahi pilikia. ʻAʻole pili nā mea a pau i kēia hana i nā hana ʻē aʻe, pili ʻole.

Ua manaʻo ʻia i ka hiki ʻana o ka ʻōnaehana i ke kiko o ka hoʻokō ʻana i ke code pilikia, e hoʻihoʻi hou ʻia ka loli honua ke neʻe i kēlā me kēia ʻōlelo aʻe. A laila e hiki mai kekahi mea e hoʻololi ai i ka hana, a no ka mea ʻoi aku ka haʻahaʻa o kāna hana hoʻokō (10 Hz) ma mua o ka hana kiaʻi, hiki i ka mea nānā ke hopu i ka waiwai o ka hoʻololi honua a kākau iā ia. Ma kahi kūlana maʻamau, hiki iaʻu ke loaʻa i kahi kaʻina hana hou o kahi ʻāpana o nā helu helu: nā waiwai hope o ka loli i ka manawa o ka hoʻololi hana. I ke kau ʻana, ʻaʻole pono e hoʻololi hou ka ʻano hoʻololi honua, a ʻo ka waiwai hope i kākau ʻia e hōʻike i ka ʻōlelo i pau ʻole.

Ua holo au i ke code me ka hahai ʻana. Ua hau ʻo ia. A ua like ka hana o ka nānā ʻana e like me ka uaki.

Aia i loko o ka log ke kaʻina i manaʻo ʻia, i hoʻopau ʻia e kahi waiwai e hōʻike ana ua kapa ʻia kahi mutex Unlock, a ʻaʻole i pau ka hana - e like me ka hihia me nā kaukani o nā kelepona mua.

Ke ʻimi nei nā mea ʻenekini Apex i kā lākou code i kēia manawa a loaʻa kahi wahi i ka mutex kahi i hiki ai ke laka. Akā, ua haʻahaʻa loa kona kūlana, no ka mea, ʻo kahi kaʻina o nā hanana i hiki ke alakaʻi i ka pale ʻana. ʻO ke kānāwai ʻo Murphy, nā kāne, ʻo ke kānāwai ʻo Murphy.

No ka pale ʻana i ka ʻāpana code aʻu i makemake ai, ua hoʻololi au i nā kelepona hana mutex (i kūkulu ʻia ma luna o ka hana o ka OS mutex) me kahi puʻupuʻu liʻiliʻi ʻo Ada mutex e hoʻomalu i ka komo ʻana o ka mutex i kēlā ʻāpana.

Ua hoʻokomo wau i loko o ke code a holo i ka hoʻāʻo. ʻEhiku hola ma hope mai e hana mau ana ke code.

Ua waiho ʻia kaʻu code i Rational, kahi i hōʻuluʻulu ai lākou, wehe ʻia, a nānā ʻia ʻaʻole ia i hoʻohana i ke ala like i hoʻohana ʻia i nā hana mutex pilikia.

ʻO kēia ka loiloi helu nui loa o kaʻu ʻoihana 🙂 Aia ma kahi o ʻumi mau ʻenekinia a me nā luna i loko o ka lumi me aʻu, he ʻumi mau kānaka ʻē aʻe ma ke kelepona kūkā - a nānā lākou āpau ma kahi o 20 mau laina code.

Ua nānā ʻia ke code, ua hōʻuluʻulu ʻia nā faila hou a waiho ʻia no ka hoʻāʻo ʻana i ka regression. ʻElua mau pule ma hope mai, ua kūleʻa ka hoʻāʻo helu helu ʻana a lele ka rocket.

ʻAe, maikaʻi a maikaʻi kēlā, akā he aha ka manaʻo o ka moʻolelo?

He pilikia hoʻopailua loa ia. He mau haneli kaukani laina o ke code, hoʻokō like, ʻoi aku ka nui o nā kaʻina hana pāʻani, ka hoʻolālā maikaʻi ʻole a me ka hoʻokō maikaʻi ʻole, nā pilina no nā ʻōnaehana i hoʻopili ʻia a me nā miliona kālā i lilo. ʻAʻohe kaomi, pololei.

ʻAʻole ʻo wau wale nō ka mea e hana nei i kēia pilikia, ʻoiai aia wau i ke kukui i kaʻu hana ʻana i ka porting. Akā ʻoiai ua hana wau, ʻaʻole ia he manaʻo ua hoʻomaopopo wau i nā haneli haneli o nā laina code, a i ʻole ka ʻimi ʻana iā lākou. Ua kālailai ʻia nā code a me nā lāʻau e nā ʻenekinia a puni ka ʻāina, akā i ko lākou haʻi ʻana mai iaʻu i kā lākou mau kuhiakau e pili ana i nā kumu o ka hāʻule ʻana, he hapalua minuke wale nō kaʻu e hōʻole ai iā lākou. A i ke noi ʻia ʻana iaʻu e kālailai i nā manaʻo, e hāʻawi wau i kekahi, no ka mea, ua maopopo iaʻu ke hele hewa nei kēia poʻe ʻenekinia. Ke kani haʻaheo? ʻAe, heʻoiaʻiʻo kēia, akā ua hōʻole au i nā kuhiakau a me nā noi no kekahi kumu ʻē aʻe.

Ua maopopo iaʻu ke ʻano o ka pilikia. ʻAʻole maopopo iaʻu kahi i hana ʻia ai a no ke aha, akā ʻike wau i ka mea e hana nei.

I loko o nā makahiki, ua hōʻiliʻili au i ka nui o ka ʻike a me ka ʻike. ʻO wau kekahi o nā paionia o ka hoʻohana ʻana iā Ada a hoʻomaopopo i kona mau pono a me nā pōʻino. ʻIke au i ka mālama ʻana o nā hale waihona puke ʻo Ada runtime i nā hana a me ka hoʻokō like. A maopopo iaʻu ka papahana haʻahaʻa haʻahaʻa ma ke kiʻekiʻe o ka hoʻomanaʻo, nā papa inoa a me ka mea hoʻohui. ʻO ia hoʻi, loaʻa iaʻu ka ʻike hohonu ma kaʻu kahua. A ua hoʻohana au iā lākou e ʻimi i ke kumu o ka pilikia. ʻAʻole wau i hana a puni ka bug, ua maopopo iaʻu pehea e loaʻa ai ia i loko o kahi kaiapuni runtime koʻikoʻi loa.

ʻAʻole hoihoi loa ia mau moʻolelo o ka hakakā me ke code no ka poʻe ʻike ʻole i nā hiʻohiʻona a me nā kūlana o ia hakakā. Akā kōkua kēia mau moʻolelo iā mākou e hoʻomaopopo i ka mea e pono ai e hoʻoponopono i nā pilikia paʻakikī.

No ka hoʻoponopono ʻana i nā pilikia paʻakikī, pono ʻoe e ʻoi aku ma mua o ka mea papahana. Pono ʻoe e hoʻomaopopo i ka "hopena" o ke code, pehea e launa pū ai me kona kaiapuni, a pehea e hana ai ke kaiapuni ponoʻī.

A laila e loaʻa iā ʻoe kāu pule hoʻomaha hoʻomaha.

E hoʻomauʻia.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka