-
A Mailserver on Ubuntu 18.04: Postfix, Dovecot, MySQL
This long post contains a recipe for building a reasonably secure Ubuntu 18.04 mail server in Amazon Web Services, using Postfix, Dovecot, and MySQL, with anti-spam packages in the form of amavisd-new, Clam AntiVirus, SpamAssassin, and Postgrey. Let's Encrypt is used to provide an automatically renewing SSL certificate. Local users are virtual rather than being system users. Administration of users and domains is achieved through the Postfix Admin web interface. Webmail is provided by Roundcube. This is an updated version of earlier Ubuntu 12.04, Ubuntu 14.04, and Ubuntu 16.04 mailserver recipes. A number of people graciously helped to fix bugs and make improvements in the original, so should you find a blocking issue here please do let me know. Introduction Building a Linux mailserver from […]
-
Set Up a Small Lab Earlier Rather than Later, it Will Pay Back the Investment
A biotech company usually starts with the idea phase. Most of the work there is a matter of validation, involving a great deal of reading, searching the literature for related projects, reaching out to scientists in the field, engaging lawyers to investigate the patent landscape, and other items unrelated to laboratory work. Once that is done, it is a definitely a good idea to hire a scientist or two prior to engaging one or more CROs to carry out early stage laboratory work. Effectively managing the relationship with a CRO, particularly when projects have a high chance of failure due to unknown factors, really does require a scientist with a deep knowledge of the details. Projects undertaken with a CRO can be high friction when, […]
-
Hire a Scientist or Two Before Your Biotechnology Startup Engages a CRO
Few new biotechnology startups carry out their initial work in house. Indeed, such new companies probably don't yet possess the laboratory, equipment, and staff required top carry out that work themselves. If the company emerged directly from a research group, led by a scientist-entrepreneur, then the founders may work with a university laboratory initially, even though it is painfully expensive to work with universities. Startups founded by non-scientists, licensing life science intellectual property from the universities or picking up abandoned work from the public domain, will tend to hire one or more contract research organizations (CROs) for the early work of replication and exploration. If carried out sensibly, the use of a CRO offers a better risk and cost profile than the alternative of building […]
-
In Biotech Development, Initial Setup is Always the Slow and Expensive Part
Exploratory development in any given field of interest tends to become cheaper and easier as it progresses in a biotechnology company. This is not really driven by the team gaining experience, even though that is important for any number of other reasons, but rather because in the later stages of a project, more of the essential components of development have already been set up, and it is the setup cost that is largest in time and funding. In any given line of development, a team might need cell lines, reagents, specific experimental procedures in cells and mice, the use of novel equipment, and so forth. Anything a team has already carried out and reduced to practice can be accomplished again with modest incremental effort, but […]
-
Life Science Development as an Unending Comedy of Delays
Few things are as satisfying to behold as a neatly formatted Gannt chart for a life science study; all of the interlocking pieces of modern biotechnology as it is practiced; the ordering of reagents and mice, preparation of cells, management of equipment, scheduling of researchers, and so forth. It is usually the case that a considerable amount of reading, discussion, and negotiation goes into the preparation of a study and its accompanying schedule. There is the feeling of having accomplished something to get to the end of that planning and have the proposal represented in Gannt form. Which is fair enough - planning can be hard work. Just don't for a moment imagine that in reality things will happen as neatly as is described in […]
-
Delay the Scientific Advisory Board
Are you toiling on the early stages of building out a medical biotechnology startup? You may well be thinking about populating a scientific advisory board. By all means think about it - it is important in the longer term. Look for potential members, make connections, talk to the scientific community. But delay, delay, delay, on actually making anything official. Why do I say this? The primary reason is that a scientific advisory board must be aligned with the indication or indications that you intend to pursue with regulators. Many founders feel a certain sense of urgency to have the public blessing of noted authorities, in the belief that it will sway investor sentiment. Yet you will already be associated with the scientists needed for credibility […]
-
The Nebulous Space Between Proof by Contradiction and Occam's Razor
There are sizable parts of our understanding of the universe in which proof and disproof become a little less rigorous than is the case within the heavily worked core of physics and mathematics. For example, the question of faster than light transmission of information or the various proposed methods of faster than light travel that involve large amounts of negative energy, the most modern unobtanium. FTL of any sort appears implausible because any significant application can be used to engineer temporal paradoxes, ranging from receiving the reply to a missive before it was composed, very useful in breaking all bounds of computation, all way up to preventing your grandfather from marrying, very useful in breaking causality. Causality (probably) doesn't yet emerge naturally from low-level physics. […]
-
Penetrating the Mysteries
In an earlier post on interviewing, I discussed the spark, the core of the ability to be a professional software engineer. I define it as the capacity to work effectively with never before encountered situations and challenges, a talent connected to self-directed learning that is largely independent of language, domain knowledge, type of problem, and so forth. Only largely independent, however, not completely independent. A certain minimum level of understanding of the fundamentals of software and computation is required in order for even the most talented problem solver to actually solve problems. Thus when interviewing less experienced developers, it is worth bearing in mind an important dividing line in the early development of a software engineer. This is the point at which an individual penetrates […]
-
Elasticsearch: Adjusting Merge Settings to Make Frequent Updates Less Painful
The character of an Elasticsearch cluster, and the amount of work and level of expertise needed to keep it running smoothly, is largely determined by the frequency of updates. Applying an update to a document actually takes the form of flagging the existed document as deleted, and adding a new document. Every deleted document adds to the size of shards, and thus also the amount of memory and processing time required for Elasticsearch nodes to service requests. Enough deleted documents and garbage collection and response time spikes become a serious issue. A fifty node Elasticsearch cluster in which the data is static is much easier to maintain than a ten node cluster in which 10% of the documents are updated every week. Merging and Merge […]
-
The Easiest Javascript Modal for Administrative Pages in WordPress 4.*
WordPress is so widely used, and there is so much documentation and discussion, that for some topics it can be a little challenging to wade through the years of code snippets to find the exact use case needed. In my case, in the midst of working on a plugin, I suddenly found the unexpected need for a trivial modal dialog to be added to a specific administrative page. WordPress and modals have an interesting relationship; there are all sorts of plugins and guides for integrating various modal implementations, but none of them are exactly lightweight, something you can run up in a few minutes of work. That niche in the ecosystem is occupied by the built-in use of Thickbox, widely used by plugin developers, despite […]