June 26, 2017

On Brain Teasers at Job Interviews

Filed under: Philosophy — dvd @ 9:54 pm

I went to a few job interviews during past weeks. Most interviewers asked me to tell about problems I had solved, and to suggest a solution to a problem they really needed to solve. Some though offered me to solve brain teasers — problems they (or others) invented to test candidates. I solved most, but I felt bad about it. I can imagine many bright candidates who would fail an interview because of brain teasers.

Brain teasers are wrong — that’s my gut feeling, but I had hard time finding an argument to support my gut feeling. Now I have one. Here is the story of a 250 years old job interview.
(more…)

June 12, 2017

Social pal-based authentication

Filed under: Computer Science, Cup of coffee — dvd @ 8:01 am

We can make multi-factor authentication actually work by relying on human’s unparalleled ability to recognize acquaintances and detect impersonators.

Multi-factor authentication, a mechanism where the user provides two or more loosely coupled evidences of their identity, has become ubiquitous in access management of computer systems. Compared to a single factor authentication, no single piece of information about the user is sufficient for authentication, and account take-over requires obtaining multiple kinds of information about the user.

However, known multi-factor authentication schemes rely on a single user’s knowledge, possession, and inherence. Consequently, while breaking multi-factor authentication is harder than breaking single-factor, password or key based, authentication, it still requires access to a single entity only.

(more…)

February 15, 2017

Field hospital

Filed under: Software Development — dvd @ 8:38 am

Saving a failing software project is like working in a field hospital. You may know how to do it the right way but do not have time. There are two choices:

  • doing it quick and dirty;
  • starting over, cutting down, and still doing it right.

Quick and dirty is like giving up on antiseptics. The patient will die anyway, flesh rotting from infection. But you “did everything you could”.

Starting over is like giving up on anesthesia. It’s hard and unpleasant. But the software project has a chance to get back on track.

It’s not a choice how to save the project. It’s a choice whether to save the project or to cover your neck (neck is an euphemism).

On personal hygiene

Filed under: Software Development — dvd @ 8:00 am

Writing unit tests is like washing hands after going to the toilets. If you don’t, you both get bugs and worms, and also put others in danger. The only remedy is to stay away from you, as far as possible.

October 7, 2016

anglican.ml

Filed under: Computer Science, Machine Learning — dvd @ 4:14 pm

http://anglican.ml/, the proper domain for the Anglican way of machine learning.

March 28, 2016

Software development paradigms

Filed under: Software Development — dvd @ 11:00 pm

There are only two software development paradigms: test-driven development and bug-driven development.

  • Test-driven development results in programs which work well.
  • Bug-driven development results in programmers which work hard.

October 8, 2015

Immanuel Kant and Probability

Kant said: there are two a priori intuitions — space and time. There are also categories, and “the number of the categories in each class is always the same, namely, three”, like unity-plurality-modality, or possibility-existence-necessity. It would be fun to have three a priori intuitions, but only two exist, sigh. Really though?
(more…)

June 17, 2015

Imagine: eNapkin

Filed under: Cup of coffee — dvd @ 10:01 am

Imagine that you have a great idea. You write it down on a napkin, show to your colleagues, they photograph the napkin with their smartphones, and will get back to you with investment proposals.

Now, what if instead of a napkin one of your colleagues has a laptop or a tablet handy? (more…)

Imagine: Shopping Selflist

Filed under: Cup of coffee — dvd @ 12:03 am

Imagine

  • a client on an old tablet or laptop in your kitchen, (sitting on the fridge and also holding a recipe book),
  • and a server serving a web page with shopping check list, automatically updated, to a mobile app.

Every time you run out of something (eggs, sugar, tea, …), you add this thing to the list of ‘missing’ goods (lookup/predictive input make adding easier). When you go shopping, whatever you added is in the shopping list, when you buy, you cross out the entry.

A background knowledge module knows how to measure different things (sugar in kg or packets, eggs are counted, etc.), and suggests default amounts to buy. If you have to buy too often, the amount is automatically increased.

June 16, 2015

Imagine: Book Worm

Filed under: Cup of coffee — dvd @ 11:20 pm

Imagine: a web app that sits on a collection of ebooks, shows the user a paragraph from a book, and asks the user whether they want

  1. get (buy) the whole book to read;
  2. read another paragraph from this book;
  3. read a paragraph from a similar book;
  4. read a paragraph from a different book.

The app can remember user’s past history to adjust suggestions. How paragraphs, similar, and different books are chosen is an interesting question.

For testing/development, free text repositories are available, for example, Project Gutenberg, but also many others.

Older Posts »

Powered by WordPress