Profile cover photo
Profile photo
Sampo Smolander
Sampo's posts

Post has attachment
A simple trick to turn off cursor blink in Qt5 apps

Non-blinking cursor in Atom 1.0.7:

Edit / Open Your Stylesheet

then add:

    atom-text-editor::shadow .cursors .cursor {
      opacity: 1;

(..or just edit the file ~/.atom/styles.less directly)

Post has attachment

Somebody asked for a one-liner to print out all the integers that are in the range of 64bit floating point, but cannot be represented exactly by it (probably asking because Javascript uses 64bit floats for integers).

I wrote the code (although not a one-liner) before stopping to think how long it would run.

Post has attachment
Is the AI winter over?

Openly saying the words "artificial intelligence". And speaking phrases like "I think biology could tell us is just how to ..." and "If we could figure out how biology naturally deals with ..." is again bold, grand science, instead of just wishful thinking? had added 44 papers to my list of publications. None of them were mine, but all of them contained some author from my department.

Pretty annoying. Removed them, otherwise someone might think that I try to be a (very incompetent) crook.

Post has attachment
I think this song is about numerical methods for stiff systems of differential equations.

First: try with explicit forward stepping methods:
"I don't know where I'm goin
but I sure know where I've been"

But they are much too slow:
"I've made up my mind, I ain't wasting no more time"

Try with implicit, iterative methods...
"I keep searching for an answer"

...that are very robust with stiff systems:
"goin' down the only road I've ever known."

Whitesnake - Here I Go Again lyrics

Post has attachment
"mathematicians can be divided into those who like analysis, and those who like algebra."

"all of the analysts are eating corn one way and the algebraists are eating corn another"

" One way was to munch over the length of the corn in a straight line, back up, turn slightly, and do another row across. ... The other way was to go around in a spiral. All of the analysts were eating in spirals, and the algebraists in rows."

"object oriented programming is something that appeals to algebraists"

"Going the other way, if the techniques described in On Lisp appeal, then you might be on the analytic side of the fence and eat your corn in spirals."

"There was a period that I thought that the programming division might be as simple as functional versus object oriented. Then I encountered monads, and I learned that there were functional programmers who clearly were algebraists."

"I wouldn't be surprised to find out that where people fall in the emacs/vi debate is correlated with how they eat corn. I wouldn't predict a very strong correlation, but I'd expect that emacs is likely to appeal to people who would like algebra, and vi to people who like analysis."

Hotel router does give me ip, but no acces to internet. On a hunch I open browser to the router ip, it asks for login, I give something random. It gives a helpful page that wrong password, but informs that the factory login is X and factory password is X. So I try with those, and get to the configuration pages. On another hunch I change the router's static ip to dhcp. The router reboots and: working internet connection.

Post has shared content
Concise list of upcoming +Coursera courses by month

Yesterday, Coursera increased their catalogue to 111 courses from 16 universities. You can find the entire list of courses over at

These courses will soon be added to Class Central's catalogue, but until then here's a list of upcoming Coursera courses categorized by the month they start in.

July 2012 (6)
Fantasy and Science Fiction: The Human Mind, Our Modern World
Internet History, Technology, and Security
Introduction to Finance
Quantum Mechanics and Quantum Computation
Software Engineering for SaaS
Listening to World Music

August 2012 (6)
Algorithms, Part I
Calculus: Single Variable
Machine Learning
Introduction to Sustainability

September 2012 (23)
Bioelectricity: A Quantitative Approach
Mathematical Biostatistics Bootcamp
Computer Architecture
Computing for Data Analysis
Computer Vision: From 3D Reconstruction to Visual Recognition
Securing Digital Democracy
Networks: Friends, Money, and Bytes
Human-Computer Interaction
Heterogeneous Parallel Programming
Introduction to Logic
Introduction to Mathematical Thinking
Model Thinking
Modern & Contemporary American Poetry
Greek and Roman Mythology
Networked Life
Neural Networks for Machine Learning
An Introduction to Operations Management
Probabilistic Graphical Models
Functional Programming Principles in Scala
Learn to Program: The Fundamentals
Social Network Analysis
Statistics One
A History of the World since 1300

October 2012 (6)
Algorithms: Design and Analysis, Part 2
Community Change in Public Health
Design: Creation of Artifacts in Society
An Introduction to Interactive Programming in Python
Principles of Obesity Economics
Vaccine Trials: Methods and Best Practices

November 2012 (4)
Algorithms, Part II
Drugs and the Brain
Introduction to Astronomy
Think Again: How to Reason and Argue

January 2013 (18)
Artificial Intelligence Planning
Astrobiology and the Search for Extraterrestrial Life
Clinical Problem Solving
Contraception: Choices, Culture and Consequences
Galaxies and Cosmology
Critical Thinking in Global Challenges
Cryptography II
Data Analysis
Principles of Economics for Scientists
E-learning and Digital Cultures
An Introduction to the U.S. Food System: Perspectives from Public Health
Chemistry: Concept Development and Application
Grow to Greatness: Smart Growth for Private Businesses, Part I
Health for All Through Primary Care
Introductory Human Physiology
Introduction to Philosophy
Nutrition for Health Promotion and Disease Prevention

February 2013 (4)
Aboriginal Worldviews and Education
Digital Signal Processing
Analytic Combinatorics, Part I
Introduction to Sociology

March 2013 (3)
A Beginner's Guide to Irrational Behavior
Analytic Combinatorics, Part II
Medical Neuroscience

To Be Announced (40)
Algorithms: Design and Analysis, Part 1
Analytical Chemistry
Creative, Serious and Playful Science of Android Apps
Cardiac Arrest, Hypothermia, and Resuscitation Science
Computational Investing, Part I
Computational Photography
Control of Mobile Robots
Computer Science 101
Planet Earth
Fundamentals of Electrical Engineering
Energy 101
Equine Nutrition
Fundamentals of Online Education: Planning and Application
Game Theory
Introduction to Genetics and Evolution
Introduction to Genome Science
Healthcare Innovation and Entrepreneurship
How Things Work 1
Information Security and Risk Management in Context
Introduction à la Programmation Objet (in French)
Know Thyself
The Social Context of Mental Health and Illness
Microeconomics Principles
The Modern World: Global History since 1760
Nanotechnology: The Basics
Basic Behavioral Neurology
Natural Language Processing
Introductory Organic Chemistry - Part 1
Introductory Organic Chemistry - Part 2
Intermediate Organic Chemistry - Part 1
Intermediate Organic Chemistry - Part 2
Learn to Program: Crafting Quality Code
Rationing and Allocating Scarce Medical Resources
Scientific Computing
Computer Vision: The Fundamentals
VLSI CAD:  Logic to Layout
Wait while more posts are being loaded