So you’re writing your brilliant thesis in LaTeX, and very probably you are converting your figures and images to EPSfiles. That’s what I did, because nothing else would… you know… work.
Problem:
I deleted the originals. I figured “Meh, it’s just a format conversion I can convert it to anything later.” That was apparently wrong. I have all these figures, and for some reason this journal I submitting them to wants them in the most bizarre format (write your document in word, include all figures as separate files in CMYK format as TIFF files). That may not sound bizarre, but it’s very bizarre to me. I blame it being a bioengineering journal and I am used to computer science journals (who almost uniformly want LaTeX and pdf documents).
Anyway, I have been unable to convert these figures out of EPS to anything. I don’t know why. I guess if I had Photoshop I might be able to, but nothing I’ve tried can perform the task. ImageMagick pretends to, but I just get blank (but correctly sized???) images.
Moral: Keep your original files when you convert to eps. You’ll need them later. Regenerating them is a huge waste of time and in some instances may be impossible.
Everyone is blogging about Domain Specific Languages these days. Even beyond DSLs there are a lot of languages these days to care about. C++, C#, VB, ASP.NET, Java, Ruby, Python, PHP. The list goes on and on! Programmers need to know more languages than even the most freakish polyglot savant.
Sometimes we like this. This is where DSLs come in. Sometimes it’s so much easier to express a concept in one language than another, especially if your language was designed for one specific task. But it’s becoming next to impossible to use all these different languages simultaneously without a huge amount of glue code being written.
Have you ever been to a multilingual house? People change languages in mid-sentence, using words which more closely reflect the concept they’re trying to communicate regardless of its language. They use words which come more easily to them.
Imaging being able to choose your language in mid-program, in mid-method even. Yes, projects like Ruby on the JVM and on the .NET CLR and similar languages on virtual machines are nice, but trying to bridge the JVM to the .NET CLR or, heaven forbid, native code is painful at best. We have all these languages, but sometimes we have extant code which needs to be utilized. This is still very difficult to do.
Maybe all the old code will have to die. It lacks metadata. It’s much closer to the hardware than anything running in a virtual machine. Can a virtual machine expose enough functionality that we no longer need to drop down below it to do nitty gritty things?
My perspective is warped I suppose, I have to interface with hardware components. Actual real-world hardware components, and it is terribly annoying. What’s more annoying is I know how difficult the problem is.
I hate when I only have problems and no solutions.