mkettn's comments

mkettn | 6 years ago | on: Ask HN: What are some examples of good database schema designs?

10 years ago, I'd said "at least third normal form"... but today: Whatever gets the job done. When the application is not really dependent on weird queries (e.g. just a blog), screw the normal forms and design your schema to use the least number of queries for a certain task. Nobody understands three lines of code of queries with left and right joins.

On the other hand, if your bookkeeping application uses a database try to keep things as tidy as possible.

mkettn | 6 years ago | on: Surf industry paradox: Surfing, by its nature, contradicts basic capitalism

No it doesn't. Surfing had it's boom and bust and now is a normal sport/hobby like skiing or everything else.

In the future one could also argue: tech industry contradicts basic capitalism: nowadays anybody has a smartphone, the phones cannot get any better, and everyone takes care of their smartphone because they don't want to pay alot money for a new one.

mkettn | 6 years ago | on: Ask HN: What Skills to Acquire in 2020?

on my reading list so far: D. Huff et al - How to Lie with Statistics J. Ellenberg - How Not to Be Wrong: The Power of Mathematical Thinking

IIRC Bill Gates recommended them.

mkettn | 6 years ago | on: Ask HN: What Skills to Acquire in 2020?

I see a lot phrases like "studies show that" these days. Somehow in our science-based, sophisticated society everybody likes to throw studies at each other to prove their own narrative. But I don't understand them. I am not that statistical illiterate, I know the difference of mean, mode and median and stdev (and when to use what). When I dig deeper into one study I'll find hypothesis testing methods like p-values, r^2 and whatever ("our hypothesis was proven because p > 0.9"). But here my knowledge ends. If p>0.9 is that good? or did they just tune the data to get that high p-values? or is the whole method garbage and the study could not get replicated with the same p value? And I want to know how to cheat with statistics, because since these studies are made by people, whom might get paid to prove a certain point (e.g. "My institute gets paid by Mars, hence I'll downplay the effects on health of sugar in daily nutrition and amplify the positives effects of <some chemical found in chocolate>"). or they just want to show significance for their research, because they worked the last 10 years on it and it's "their baby".

mkettn | 6 years ago | on: The Light Phone

That is a nice take on digital minimalism, but in my opinion you could also just delete most of the attention-sink-apps and enable black-and-white-screen on the smart phone you're currently using, instead of buying yet another device.

mkettn | 6 years ago | on: REST Is the New Soap

I've never understood all this excitement about REST. If you need a special service, just code a small shell program and register it at /etc/inetd.conf. if you need security, pipe your text file thru OpenSSL/pgp or use ssh instead.

mkettn | 6 years ago | on: Marc Benioff: We Need a New Capitalism

>You need the right inventives to tackle these challenges. And frankly governments need to reduce the friction in terms of money allocation and regulations to get things done.

Churches did this in the past (with all the bad side effects). But I guess in more secular regions government needs jump in (with all the bad side effects).

mkettn | 6 years ago | on: Fairphone 3 Teardown

What about the software side? Fairphone 3 supports Android 9, Fairphone 2 supports Android 7. I see no use in a smartphone with replaceble hardware parts if I cannot install at least security patches for my phones OS on the long run.

mkettn | 6 years ago | on: C++ Patterns: The Badge

whats the advantage over declaring register_device as a functor object from an anon class? for example:

  class Device;
  class VFS {
  public:
   class {
   friend Device;
   void operator()(int y) {/* do stuff with y here*/}}     register_device;
  };
  class Device {
  public:
   void foo(VFS fs) {
    fs.register_device(1);
   }
  };
  
  int main(int argc, char *argv[]) {
  // fails:
  // VFS().register_device(2);
  // works:
   Device().foo(VFS());
   return 0;
  }
and no need for a badge class (erm... well but an anon class).

my c++ skills are a bit rusty, because most of the time python works just fine.

mkettn | 7 years ago | on: De-Google-Ify Internet

At least Google and Apple are big contributors to open source software (e.g. Chromium, CUPS). Instead of roasting big companies (because... privacy?) we should work together. This picture does more harm, because it view companies purely as enemies.

mkettn | 7 years ago | on: Absolute Beginner's Guide to Emacs (2012)

tramp supports a great amount of protocols, but only ssh is on active support. I worked in a greater company for a while and used it to access remote files shared via windows file sharing (smb). It worked a long time but then server update came, next smbclient update came and at last tramp update came... hindering me in my workflow for a couple of month.

mkettn | 7 years ago | on: Glyphosate perturbs the gut microbiota of honey bees

Figure 1 looks weird. At day 0 the ranges for the bacterias in the evaluated groups (C, G-5, G-10) differ a lot - Is this noise? Why? If i interpret this graphic right the study did find bacteria changes at lower levels of glyphosate(G-5), but not at higher levels of glyphosate expose (G-10). I am no bee expert but I doubt that bees normally eat sugar syrup all day - which also will contribute to the weird stuff happening in the C-group in comparision from day 0 to 3.
page 1