The whole language examples seem pretty rational, and I'm especially pleased / shocked by the `loop / repeat 5` examples. I love the idea of having syntax support for "maximum number of iterations", eg:
...obviously not trying to start any holy wars around exceptions (which don't seem supported) or exponential backoff (or whatever), but I guess I'm kindof shocked that I haven't seen any other languages support what seems like an obvious syntax feature.
I guess you could easily emulate it with `for x in range(3): ...break`, but `repeat 3: ...break` feels a bit more like that `print("-"*80)` feature but for loops.
Couldn't you "just" use a webcam to scan any particular cube? Seems like you could "easily" detect when you've seen all 6 unique faces and there should be libraries around that will read cubes.
Thanks!
You absolutely could just use the webcam and identify the faces on the cube - I just thought my bluetooth cube would be cooler to integrate but there's not much stopping me from adding that in.
I had the cube for a little while but I struggled to decode the messages for a long time, so I made a little npm package based off of the work from CsTimer.
Here's the package: https://www.npmjs.com/package/gan-i3-356-bluetooth
1000% yes! An 8.5x11" paper is effectively a 12" ruler accurate to 2 decimal places.
Fold an 8.5" into a square (right triangle) and the long edge is exactly 12.02"
Fold that in half and you can measure 6.01", and 3.005" (exactly). You get 1.5" for free, and can fairly accurately get exactly 1" by rolling the other 3" side into thirds.
If you want to get an exact 1", you can technically get there via 11"-8.5"-1.5", and that gives you the full imperial (fractional) measurement basis, all from folding a (presumably accurate) 8.5x11" piece of paper.
References were Racket with the Racklog library¹. There's also Datalog² and MiniKanren, picat, flix. There were tons of good comments there which you should check out, but PySwip seemed like "the right thing" when I was looking at it: https://github.com/yuce/pyswip/
...documentation is extremely sparse, and assumes you already know prolog, but here's a slightly better example of kindof the utility of it:
# ya don't really care how this works
prolog.consult("diabetes_risk.pl")
# ...but you can query into it!
query = "at_risk_for_diabetes(Person)"
results = list(prolog.query(query))
...the point being there's sometimes some sort of "logic calculation that you wish could be some sort of regex", and I always think of prolog as "regexes for logic".
One time I wished I could use prolog was trying to figure the best match between video file, format, bitrate, browser, playback plugin... or if you've seen https://pcpartpicker.com/list/ ...being able to "just" encode all the constraints, and say something like:
...this is a terribly syntactically incorrect example, but you could imagine that this would be horrific code to maintain in python (and sqrt(horrific) to maintain in prolog), but _that's_ the benefit! You can take a well-defined portion and kindof sqrt(...) the maintenance cost, at the expense of 1.5x'ing the number of programming languages you need to expect people to know.
Exactly the killer use-case for pebble! It's "blue-toothy" range, so it'll mostly work in adjacent rooms but might have difficulty going diagonally upstairs v. downstairs, or ranging too far outside.
IIRC, pebble had a "vibrate on BT-loss", which could remind you to go retrieve the phone when ranging outside to rake leaves (or forgetting your phone in a restaurant or something).
Nope, some are touch screen only or with only 1-2 buttons. The Garmin's with 5 buttons (eg: Forerunner 55 at ~$170) are decent once you get used to the button-mechanisms, but pebble's UX for "productivity notifications" has always been top-tier.
I seriously cannot understand how to see old notifications on my Garmin. On the Pebble it was just "scroll up" (or down, I don't remember). But on the Garmin it's like multiple button pushes, and even then the list of notifications is not complete. I basically figure if I don't see a notification when it comes in I won't be able to find it in the Garmin's history.
Appreciate the help! That contains some notifications, but not all. For example, none of my text messages or emails are there. It's mostly a bunch of alerts from my security system/cameras, for some reason.
Garmin Lily 2 Classic (shazam!). Certain Venu and VivoActive seem like 1-button or 2-button.
And also by "touch screen only", I mean like: "can you set an alarm with the buttons like a CASIO from 1982?" ...if you have to use the touch-screen for swiping like a monkey in a one square inch area to set (or turn on) an alarm, then the watch "doesn't have buttons" IMHO.
Pebble had Up/Ok/Down on the right side, and "Android-Back" on the lower-left. So you just generally navigated tree-like menus, and you could set shortcuts to long-presses of up/ok/down (ie: start/request Uber, next train from nearest station, music controls).
I can't wait to have it again, as while Apple says "you don't need to be tied to your phone!" with their watches, Pebble actually delivered on it. You still needed your phone nearby or in bluetooth range, but you could comfortably "leave it" on the table, or in the bedroom or whatever and not worry about missing an important phone call, and still get "just enough" connectivity to drip out of the internet that you didn't need your phone unless you were transitioning into "using your phone for a task".
I'm very minorly into watches and $200 is very "mid/base" for watches.
My most expensive watch is a Fenix7 (used) @ $300. Then ~$150 for a "Svalbard" single hand automatic (winding) watch, and a smattering of "$50-80, used off eBay" watches.
I had two (used) pebble watches back in the day, pre-ordered the PT2 before they went bankrupt, and have preordered the "new" PT2 (at ~$200 price range).
Freaking Timex Expedition is costing $60-80 on sale nowadays. No smart stuff, just "chunky Casio vibes" and it's $80. Timex "Transcend" is a fun one in the $100 price range.
Apple Watch SE is $250, and all the re-pebbles are $200 price range? Color me impressed!
I hate to say that Pebble Round 2 is "almost an impulse buy" (prior to Time2 shipping), but there are occasions (eg: last night) where my Garmin was out of battery, I went to a friends house, so I pulled out my slightly fancier round-dial analog watch.
The fact that pebble is hitting $200 price points is actually an incredible (and hopefully sustainable!) value for what they offer!
nice, so i'm not the only one with a single hand Svalbard watch :D one day i thought "i wonder if there's a watch with one hand and 24h", pretty soon landed on the Svalbard website and ordered one. i must say that i rarely wear it as it's pretty hard to get an accurate time reading from it, which kind of defeats the whole purpose of a watch.
I call it my "weekend watch". Specifically taking off the "notifications" watch, a few quick turns to "take the approximate time" with me and it's perfect! I have the 12hr (not 24hr) which effectively gives you "metric" minute markings (10 min increments instead of 15/5). https://svalbard.watch/pages/Svalbard_Gauge_FK21.html
My next "grail" watch is something pilot-y, with inverted hour/minute markings (ie: 55m on the outer rim of the face/dial, 12h on the inner), eg: search "Laco Men's Pilot Aachen Automatic Watch", but obviously not that expensive. I just can't justify "yet another watch" and since getting the garmin (w/ sleep tracking, heart-rate, and notifications) it's even less justifiable.
Ah I see, your model gives more details in a simple way. The one I bought is veeery barebones[0], I basically have to stop what I'm doing and look at the watch for a couple of seconds to figure out approximately what time it is...
> I just can't justify "yet another watch"
Same, there's a watch I find absolutely beautiful[1] since years, but it costs around 3.5k, could never justify spending that much for a watch.
The other two watches you posted are interesting, fun to meet another person who likes cheap and/but quirky watches. Took longer than I'd like to admit to understand how the SHENGKE works :D
Since getting my RePebble a couple weeks ago I haven't worn another watch.
I change my Garmin watchface to be something different during nights/weekends, as a reminder that I'm off the clock. I hope that Eric offers a way to automate this in PebbleOS!
Indeed, and thanks for flagging the 'disable wrist backlight trigger' in sleep mode as well. I like that Garmin does this. It's nice to use Pebble as a dim light when stumbling around in the dark, but it's easy enough to press a button to turn on.
> Apple Watch SE is $250, and all the re-pebbles are $200 price range? Color me impressed!
I have wondered why Eric didn't price them higher, and I think it comes down to wanting to make sure there is sufficient demand to justify production runs, and staving off competition that could front-run him and use his open source software too.
I am genuinely curious to see what competition emerges, and how long it takes to appear.
"Instant Hot" is a tap you can install that's like a mini-thermos/water heater to give you some amount of "instant hot" water.
There's a decent caled a "pot watcher" (aka: boiling-rattler) that is a mechanical "hey, it's boiling" indicator.
Anytime I'm cooking or thinking of cooking, I'll always throw water into the tea kettle (countertop boiler) and start it off, for exactly the reasons stated.
I'm very thumbs up (and already follow) almost all of his advice, including the "use two boiling elements to get water boiling faster".
How much time when cooking do you spend waiting for water to boil when not doing something else? For me it’s zero. And if for some reason it wasn’t zero that means I’m cooking leisurely and don’t much care about time.
Are you the poker Matt Maroon? If so, I've been enjoying your writing for a very long time.
I definitely don't sit around doing nothing when I'm waiting for water to boil, but very often the water is still on the critical path (e.g., because I want the pasta to be done ASAP even if other things aren't done yet, or because it's on the critical path even if I can use all that time efficiently).
function abc() {
let a = 1
{
let b = 2
}
console.log(typeof a)
console.log(typeof b)
}
abc()
Used to do this occasionally for exactly the same reasons- don't leave dangling variables junking up your scope, and don't make weirdo functions with parameter passing that you'll only ever call once!
I guess you could easily emulate it with `for x in range(3): ...break`, but `repeat 3: ...break` feels a bit more like that `print("-"*80)` feature but for loops.
reply