Historia de un byte

Historia de un byte © Dmitry Galuscenko
====================================

Echaba de menos bytes. Sólo uno. Sí, sí. El que consta de ocho bits. ¿Cuál? No, no estoy loco, aunque Dios sabe lo delgado era el límite que me separaba de esta condición. Pero todo en orden.

Soy programador. Pero no sólo el programador. Pertenezco a una casta, que se refiere a veces como analista de sistemas, a veces kristalschikami. ¿Sabes lo que es? Te lo explicaré cuando el paciente. No puedo hacer sin los detalles, pero de lo contrario no será capaz de entender mejor.

Programamos fichas odnokristallki, en términos generales, es cuando todo el complejo en un solo chip. La memoria de programa y memoria de datos se separan y no interactúan entre sí. El programa no puede ser ejecutado en la memoria RAM. La profundidad de la pila de software es limitado. Un montón de lo que puedo esperar, hay ocho niveles de profundidad, y no puedo cambiar la profundidad máxima de la pila. Oh, usted no cree que eso! Tengo los recursos profundos. 128 bytes de RAM ya! Es todo acerca de todo. Variables allí y que ... lo imaginas? Con la memoria de programa, muy mal. Ya ocho kilobytes. Y es muy fácil de usar. Primero tendrá que corte programación de memoria deseado, ejecutarlo el procedimiento correcto, y al salir de ella no se olvida de volver donde estaba. Sí, hay que tener en cuenta que dentro del banco sólo puedo mover y saltar llamadas a procedimientos, y son posibles referencias para condiciones sólo dentro de una sola página, es decir, 256 bytes.

Eso significa que, si yo comparar los dos bytes y tienen que diversificarse, pero si la etiqueta no está dentro de 256 bytes, es una carta al pueblo de mi abuelo, el compilador sólo la mitad de la alerta, dicen, a grandes zancadas pantalones de chico a tener en cuenta. Y es sólo el comienzo! Bayas ahora voy a sentar a cabo, ¿qué les tienen plenamente capaz de disfrutar. No tengo el mando de la resta. En realidad! Sólo añadir. Nada de lujo de una multiplicación o división, por lo general a mantener tranquilo, que es para la gente perezosa. Pero tengo que asegurar que el decimal matemáticas. Usted penetrar lentamente? Códigos tales juguetes lamer para que nunca soñó, especialmente si usted tiene que resolver el problema en el límite de la memoria operativa y programa. El código fuente no se reescribe una vez. Sólo soy un poco para resolver el problema. Tengo que meter en el maldito cristal! Las variables de restricción, tamaño de código en su conjunto, el tamaño de cada procedimiento, y el número de llamadas. El más mínimo descuido ... empujó a través de la pila, y se echó a Dios sabe dónde. Y el compilador no ayudará. Que él no entendió ... ¿Crees que eso es todo? ;-) H-E es, querida. Mi juguete funciona en tiempo real ... Aquí es donde, delante de cada pequeño protsedurki mi código necesario para contar y poner su tiempo de ejecución en milisegundos. Mis módulos no tendrán que trabajar más estrechamente tiempo fijo, porque todavía tengo para escanear kibordu y visualización, para mantenerse al día con los sensores y proporcionar señales de control, y todo lo demás deben trabajar sin interferir skanningu o me perdí pulsar botones o la pantalla será el parpadeo desagradable cambiar el brillo. Pero eso no es todo! Tengo una interfaz.

RS232C pisishny Normal, el llamado Comporta. Pero si usted piensa que esto es un chip separado, dicen, ponerlo bytes recibidos desde la memoria intermedia de bytes, entonces están equivocados. El precio de coste. Lo estoy haciendo maneja telipaya solo puerto poco. Plumas acantilado comienza tabla, se detiene, y los datos. Por lo tanto:

Si me lancé fuera un código tarea crucial, pero no encaja en la memoria - el problema no se soluciona. Si, además, he creado un mayor número de variables, y que no encajo en la RAM -. El problema no se resuelve

Si todos los Oka-muelles, pero los procedimientos son demasiado largos, destruido gráfico en tiempo real - el problema no se soluciona. Si los procedimientos son demasiado cortos, que son muchos, agotado por la pila -. El problema no se resuelve

Cualquier programador mediocre, lo puso en estos términos, a tiros en el segundo día. En general, en mi opinión, los chicos que trabajan en este campo, tienen nervios de acero y una voluntad indomable para ganar. Rara vez asociamos con los programadores convencionales - por lo general, no hablamos. Y no porque somos snobs o los soberbios. No necesariamente. Nos resulta difícil imaginar la programación de bajo recursos inagotables en lenguajes de alto nivel. Tornillos pequeños? Comprar el otro, ¿cuál es el problema? Pocos cuadros? Compre más, empujar la ranura. Códigos de Mega? Y yo estoy con? Este compilador tiene la culpa. Comprar un coche más grande. Es como un planeta diferente y espero que usted entenderá por qué.

Es como un hermoso crucero de océano blanco en la vasta extensión del océano, nadar a donde quieras. Y que lo pruebes en el novillo archipiélago finlandés. ;-) O enhebrar una aguja en la noche. Por otra parte, el hilo negro.

Por supuesto, también tenemos un conjunto de cristales y elegir ellos para desarrollar un más meticuloso que el novio de la novia y leer las hojas de té y otros medios improvisados, pero ¿Habrá suficiente? Pero si se hace la elección ... volver, por lo general no.

Pues bien. Yo os introduje en la materia, y puedo continuar con mi historia.

Crystal no me gusta a la vez. Supe de inmediato - ajuste apretado. Todo el límite. Reserva legal el 20% de los recursos de los posibles errores - no cumplen. Sin embargo, otros candidatos eran muy redundante, y por lo tanto costosa e irracional. El costo de todo decidió, finalmente dio su consentimiento y poderosos y soberbios y hermosos últimos modelos Intely Motorolly dejado atrás.

Al principio, todo fue como debería. Un par de meses de trabajo y los cristales se metió código prueba fueron normales, las tablas se separan y trabajó manivela lentamente engranajes y aumentando la velocidad, giro, impulsando una producción complicada máquina y voluminosos. Y sólo ocasionalmente ekalo mi corazón, porque todo está muy bien! Tres más de cinco por ciento de los recursos son gratuitos. Y es maldita poco, toma mi palabra.

Aunque el trabajo se hizo bastante bien, y me dieron la indemnización que le corresponde en forma de porciones se burlaban de. Por supuesto, un par de lugares es bastante aventurero, a veces bastante floja, pero algunos puntos destacados que pasó.

Y entonces ... Entonces empezó todo. A falta de una función muy importante del dispositivo, que han perdido los directores. Y aun ellos, y el cliente. Fue de pronto recordó que aquí, dicen, chicos, entonces no es una cosa tan pequeña que ser. Bueno, pura tontería, chesslovo, pero sin ella de ninguna manera. Bueno, olvidarse de él en la formulación, que no suceda? Pero es muy fácil añadir Bueno, en comparación con el resto de sus campanas y silbidos? Una vez más, gracias a Dios, no se olvide el sensor. Es sólo un programa!

Estos directores !!! Su karma se entiende que es necesario que el cliente! Incluso si es necesario serrar el cráneo y un tamiz para tamizar a través de todo su contenido!

Pero los gritos no ayudará. Y me senté durante dos semanas en casa, prohibido a molestarme. En el cerebro de raza pequeña svetoforchik sirena. Bip! El destello de rojo! El primer programa del banco se agota! Repaking. Optimización de las páginas y los bancos de memoria de código. Bip! RAM se agota! Revisión de los procedimientos operativos. Este nafig variable. Y sin estos se puede hacer si hay otra manera de ir.

Bip! El fracaso de la pila! Cara directamente en el suelo. ¿Cómo es posible!? Yo estaba en el octavo nivel!?
Bip! Fuera de marcas visuales vnutristranichnyh transiciones!
Bip! El incumplimiento de los procedimientos en tiempo real guzzle demasiado tiempo!
Bip! Segundo banco de memoria agotada!

Y así muchas, muchas veces. Cuidadosamente, byte a byte, me empujó el cuerpo de este
Nueva función Maldito recompressing continuamente el diseño de código de las páginas, los bancos, optimizando el tamaño del código gráfico en tiempo real, uso de memoria,
y que los módulos, y simplemente reescritura desde cero.
Tal vez usted piensa, ocho kilogramos de código binario no es suficiente? ¡Ja! Instrucción es uno y de dos bytes. Esto no es una zaylog de tres bytes o incluso ochenta de Intel. A veces me encontré a mi compañero, como se suele decir, y eso, pero yo estaba un poco dispuestos a schmooze "para toda la vida».

Después de una semana y media, me di cuenta de que las cosas estaban mal. Tengo más de media docena de soluciones y se ha mantenido en el sitio. Sabía que cada procedimiento y la función del corazón, y cada byte en la cara! Todo fue en vano. La imagen se congeló ... No quería venir a la vida!
Yo no tenía un solo byte. Esto muestra todas las soluciones. Solo byte total!

Corrió a la otra, le cayó todo el tiempo con opciones para hacer esquemas y planos del banco y volvió a su guarida. Sleep. En lo que puede llegar a ser - a dormir. Necesitamos una cabeza clara. Necesitamos una nueva idea. Estoy devastado. Los próximos días no se les da nada. Yo montar y desmontar código, encadenando como espumosos cuentas y empaqué en varias figuras formas, tratando de encontrar una forma en la que todas las piezas del rompecabezas se convertirán en uno sin ninguna brecha, y también hay espacio serán incluidos en el lugar preparado para ellos.
Lugares carente ... un código de bytes ... me amasa como la arcilla y le fabricar cualquier cosa, pero ... uno, sólo un byte!
Probablemente algo como experimentar un músico en escribir una sinfonía, tratando de encontrar una sola nota que haría que su sonido trabajo. O un artista en busca de la misma, pincelada única que avivar la imagen. Y sin esto, todo está muerto, y todo el trabajo sólo es bueno en la basura ...

Una vez en un sueño me vestí y salí a la calle. Bajo sus pies asqueroso -gritó nieve. Todo alrededor era gris y de alguna manera aburrida. Ya no necesitaba ningún ordenadores de buceo o de impresión. Todo el esquema estaba en mí ... ¿O es más allá de mí? Ella pomigivala prosvirkami coloreado, teniendo una forma de figuras tridimensionales, incluso hermosos extraños y algo, o es algún diseño de rejilla?
Thin marcadores de control chirriaba marcas de tiempo colgando fuertemente a estos cristales extraños, algunas formas fascinantes. Y voló, en alguna parte en movimiento y la rotación, en la que el país está cambiando la forma del canal? Tubo? Se comprimir cerca de todas sus paredes, como si fuera una señal de navegación invisible, en el momento oportuno, no está claro cuál de inflexión en un capricho, al borde de no actuar rápidamente sobre una obstrucción. Pero lo que su capitán o quien? Skipper? No pasarán! No puede ir! Pero no! Milagrosamente, toda la construcción es de alguna manera con gracia esquivar, exactamente en el momento justo y en silencio se desliza ... no!
Majestuosamente pasar el obstáculo antes de la próxima ... Y ... Y de repente, las estructuras calados borde sus diminutos aferra repisa. Chillar y rugir! Explosión e hilo brillante arrugada, todo roto en mil pedazos ...

Señor! La misma pila! Se pasa por la pila! Así que eso es lo que parece!
Cuando me quedo sin profundidad, parece aferrarse con una explosión y se derrumba, rompiendo sus diseños delicados ...

En cierto lugar veo un banco con una señora de edad solo en él. Tengo que sentarme, también ... es flores vendedora contrarias, bailando en el frío. No me gustan las mujeres mayores ... Y esto ... ¿Qué tipo de problemas, casi repugnante. Bueno, ella me miraba? ¿Quién es ella? Lo que está sentado aquí? Probablemente, nada que ver. Eso siempre se llena en la tienda, y debido a que no tienen tiempo para comprar. Y gritando en el autobús, ¿qué habrían dado paso. Probablemente, viendo estos idiotas serie de moda, ya que hay? María? ¿Y quién estaba allí llorando?
Lo que ellos entienden!? ¿Quién puede entender la cantidad de conocimiento y trabajo que es necesario para su construcción? ¿Cuántas noches de insomnio tienen que pasar? Cómo leer? Y todos los días, y la novela no es estúpido sobre el amor y la amistad?

¿Quiénes son generalmente capaces de entender!? Estos tipos de los últimos días que se hacen llamar los programadores? Escritura descuidada en foksprah, Clipper y Basic? Y siempre hacer la pregunta: dime qué equipo debo marcar? Y lo que es una ayuda a la salida? Y cuando el manual en ruso traducir? Y que la llamada "suave" de su? Gran almacén vechnozhivye stotysyachevariantnye y contabilidad? Creaciones imperecedero. Todo para una persona. Si hay diferencias, porque en el código áspera y glyuchnosti. Gluck sentado en una falla y errores persecuciones ...
Eso haría que sus códigos de tallar en piedra, como los antiguos albañiles, lo que lo haría un poco de pensamiento sobre lo que escriben ... O aquellos tehnokrysy? Es necesario, para escribir virus que utilizan para significar el pueblo hizo famoso lodo! Ugh!

No. No quiero sentarme en este banco, en compañía de esto ... ¿A dónde voy? Recordado. Por otra parte, me voy. Él puede decir qué? Bytes Damn! Lo que tengo en contra de la verdad? Todos están comprometidos en el negocio, ¿por qué sería lo peor, lo que quiero decir? Las personas con talento que falta en todas partes. Algo mucho que ver ...
pripeklo Mi amigo abrió la puerta y mira a mí. "¿Y bien?" "Bueno, ¿qué?»
& Quot; Dime sólo una & quot; Yo digo sombríamente, ir al apartamento. "¿Me puede dar un byte? Sólo una. Estoy dispuesto a darle a usted para nada. Yo bytes no es suficiente, ¿sabes? Bueno, yo no encajo en el cristal! »

Un amigo desde hace algún tiempo en silencio. "Vi sus códigos.»

"¿Y qué? Encontrado algo? »

& Quot; No. & quot; dice en voz baja, y después de una pausa, continuó: "encaje asociado Impecablemente. Ni un solo bucle. Las articulaciones no son visibles. Filigrana. En caja. Lepota recta. En cada línea, usted puede poner un signo de calidad. Y tallada en mármol. Y todo de manera uniforme ni sellos no hay huecos. Monolith, pero flexible. Pero .. »

"Ese" pero "? .. Sí, que no tire la cola del gato! No Motel alma! Y sin ti enfermo! "Exploto.

"La mayoría de los lugares que no puedo entender ... No sé ... Sólo hay que ver cómo es ... hermoso. Inmaterial de alguna manera. No agarre la mente ... Como aquí ahora, pero se va volando ... Es como un copo de nieve, cuando intenta llevarlo en la mano. O suena incluso mal entendido, pero la música percibida .. »

"¡Qué tontería estás hablando!? ¿Qué demonios?! Copo de nieve ¿Qué tipo de música!? ¿Me pueden ayudar o no!? "Yo estaba haciendo sonar. "Tú eres mi amigo. Ayúdame, ¿eh? Sólo dime dónde encajar este byte .. "Estoy deseando que llegue. "Para los ojos nezamyleny frescas. Por un lado, un solo operador, sin la cual se puede hacer todo! TODO! El problema se resuelve, ¿sabes? Y estoy en el ataúd de la vida ... para siempre .. "Le susurro agarró por la manga," Después de todo, hay un infierno de una fila, y yo sólo soy un hombre, me equivoqué, perdí, y no noté ...? Y yo no necesito nada. Hola fama ni alabanza. Ojalá que se fue volando b ... Lo que solía dejarme ir ... ¿eh? Bueno, no tengo más fuerza. Bueno, vamos a ir, le permiten lucir más códigos .. »
"Give up", dice. "Dar? ¿De qué? "No lo entiendo. "Tome otro cristal».
"¿Estás loco ?? !! ¿Cómo es - otra !! ?? Montones de tableros mierda, montadores, ajustadores, detalles salariales!? ¿Eso es una broma !! ?? ¿Crees que hay en el equipo, quiero un par de líneas añadido y nadie se daría cuenta !! ?? Cero costo, y añade incluso megabytes de código!? Y el pueblo? Lo hacen créeme! Le dije - "Sí & quot;! Yo estaba de acuerdo, sin embargo, y vi que el espacio para la cabeza es casi de cero! Y ellos ya lo han hecho! Cajas, metal, comida. Ellos sólo están esperando el código! Usted sabe las consecuencias del cambio del cristal? Usted sabe cuánto va a costar el byte! Un byte !! & quot;
Yo mismo estoy ensordecido por los gritos ...
"Fool." Slap la palabra cae al suelo como un fardo de ropa mojada. "Retreat! Olvídalo! Somos los chicos por tres días, ya que el aspecto de estos códigos. Recogí todos los que pudiera. Inmediatamente me di cuenta de que algo andaba mal con usted. No tiene errores! Ninguno. Por otra parte, no entendemos cómo se las arregló para hacer estas cosas. »
Mis rodillas se doblaron y yo nos sentamos si, o se hundieron en una silla.
Yo en el fondo yo sabía. Y entonces comencé a hablar ... Era un monólogo extraño ...
Era como si alguien gritó, susurrada y gritó de nuevo con mi voz:

& Quot; ... Pensé que todo este tiempo. Me di cuenta de que no es tan importante este proyecto, como una medida de mi responsabilidad. Bueno, no se atrevió a, bueno, para rehacer alguna manera todos. ¡Maldita sea! No es así que esto es importante. Es una pena no ... Mi caso es diferente. En mí. Ya sabes, he sido durante mucho tiempo un esclavo que lo hace, ¿qué van a decir, lo que justifica que ganar dinero para la familia. Durante mucho tiempo yo era un mercenario. Mis servicios Mis programas son muy caros. Usted sabe, yo no presumo de las cosas simples. Déjalo hacerse rico. Asumo y trabajar por sí mismos. Sí, yo siempre he estado escupir en el dinero! Tienen poco o ningún poder sobre mí! Debería ser más! Y me escondo con cuidado. Debido reto interesante que estoy dispuesto a hacer por libre, y luego otro y priplachu por ello. Tú mismo sabes lo que es!? ¿Y bien?! También no está haciendo esto por el dinero! Sólo hay una cosa que nunca le dije a nadie. Cuando estoy haciendo - volar ... Y no me mientas, no sabes lo que es! Todo el mundo lo sabe! Sólo prefieren no recordar o no creer! Usted sabe que esto, también! Es como un sueño de infancia. ¿Recuerdas? Nos elevamos alto, alto y Rush, chillando de alegría desbordante! A nosotros barrer bajo los bosques, las montañas y el mar! ¿Crees que fue un sueño!? ¡No! Y he descubierto mucho tiempo! Sólo decir miedo. Que pena por ti, tonto! Pero ahora no me importa! Son nuestras moscas alma! Según la presente! Y la mente dice que estamos dormidos. ¿Entiendes? ¿Y por qué, cuando crecemos, nos detenemos volar? Y!? ¿Por qué?! ¿Por qué nos detenemos soñar ese sueño? ¿Sabes? ¡Lo sé! Debido a que nuestra alma es más pesado debido a que el valor del dinero, las convenciones de la sociedad tomó el poder sobre nosotros y nuestra alma ya no es capaz de levantar esta carga! ¿Cómo! Estamos recta, aplana, lo que sería una alfombra, en la que se limpie sus pies! ¡Oh, qué buena razón, tal explicación razonada de por qué era necesario doblar esa manera, y como lo hemos hecho para alguien haciéndolo.
Tenemos tiempo para ti mismo cada día, convencernos de que estamos viviendo bien. Y yo no quiero, ya no podía mentir! Usted no entiende cómo se relaciona con este byte diabólica!? Es muy simple. Tengo mucho que puedo volar! Y el trabajo me está ayudando en este. ¡Sí! ¡No!

¿Qué es esto?




¡Guau! ¿Cuál?



...