devel   4742

« earlier    

Mixins and Python - Ian Lewis |
The correct way to use mixins is like in the reverse order:
<code class="language-python">class MyClass(Mixin2, Mixin1, BaseClass):

This kind of looks counter-intuitive at first because most people would read a top-down class hierarchy from left to right but if you include the class you are defining, you can read correctly up the class hierarchy (MyClass => Mixin2 => Mixin1 => BaseClass. If you define your classes this way you won't have to many conflicts and run into too many bugs.
python  mixins  multipleinheritance  mro  reference  newbie  devel 
13 days ago by kme
The myths of bioinformatics software | Bits of DNA |
If you make your software free for commercial use, you are effectively creating a subsidy for companies, one that is funded by your university / your grants. You are a corporate hero! Congratulations! You have found a loophole for transferring scarce public money to the private sector. If you’ve licensed your software with BSD you’ve added another subsidy: a company using your software doesn’t have any reason to share their work with the academic community. There are two reasons why you might want to reconsider offering such subsidies. First, by denying yourself potential profits from sale of your software to industry, you are definitively removing any incentive for future development/maintenance of the software by yourself or future graduate students. Most bioinformatics software, when sold commercially, costs a few thousand dollars. This is a rounding error for companies developing cancer or other drugs at the cost of a billion dollars per drug and a tractable proposition even for startups, yet the money will make a real difference to you three years out from your Ph.D. when you’re earning a postdoc salary.
licensing  bioinformatics  devel  software  myths  debunked 
14 days ago by kme

« earlier    

related tags

10  abi  ace  advice  algorithms  alternativeto  android  annoyance  api  app  aslr  assert  assertj  auth  bestpractices  bioinformatics  boilerplate  book  books  bower  build  butwhy  cd  centos  centos7  checkers  ci  classloader  classloading  cli  cloud  cloud9  cluster  cmake  code  coding  commandline  communication  community  competition  compiler  components  cplusplus  cs  css  culture  cxxtest  dammitbrain  dba  debian  debunked  dependencymanagement  deps  devops  devtools  dice  diff  diy  docker  doingtherightthing  drupal  ebook  editor  es6  essential  exceptionhandling  explained  firstaid  fluent  forhumans  framework  fromsource  frontend  ghc  git  github  glibc  gui  haskell  help  howto  html  humans  humor  ide  imports  inclusivity  indexing  inheritance  ios  jar  jarclassloader  java  java9  javascript  jboss  jdk  jdk10  jetbrains  js  jsx  jsx2js  julia  junit  kernel  kotlin  kpti  kubernetes  library  licensing  limit  linux  map  mdns  meltdown  minikube  mixins  mobile  module  modules  mooc  mozilla  mro  multipleinheritance  mysql  myths  needshelp  newbie  nonfree  notcoolanymore  npm  ohnoes  one-jar  oop  oops  opencv  openjdk  oracle  packagemanager  packaging  patch  perl  perl5lib  picketlink  primarykey  printing  printjs  programming  projectmanagement  python  qt  react  recommendations  redux  reference  relativeimports  remarkable  rename-limit  rename  rollyourown  rule  samplecode  sarcasm  schroot  scm  single  snippet  software  solution  sourcecode  spectre  sql  srpm  systems  tech  template  test  testing  tipsandtricks  toolchain  triggers  tutorial  unix  utility  versioncontrol  video  visualization  web  webdevel  wherefrom  whereis  workaround  xs  yum 

Copy this bookmark: