There are also many people in biology research who do these kinds of repetitive tasks on daily basis for hours without realizing that much of it could easily be automated.
While we're sharing horror stories, a shining example from my experience is a friend who spends days analyzing western blots from experiments: it comes down to identifying a set of 10 rectangular black patches on clear white background and measuring their average brightness. The standard solution is this software package that lets you open each .jpg file one by one (there is a folder with hundreds), and you draw little rectangles and it tells you the average brightness inside. You write the number down inside an excel spreadsheet one by one, alt-tabbing back and forth.
After a brief facepalm moment I opened MATLAB, wrote ~30 lines of code and processed all images in the folder automatically, dumping all average brightnesses into a giant matrix in 1 minute of runtime. Several days of work saved that could go to curing cancer instead of filling spreadsheets.
At one of the first computer conferences I went to(HAL2001) there was a talk on "wetware hacking". The guy giving the talk was a neuroscientist I believe and he was literally begging the programmers in attendance to give his field a try since they had so many programable tasks and no one able or willing to do them. Unfortunately he fell short of giving advice on paths into the field if you aren't already in academia.
The problems these people are solving though are definitely things that myself and a lot of my friends would find interesting problemsets. I think its just a matter of making it accessible.
I work as the IT guy at a biological institute (fixing Windows boxes).
I don't know for sure that there are repetitive tasks that the graduates do there, I am pretty certain that there are some.
But there simply is no structure in place that would allow me to work for them. I could do it pro bono, but honestly I don't have the time for it. On the other hand they simply don't hire programmers to automate tasks, that's just not part of their budget.
These "wet" labs usually do not have many people who are enthusiastic about computers in the programming, text-only sense. Usually there is one or two people that know some stuff and they do all the technical stuff for everyone else. It's not uncommon to find people who are actually quite computer phobic in these labs. The general interest in computers is prefering Mac's to PC's and that's about as far as it goes. If you start talking up some programming solution to the wrong person you may actually alienate them.
The problem extends to much of the software that is written too. There are some command line suites that do batch processing, e.g. for sequences, but much of the software is point and click. And that's the problem. No one expects the typical lab user of these programs to be versed in using the command line and doing batch jobs. Everything is mouse-driven. Even if the back end is powerful, the front end is always a slow GUI.
This just slows everything down.
Another shining example of this sort of thing is audio engineering. You have programs that are designed as GUI's that look like physical pieces of gear. You move the mouse around to adjust turn knobs, switches and sliders and adjust settings. Extremely cumbersome. But this is how they expect users to be comfortable. Then companies started selling physical consoles with real knobs, switches and sliders to control the software. It's comical.
The touch screen trend is not going to help people get comfortable with the command line. And the key to realy fast computing is using a command line and batch processing. There is no way around it. When you are pointing and clicking, you are just sending a signal that began as a text instruction in the code anyway. Why not just start with the text command and skip the point and click?
Something I find amusing is that the ability the author demonstrates here, to notice that a task is repetitive and has a programmatic solution, is itself a skill that has to be learned, and one that's different than programming.
Once, when I was working on a group project in an operating systems class, we modified our kernel malloc and free routines to print the relevant address every time they were called, to do some simple leak-checking. The result was a file of a few thousand lines like "malloc 0x94583900", "free 0x34739A4", etc. One of my partners looked at the file and said some variant of "oh no - this is going to take hours to match up". Apparently it hadn't occurred to him, someone who'd been programming professionally for years and who only minutes before had been tweaking the internals of a process management function in a multithreaded x86 operating system, that there was an easier avenue available to him.
I have a darn similar story, writing a virtual memory manager for OS design class. I was the only one in class who even thought of instrumenting the thing, and then wrote a Python program to read the traces and tell me when frames got swapped to or from the wrong disk pages.
I was also the first one in class to actually finish the project.
There is another side to it when a programmer looks for a technical solution unnecessary (when all you have is a hammer -- everything looks like a nail)
I remember the first time I used programming at work too. I worked in a marketing agency as a PC operator. The two tasks I had were:
* print enormous text files with tables showing survey data.
* put a long list of .gif files each one on its own .ppt file (yes, as ridiculous as it sounds).
For the first problem I did two little Pascal programs. The first measured the files and calculated the best settings for the printer (it used to be a try and error process). The second, I did another little Pascal program that added page numbers to the files, so when the printer got stuck (or the pages got mixed) it was easy to resume instead of starting over.
For the second problem, it did an MS Office Macro.
I stopped programming at the office because one of my coworkers asked me to stop because "we are all going to be out of work" (sic).
That is when I learnt the importance of knowing how to code.
"one of my coworkers asked me to stop because 'we are all going to be out of work'."
This is the argument of the anti-technologist, sometimes called the "Luddite fallacy" [1].
Somehow these people think that the time freed by automating menial and repetitive tasks can't be used to do more productive or additional tasks, or heighten the ability and/or education of the workers.
Even little nuggets from programming, gifted in the right way can radically change things for non-programmers. I introduced a friend to regular expressions and Textpad so he could cleanup the output from a news reporting system he used (excess line breaks, weird characters, that sort of thing). It turned a manual task that took him the bulk of his time into something that took seconds.
When I showed him a related tool that could hunt out and tag terms of interest using the same concept (phone numbers, email addresses, etc.) it completely changed his life. He ended up using those two little kernels of wisdom to mostly automate a previously entirely manual research process and now leads a team of 20 researchers in his field.
He's not a programmer or even a scripter, but he uses regexes pretty much every day in his work.
In other words, "Everyone can script", rather than "Everyone can program". Where by "script" I mean to write a program, but for ad hoc tasks, and on a relatively small scale.
My mother was a computer science professor and was active with ACM's SIGGRAPH for most of my early childhood, but somehow I got through high school never learning how to write code. I did, however, learn that laziness can sometimes be a virtue.
In my second job out of college, I was running the sound board for a national talk radio show. We broadcasted three hours a day, and I was tasked with getting recordings of each day's shows uploaded as a podcast with the commercial breaks edited out. Being far too lazy to want to do this by hand, and recognizing that we broadcasted on a "hard clock" (a commercial break would run every day from 2:06:55 to 2:10:25 for example), I decided it was time to learn how to let a computer do the work for me.
Fortunately, a friendly coworker who was a hybrid of broadcast engineer and sysadmin pointed me toward bash scripts and cron jobs. Figuring it all out was a frustrating couple of weeks, but I certainly didn't regret it.
A few years later, among other duties, I was responsible for the audio archives of a very old musical organization. Mostly this meant knowing how to make decent transfers of DATs, LPs, 1/4" reel to reels, etc. We found ourselves with over 20,000 tracks of original recordings in .wav format and the metadata about those tracks in an unconnected database.
After far too many searches in the library database, followed by finding the desired file by hand, I got busy scripting (and perusing posts on HN that have helped immensely along the way). That project has evolved into a searchable website containing audio, video, photos and print materials of everything in our catalog.
Next week, I'm on my way to Silicon Valley to interview for a programming gig at a company doing very exciting things. I definitely didn't see it happening this way, and maybe it's not the best career move for me, but my life wouldn't be the same if I hadn't realized my laziness could be rewarded by learning how to code.
When I was 16 I had a summer job as an intern for my Physics professor. Our main task was to stir these huge vials of very viscous liquid for hours on end.
So I went to the Chemistry lab, got some mechanical stirrers, plopped them in, and played video games all summer. Good times.
Recognizing that automation is possible is very hard. A quick tip, if you can find a pattern in a task, you can probably automate some or all of that task.
My first internship after college had me taking technical tables in old Word documents, and rewriting them as old-style HTML tables. These documents were often thousands of pages of tables, and there were hundreds of such documents.
It took me a while to realize that, over a few dozen tables, I had come up with a manual system that was just a series of copy/pastes of various HTML snippets in and around the copy/paste of the table contents in a text editor. At the rate I was going using my copy/paste method I was processing tables at about 2-3x the rate of the other interns who were hand typing the markup in the table (the average was about 20 tables per day, I was doing a solid 50-60).
Thinking for a minute I whipped up a script to do the work and my metrics went through the roof. All I had to do was copy/paste the table contents (I couldn't come up with a way at the time to automate that bit of tedium), then run the script. In a day I went to doing 6000-8000 tables a day. My boss, who fortunately thought it was pretty cool, had me train the other interns and we finished the project months ahead of schedule.
So even if a complete solution wasn't to be found, automating even part of it was a massive boost to productivity.
I am trying to use programming at work, but I feel the thing is seen as mere "IT" and that it has no consideration at all. Which is weird, as we are sharing horrors, now at my company (a multinational) is budget time. There is an excel file with 500 tabs (500) going around to collect the budget for each cost center.
I mean, when you start clearly overusing a tool, if you call yourself a manager you must realize it. You can't keep saying that your job is not IT because at the end your and others productivity depends on it. Somehow I start thinking that the way you do things is as important as the things you are doing.
Bottom line is, we will come up with a budget, everybody will work a lot over the 40 hrs per week, there will be lots of input and logic mistakes (most of them will be corrected, others not). But they will be able to check the 'budget done' radio button. And they will be proud of this achievement. I won't, because I will be feeling stupid spending time doing this kind of things in 2012.
I've been interning at a power company since high school (I'm a junior in college now -- EE/CpE major) and one of the things I did was taking log data for a bunch of events in csv format, filtering the irrelevant data, and formatting it to make it more readable by humans. Since I had to repeat the process a bunch of times, I spent an hour or so writing an Excel macro that let me select a few examples of what was relevant and then proceeded to do all the hard work. I told my supervisor about it and she had me write up documentation for using the macro and then shared it with everyone in the department to save everyone's time.
Excel can be an amazing tool when automated. I am amazed that more companies don't train their employees on task automation (Excel or not).
A few years ago I had a situation while working on a circuit board design. The board used huge FPGA's with over a thousand pins each. Creating and managing the schematic and PCB symbols for these chips took days of agonizing work. I finally had enough and wrote a tool that used Excel for data entry and editing. After about a month of work we could take an FPGA from data sheet to EDA files inside of 30 minutes. The tool most-definitely paid for itself many times over as it saw use over several years.
That's the one thing that is outstanding about MS Office: The ability to automate across tools is fantastic.
At this place where I'm currently working they have this legacy system which logs transactions, and sometimes there are lines missing from the logs.
Early on these guys figured out they could recreate the missing lines using the data they did have.. the problem is that it's the most horribly tedious process imaginable, involving lots of calculations and comparisons.
One day one of the guys runs into a problem where 3-4 of these transactions hadn't been logged properly. I didn't have much to do that day so I opened up Visual Studio and got to work. Field by field I figured out what the calculations were supposed to be and then put them down in code.
Saved this guy hours of work that day, and we save ourselves time every time the problem has cropped up since.
The IT manager that didn't believe in him are the types of people that can't embrace technology, and when you don't embrace technology or at least try, you end up getting fucked. She could have told him to prove it, show an example, etc, but instead she automatically dismissed it and he got the better end of the deal by getting to be lazy for a few days. If she would have looked, commended, and appreciated what he spent effort trying to improve it would've had a better outcome for both parties, but instead he was the only one that got to take advantage of it.
Yep. I got sick of entering the same data six times in spreadsheets at work. I made an Access database. Added VBA to make it better. Ended up hitting the limits of VBA, made a full client app in VB.NET. Ended up importing data from a remote system using an AutoIT script. I was still an admin assistant- no-one would promote me.
Wonderful post. I love that he solved the problem, and since he received no reinforcement, kept the success to himself and did what ever he wanted while the program did his work. Win X 5
I had a very similar experience! I used to work holidays for the family mail order business.
While we could easily process upto 400 small orders a day (because the warehouse was well organised) we maxed out at shipping around 6 large trade orders per day. Each one took an hour and the courier collection was at 3pm.
After getting through a particularly manic afternoon, I decided to have a look at why they took so long.
I realised it took 25mins just to turn the mailorder spreadsheet into an invoice to mail out with the parcel.
I was dying to automate it! I made a macro to remove the empty product lines, format the layout, background & colour, position the delivery address, insert the company logo and information and generate an invoice number and mark it as paid.
I even future-proofed it so that it would still work even if we added new products to our order form.
I stuck a big smiley face button on the tool bar. I tested it out, invoices now took around 4 seconds. The screen sat there with a beautifully formatted invoice, cursor flashing patiently for me to enter a payment reference and hit print.
Basically that one small change doubled the trade order capacity of the business, which was a LOT of income. It's an awesome feeling :D
That was about 8 years ago, I think they still use it now!
there's also the issue that manual processes tend to have a consistent rate of small mistakes whereas automated processes are more likely to have very occasional gigantic fuckups without warning.
Really I think we just need to use the term Automation for this, rather than "coding" or "programming".
My take on this latest Jeff Atwood fiasco[1] is that yes, I certainly agree with him that "coding" should not be lumped in with the same concepts as general literacy and numeracy.
But certainly automation using a computer should be, and there are a range of ways available to teach people how to do that.
That's really a distinction of degree, though. It seems like the only real difference is whether you're programming Python, Photoshop, Excel, bash or whatever, and the power of the tools available to you. I'm not sure that whether it actually involves writing text to be interpreted is important.
Before I started studying computer science in university, I was working as a laboratory assistant in a paint coloring laboratory. One of my tasks was to do colorant characterizations to our custom-built (the company had one programmer) application so the software can approximate formulae for hardware stores.
This was really manual work. You needed to do different mixtures with the colorant and the paint to get an even spectrum of colors from light to dark. Everybody just started to do them randomly, calculating approximate mixtures, doing draw-downs, measuring and repeating until the result was good enough. I started playing around with excel macros and studied how Kubelka-Munk formulae worked. I even realized that there are lots of colorants using the same pigment, but with different strength.
When getting these numbers and some old measurements I built a big excel file with macros, where you just type the pigment data and it would print you instructions what to mix and how much. This saved several days in the process and finally they let me learn Delphi and convert the excel file into a real program.
I wouldn't want to read that code nowadays, but I think they're still using it in the laboratory.
Yeah, it's really useful to be able to automate tasks, especially when you're the intern that gets handed the boring task the higher ups don't want to do. An intern's job is basically to do the lowest level tasks that computers can't do. And yeah, sometimes (ok a bunch of times) your superiors have no idea how simple that task is on a computer. However, other times the task is just complex enough and happening rarely enough and your skills are not good enough to justify an automation scenario. Then it's really boring. I would say learn programming to raise your complexity bar on repetitive tasks.
[+] [-] karpathy|14 years ago|reply
While we're sharing horror stories, a shining example from my experience is a friend who spends days analyzing western blots from experiments: it comes down to identifying a set of 10 rectangular black patches on clear white background and measuring their average brightness. The standard solution is this software package that lets you open each .jpg file one by one (there is a folder with hundreds), and you draw little rectangles and it tells you the average brightness inside. You write the number down inside an excel spreadsheet one by one, alt-tabbing back and forth.
After a brief facepalm moment I opened MATLAB, wrote ~30 lines of code and processed all images in the folder automatically, dumping all average brightnesses into a giant matrix in 1 minute of runtime. Several days of work saved that could go to curing cancer instead of filling spreadsheets.
[+] [-] sanswork|14 years ago|reply
The problems these people are solving though are definitely things that myself and a lot of my friends would find interesting problemsets. I think its just a matter of making it accessible.
[+] [-] VMG|14 years ago|reply
I don't know for sure that there are repetitive tasks that the graduates do there, I am pretty certain that there are some.
But there simply is no structure in place that would allow me to work for them. I could do it pro bono, but honestly I don't have the time for it. On the other hand they simply don't hire programmers to automate tasks, that's just not part of their budget.
[+] [-] actua11y|14 years ago|reply
This just slows everything down.
Another shining example of this sort of thing is audio engineering. You have programs that are designed as GUI's that look like physical pieces of gear. You move the mouse around to adjust turn knobs, switches and sliders and adjust settings. Extremely cumbersome. But this is how they expect users to be comfortable. Then companies started selling physical consoles with real knobs, switches and sliders to control the software. It's comical.
The touch screen trend is not going to help people get comfortable with the command line. And the key to realy fast computing is using a command line and batch processing. There is no way around it. When you are pointing and clicking, you are just sending a signal that began as a text instruction in the code anyway. Why not just start with the text command and skip the point and click?
[+] [-] DeepDuh|14 years ago|reply
[+] [-] tomdtpink|14 years ago|reply
[deleted]
[+] [-] davidtgoldblatt|14 years ago|reply
Once, when I was working on a group project in an operating systems class, we modified our kernel malloc and free routines to print the relevant address every time they were called, to do some simple leak-checking. The result was a file of a few thousand lines like "malloc 0x94583900", "free 0x34739A4", etc. One of my partners looked at the file and said some variant of "oh no - this is going to take hours to match up". Apparently it hadn't occurred to him, someone who'd been programming professionally for years and who only minutes before had been tweaking the internals of a process management function in a multithreaded x86 operating system, that there was an easier avenue available to him.
[+] [-] gliese1337|14 years ago|reply
I was also the first one in class to actually finish the project.
[+] [-] d0mine|14 years ago|reply
[+] [-] dons|14 years ago|reply
[+] [-] aurelianito|14 years ago|reply
* print enormous text files with tables showing survey data.
* put a long list of .gif files each one on its own .ppt file (yes, as ridiculous as it sounds).
For the first problem I did two little Pascal programs. The first measured the files and calculated the best settings for the printer (it used to be a try and error process). The second, I did another little Pascal program that added page numbers to the files, so when the printer got stuck (or the pages got mixed) it was easy to resume instead of starting over.
For the second problem, it did an MS Office Macro.
I stopped programming at the office because one of my coworkers asked me to stop because "we are all going to be out of work" (sic).
That is when I learnt the importance of knowing how to code.
[+] [-] Luyt|14 years ago|reply
This is the argument of the anti-technologist, sometimes called the "Luddite fallacy" [1].
Somehow these people think that the time freed by automating menial and repetitive tasks can't be used to do more productive or additional tasks, or heighten the ability and/or education of the workers.
[1] http://en.wikipedia.org/wiki/Luddite_fallacy
[+] [-] unimpressive|14 years ago|reply
[+] [-] bane|14 years ago|reply
When I showed him a related tool that could hunt out and tag terms of interest using the same concept (phone numbers, email addresses, etc.) it completely changed his life. He ended up using those two little kernels of wisdom to mostly automate a previously entirely manual research process and now leads a team of 20 researchers in his field.
He's not a programmer or even a scripter, but he uses regexes pretty much every day in his work.
[+] [-] roryokane|14 years ago|reply
[+] [-] esonderegger|14 years ago|reply
In my second job out of college, I was running the sound board for a national talk radio show. We broadcasted three hours a day, and I was tasked with getting recordings of each day's shows uploaded as a podcast with the commercial breaks edited out. Being far too lazy to want to do this by hand, and recognizing that we broadcasted on a "hard clock" (a commercial break would run every day from 2:06:55 to 2:10:25 for example), I decided it was time to learn how to let a computer do the work for me.
Fortunately, a friendly coworker who was a hybrid of broadcast engineer and sysadmin pointed me toward bash scripts and cron jobs. Figuring it all out was a frustrating couple of weeks, but I certainly didn't regret it.
A few years later, among other duties, I was responsible for the audio archives of a very old musical organization. Mostly this meant knowing how to make decent transfers of DATs, LPs, 1/4" reel to reels, etc. We found ourselves with over 20,000 tracks of original recordings in .wav format and the metadata about those tracks in an unconnected database.
After far too many searches in the library database, followed by finding the desired file by hand, I got busy scripting (and perusing posts on HN that have helped immensely along the way). That project has evolved into a searchable website containing audio, video, photos and print materials of everything in our catalog.
Next week, I'm on my way to Silicon Valley to interview for a programming gig at a company doing very exciting things. I definitely didn't see it happening this way, and maybe it's not the best career move for me, but my life wouldn't be the same if I hadn't realized my laziness could be rewarded by learning how to code.
[+] [-] SiVal|14 years ago|reply
[+] [-] SatvikBeri|14 years ago|reply
So I went to the Chemistry lab, got some mechanical stirrers, plopped them in, and played video games all summer. Good times.
[+] [-] bane|14 years ago|reply
My first internship after college had me taking technical tables in old Word documents, and rewriting them as old-style HTML tables. These documents were often thousands of pages of tables, and there were hundreds of such documents.
It took me a while to realize that, over a few dozen tables, I had come up with a manual system that was just a series of copy/pastes of various HTML snippets in and around the copy/paste of the table contents in a text editor. At the rate I was going using my copy/paste method I was processing tables at about 2-3x the rate of the other interns who were hand typing the markup in the table (the average was about 20 tables per day, I was doing a solid 50-60).
Thinking for a minute I whipped up a script to do the work and my metrics went through the roof. All I had to do was copy/paste the table contents (I couldn't come up with a way at the time to automate that bit of tedium), then run the script. In a day I went to doing 6000-8000 tables a day. My boss, who fortunately thought it was pretty cool, had me train the other interns and we finished the project months ahead of schedule.
So even if a complete solution wasn't to be found, automating even part of it was a massive boost to productivity.
[+] [-] kfk|14 years ago|reply
I mean, when you start clearly overusing a tool, if you call yourself a manager you must realize it. You can't keep saying that your job is not IT because at the end your and others productivity depends on it. Somehow I start thinking that the way you do things is as important as the things you are doing.
Bottom line is, we will come up with a budget, everybody will work a lot over the 40 hrs per week, there will be lots of input and logic mistakes (most of them will be corrected, others not). But they will be able to check the 'budget done' radio button. And they will be proud of this achievement. I won't, because I will be feeling stupid spending time doing this kind of things in 2012.
[+] [-] TwiztidK|14 years ago|reply
[+] [-] eru|14 years ago|reply
[+] [-] robomartin|14 years ago|reply
A few years ago I had a situation while working on a circuit board design. The board used huge FPGA's with over a thousand pins each. Creating and managing the schematic and PCB symbols for these chips took days of agonizing work. I finally had enough and wrote a tool that used Excel for data entry and editing. After about a month of work we could take an FPGA from data sheet to EDA files inside of 30 minutes. The tool most-definitely paid for itself many times over as it saw use over several years.
That's the one thing that is outstanding about MS Office: The ability to automate across tools is fantastic.
[+] [-] grandpoobah|14 years ago|reply
Early on these guys figured out they could recreate the missing lines using the data they did have.. the problem is that it's the most horribly tedious process imaginable, involving lots of calculations and comparisons.
One day one of the guys runs into a problem where 3-4 of these transactions hadn't been logged properly. I didn't have much to do that day so I opened up Visual Studio and got to work. Field by field I figured out what the calculations were supposed to be and then put them down in code.
Saved this guy hours of work that day, and we save ourselves time every time the problem has cropped up since.
Oh to be a programmer.
[+] [-] joshmlewis|14 years ago|reply
[+] [-] untog|14 years ago|reply
That was the beginning, I never looked back.
[+] [-] bawllz|14 years ago|reply
[+] [-] helen842000|14 years ago|reply
While we could easily process upto 400 small orders a day (because the warehouse was well organised) we maxed out at shipping around 6 large trade orders per day. Each one took an hour and the courier collection was at 3pm.
After getting through a particularly manic afternoon, I decided to have a look at why they took so long.
I realised it took 25mins just to turn the mailorder spreadsheet into an invoice to mail out with the parcel.
I was dying to automate it! I made a macro to remove the empty product lines, format the layout, background & colour, position the delivery address, insert the company logo and information and generate an invoice number and mark it as paid.
I even future-proofed it so that it would still work even if we added new products to our order form.
I stuck a big smiley face button on the tool bar. I tested it out, invoices now took around 4 seconds. The screen sat there with a beautifully formatted invoice, cursor flashing patiently for me to enter a payment reference and hit print.
Basically that one small change doubled the trade order capacity of the business, which was a LOT of income. It's an awesome feeling :D
That was about 8 years ago, I think they still use it now!
[+] [-] Tichy|14 years ago|reply
Also amazing that "normal users" consistently don't even want help with automating their IT tasks. Maybe they are worried about losing their jobs?
[+] [-] jiggy2011|14 years ago|reply
[+] [-] eru|14 years ago|reply
[+] [-] dools|14 years ago|reply
My take on this latest Jeff Atwood fiasco[1] is that yes, I certainly agree with him that "coding" should not be lumped in with the same concepts as general literacy and numeracy.
But certainly automation using a computer should be, and there are a range of ways available to teach people how to do that.
[1]http://www.workingsoftware.com.au/page/When_does_automation_...
[+] [-] andrewflnr|14 years ago|reply
[+] [-] pimeys|14 years ago|reply
This was really manual work. You needed to do different mixtures with the colorant and the paint to get an even spectrum of colors from light to dark. Everybody just started to do them randomly, calculating approximate mixtures, doing draw-downs, measuring and repeating until the result was good enough. I started playing around with excel macros and studied how Kubelka-Munk formulae worked. I even realized that there are lots of colorants using the same pigment, but with different strength.
When getting these numbers and some old measurements I built a big excel file with macros, where you just type the pigment data and it would print you instructions what to mix and how much. This saved several days in the process and finally they let me learn Delphi and convert the excel file into a real program.
I wouldn't want to read that code nowadays, but I think they're still using it in the laboratory.
[+] [-] unknown|14 years ago|reply
[deleted]
[+] [-] rockmeamedee|14 years ago|reply