"Writing apps for the Pebble requires a Unix-based machine: either a Mac running 10.7 or 10.8, or an Ubuntu 12.04 box, officially."
bzzt wrong.
Ubuntu isn't UNIX, officially.
Pebble didn’t invent the smartwatch, but it has done more than most to bring the product category to the attention of World+Dog, largely thanks to its hugely successful and well-reported Kickstarter funding campaign. Not only is Pebble’s smartwatch - also called Pebble - the only product of its kind, but it remains one of the …
Ubuntu is Linux based, therefore not Unix.
http://www.unix.org/what_is_unix/flavors_of_unix.html#linux
Much of this revolves around being derived from a licenced Unix origin or having paid to use the Unix trademark.
At the end of the day much of the same tools and functionality is there so it's more of a branding issue.
People normally say Linux is Unix-like, not Unix-based. I don't care about the article, but the comment Justin made is likely to be technically correct.
The best kind of correct.
Well, "If it walks like a duck, quacks like a duck, and looks like a duck, then if not a duck, and if is proceeds the duck then it probably is based on one'. From the kernel README,
"Linux is a Unix clone written from scratch by Linus Torvalds with
assistance from a loosely-knit team of hackers across the Net.
It aims towards POSIX compliance. " (from Linux kernel release 2.0.xx)
I can't swear that Torvalds actually wrote the above, but I'm sure he would have objected if it was incorrect. If something is considered a 'clone' then surely it i based on the original?
SCO's gripe is over code apparently copied from V (I think) to Linux - how's that going - but by a reasonable definition based upon is a perfectly good description.
Think of it this way: Linux is to Unix as Nyetimber sparkling wine is to Champagne. i.e. it may be functionally equivalent, or even better, but can't actually be called Unix, in the same way that Nyetimber sparkling wines can't actually be called Champagnes despite the fact that they are produced identically to Champagne.
If Linux were certified to the Single UNIX Specification, it could legally be called Unix, but to date no one has ever bothered to certify their distro, probably because it is largely immaterial in line real world.
I am not arguing about the right to call Linux Unix. But using your analogy, I would argue that for all practical purposes if the Champagne region got their first and other people copied/cloned, then Sparkling Wines are based on Champagne. That does not mean they use the grapes and/or finished product but just that the philosophy, structure (and in the case of Linux a lot of quite important philosophical decisions, utility management and for want of a better term - APIs) are based on Unix. Torvalds says so, Stallman says so, and while those are of course just opinions, i think they carry weight in the definition of 'based'.
I seem to recall either K or R (most likely Ritchie) saying Linux us a Unix...and he should know.
As an aside: This very publication once published a humor article by Verity Stobb predicting that none of the then vying commercial Unix companies (I would guess 90% are gone now) would win the mindshare war and everyone would just settle on the Linux standard.
It was pretty funny at the time.
Absolutely nothing wrong with your code layout there --- good stuff. I wish some of the code I have to deal with on a day-to-day basis was as clear. (Currently struggling with the GNU coding style, grr.)
Just one minor quibble: is this C or C++? It *looks* like C99 (with the .initialiser syntax in structure definitions), but there are also some things that look like C++isms (such as 'GPoint p = GPoint(1, 2, 3, 4)'.
What's the point of a wrist watch?
Which is easier: looking at your wrist or grabbing at your smartphone to take a look at it? As an extension of the smartphone on your wrist, it's a decent idea. At some point there may be something that will clip on to a pair of glasses to provide a heads-up display, and receive user input through, say, a ring or two on your fingers.
io_uring
is getting more capable, and PREEMPT_RT is going mainstream