-Поиск по дневнику

Поиск сообщений в rss_thedaily_wtf

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 06.04.2008
Записей:
Комментариев:
Написано: 0


The Old Ways

Понедельник, 24 Августа 2015 г. 13:30 + в цитатник

Greg never thought hed meet a real-life mentat.

Were so happy to have you aboard, said Jordan, the CEO of IniTech. She showed Greg to the back end of the office, to a closed door marked with just one word: Frank. Jordan, not bothering to knock, opening the door.

A mentat from the film Dune

Greg was overwhelmed with the stench of burned coffee and old-man smell. The office was unadorned and dark, the blinds drawn, illuminated by the blue light coming from an aging CRT screen. He saw a wrinkled scalp behind a tall, black office chair.

Im busy, Frank said.

Jordan cleared her throat. This is your new programming partner.

Im Greg. Its nice to meet you Greg offered his hand, but a wrinkled appendage slapped it away.

Get yourself a chair. I know where everything is. You just show me you can type.

Greg shot Jordan a glance as they left Franks office.

Hes been with us 22 years, she said. He knows everything about our code. But his typings not what it used to be. Just do what he says. With some luck hell be retiring in a few months.

Total Recall

Greg pulled a spare office chair into Franks den. He could see Franks face in profile now, resembling the mummy of Rameses II. Frank slid his keyboard to Greg. Open C:\project.make in Vim, Frank said, and go to line 22.

Greg thought it was odd that a makefile would right under C:\, but he did so. He moved the cursor to line 22.

Increment $VERSION to 8.3.3.

Greg noticed that Frank had his eyes shut, but humored him. In fact, line 22 did declare a $VERSION constant, and Greg changed it to 8.3.3.

Youll be suitable, Frank said, crossing his arms. Youll do your work from the SMB server. Dont make any changes without my authorization first.

Change Management

Back at his desk, Greg found the SMB server where Frank kept all of his code. Or rather, the SMB mapped all of the files on Franks hard drive. Curious, Greg searched for .pas, .make, and other source files, wondering why Frank would keep his principle makefile under C:\.

There were 440 source files, about 200 megabytes, spread out all over the directory strucure. C:\Windows\System32, C:\Users\Shared\Project, C:\Program Files\& Franks entire computer was the de facto source repository.

Greg knew if he ever had to make an on-the-fly change to the source, it would take hours just tracking down the right file on SMB. Surely they had a repository he could check changes into. Greg took a deep breath and re-entered Franks den.

Frank, do we have any of this in a repo somewhere? I dont want to SMB onto your computer every time we make a change. What if we have to patch something overnight?

What?! Frank rose from his office chair, unsteady on his disused legs. There will be no code changes without my direct supervision! Its worked just fine for 22 years. Is that understood?

In Memory

Greg endured this for several months. Frank would harbor no suggestions of version control or repos. Everything, Frank said, was in his head. As long as no one changed the source without his permission, he would know where everything was.

Despite his frustrations, it greatly impressed Greg. Especially when Frank had memorized loop variables such as these:

for RecursiveWaypointCompressionThreadModuleIndexVerifierPropertyHandleIndex := 1 to 99 do ...  

Less amusing was Franks insistence on using HEX constants for any encoded string. You cant trust any string encoding, Frank said. It even extended to embedded web pages in their embedded manual:

const
    ThirdWebPage : array of byte = [ $2d, $20, ... 660k OF HEX CONSTS..... ];
    JQuery33WebPage : array of byte = [ $2d, $20, ... 3,660k OF HEX CONSTS..... ];  

But Greg wondered. What would happen if he slipped in just a little change? How long would it take before Frank found out?

One night, he came into the office and logged into Franks SMB server. He opened a file and found an innocuous for-loop block. He replaced the twenty-something variable name with i, saved a backup on his own machine, and went home.

Greg arrived in the office late that morning, stuck in traffic, and was met by Jordan at the door. Keep this quiet, but Frank just passed away.

Was it last night?

Brain aneurysm in his sleep.

Frank probably died before he had a chance to see Gregs unauthorized change. Greg would never know if Frank actually had the entire codebase memorized. Sometimes Greg would memorize a line or two, or find himself looking up mnemonic tricks to remember long sequences of characters. But it wasnt like Frank rubbed off on him. Not really.

[Advertisement] Manage IT infrastructure as code across all environments with Puppet. Puppet Enterprise now offers more control and insight, with role-based access control, activity logging and all-new Puppet Apps. Start your free trial today!

http://thedailywtf.com/articles/the-old-ways

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку