./watch
(dotslashwatch.com)280 points by shrx 12 hours ago
280 points by shrx 12 hours ago
Cool project, but I also noticed the weird choice of #:~$ as a prompt, it uses almost half the width of the clock screen. And isn't # normally used to denote root shells? I don't think I ever saw it together with $.
My favorite prompt is >: as a callback to the Swan computer in the TV show Lost (not sure if it's also used in early Apple computers).
I couldn't disagree more. I laughed out loud at it!
const sense = new Sense()
sense.humor(true)
> Great hardware design,
Really? It looks like it would be uncomfortable to wear with those screws on the back sitting proud of the surface. Why aren't they countersunk?
Or were you referring only to the electronics?
If you like quartz watches that expose their circuitry, you'll definitely enjoy some of Accutron's watches: https://www.hodinkee.com/articles/introducing-accutron-314
While usually not on display, the quartz movements of Grand Seikos are beautifully finished:
* https://i.imgur.com/sJXfmg1.jpeg
* https://i.imgur.com/BucSW15.jpeg
Accutrons and tuning fork watches are amazing. They have an incredibly unique sound/hum due to the tuning fork oscillating at 360 hz and the most smooth glide you'll ever see in a watch. Recommend a ESA 9162 or ESA 9164 over a pure Accutron for beginners though, a bit more resilient and far more affordable, though they don't have the exposed dial.
you could measure it.
using an app with a Fast Fourier Transform (e.g. https://github.com/woheller69/audio-analyzer-for-android ), you can visually compare the sounds of your watches
imgur makes me sad these days :( https://help.imgur.com/hc/en-us/articles/41592665292443-Imgu...
Interesting idea, but the generic green PCB is a bit of a missed opportunity. Some manufacturers now offer transparent solder masks which emphasize the copper traces and can look really cool with a clean PCB layout.
e.g. https://hackaday.io/project/194683-plasma-toroid-sky-guided-...
It's also becoming possible to have transparent rigid PCBs as of quite recently: https://www.pcbway.com/blog/News/Transparent_Rigid_PCBs_Laun...
Naturally it does mean you can't have a ground pour, so the PCB needs to be designed to look nice with it.
If the idea is this: "Many quartz watches do their best to hide away any electronic components from view. The design concept for this watch was to embrace those digital components instead [...]" then I'd argue this watch that I built fulfils the requirement better: https://blog.jgc.org/2022/12/the-rogers-watch-retro-display-...
I learned the term for such mechanical watches is https://en.wikipedia.org/wiki/Skeleton_watch
I disagree with Wikipedia's definition covering any design where the guts are visible from either side, in my experience "skeleton" always refers specifically to the dial being hollowed out or transparent. When the dial is opaque but the rear is transparent it's usually called an "exhibition caseback" instead.
Agreed, and also most skeleton watches have the actual movement routed out to remove much of the material from bridges and plates, to expose as much gearing as possible.
Nice design.
I’ve been wanting a larger watch than most companies make. I’d like a traditional digital watch. Since I can’t find what I want, I’ve been thinking about building my own. I want to go to about 60mm for the case (across my wrist).
I purchased a Casio G-Shock GA-010 last week but its size is smaller than I anticipated. It’s 52mm.
I’ve also been drafting a document about how I’m using a digital watch to increase my productivity while limiting distractions.
There's also the DIGIduino, an atmega128p design with segmented display. I like the variety of attempts and showing off the circuitboard like the complex movements of mechanical watches.
I do want to dig into how much a battery can be obviated here, there's one watch called the Pulse-o-matic that uses an automatic movement (that is, self-winding) to power an LCD display and associate 'tronics. I am charmed by the idea of wind up electronics now that we have microchips with deep sleep modes and ePaper displays that only need a blip to update.
https://theprintablewatch.com/collections/digital-watch-part...
https://www.hamiltonwatch.com/en-us/h52585339-pulsomatic.htm...
Reminds me of my pebble watchface created 12 years ago: https://youtube.com/shorts/Zv4h8Uyyg1Q
I'm not a watch enthusiast, but i do like the what i'll call old school look and appeal of Casio watches. If Casio hasn't already done so, it feels like they have chances to tap into both nostalgia audiences plus geeks audiences...and this watch - if they were to acquire it - would be awesome! Casio has its decades of manufacturing, distribution and marketing experience, and they get these novel, innovative ideas from others...and if they keep tapping into these geek topics, they could really be that niche maker for geeks - like what Apple products historically have been for creative types...sort of a default purchase for such an audience. (Again, i don't follow this stuff, so its possible they already do this.)
It’s hard to achieve a good screen/case ratio in DIY projects. The screen components are bulky and it’s difficult to fit everything in small enclosures without producing custom boards, mass produced hardware has a ton of advantages there.
It would be cool if someone made a mass produced "watch" that's all the hardware but none of the firmware. So a tiny computer on your wrist that doesn't do anything out of the box, and you can make it do whatever you want. Maybe a watch, maybe something else. It just provides the housing, microcontroller, battery, screen, etc., and an SDK.
Seems unlikely it would fall out of spec by that much just during manufacturing. These things drift due to temperature (or even vibrations) anyway, and when it comes to using them in an RTC you have drift adjustment registers for any major drift from the factory.
Swatch make some delightful and affordable skeleton watches
Yeah the watch command is pretty sweet. sudo watch sensors
The electronics section is a nice read but the software/firmware section is very barebones.
PineTime has a similar watchface,https://blog.krafting.net/wp-content/uploads/2023/09/2023071...
It was unclear for me at least. First I thought it's about a live folder/directory trick, then I thought a video streaming service. I didn't guess clock.
On that point, I see an awful lot of code that uses dotslash as if it was necessary for files in the current directory.
You only need to prepend dotslash to a filename in order of disambiguate invocations of executables in the the current directory (and not a subdirectory).
This is because bare commands will be looked up in $PATH, rather than among executable files in $PWD.
It strikes me as weird copycat (without understanding) programming to just have it wherever you're referring to a local file. In fact I prefer to invoke `bash foo.sh` rather than `mv foo.sh foo; chmod +x foo.sh; ./foo.sh`. (This assumes that I don't need to rely on something special in the shebang line.) This also lets you use tab-completion as normal, as well as adding flags for bash like -x.
(I know you could use it for clarity when an argument could look like a string or a file, but I don't think that's usuaully the purpose.)
One issue is when the path is not interpreted by the shell but by a program which plays by different rules.
For example in Go:
$ cd /path/to/go/repo
$ go run cmd/myapp
package cmd/myapp is not in std (/usr/local/go/src/cmd/myapp)
$ go run ./cmd/myapp
Hello, World!
And then people don't want to think about when your path is for the shell and when it's a CLI param and how the CLI treats it, and just use the version that always works.That’s because cmd/myapp is not a local path, it’s a universal path. It makes more sense when you type go run github.com/user/name/cmd/myapp
This allows it to disambiguate between system path syntax and the language's syntax for symbolic names.
Similarly, package installers can use this to disambiguate between "install the local file with this exact name" and "look up a file on the index for the named package".
This is one of the papercuts of go that I find way more annoying than is rational.
At the start of a line? So you want to run a script or executable in the current directory. PATH doesn’t contain . and ./ is necessary.
As an argument in a line? My shell offers completion from the current directory without ./ just fine.
Makes it clear you're naming a directory and not a file.
I also alias 'ls' to 'ls -F' so that directories have a / appended, makes it easier to understand the output.
It's handy when the directory might not exist, happens all the time in git checkouts. Raise your hand if you've ever moved something to tmp and created a file called tmp.
Usually it's tab-complete adding the slash though, I don't go typing it in.
> taking inspiration from command-line interfaces
IMO the take away from command-line interfaces is compact, precise and minimal design. In a transitional shell prompt like #~$, each character has its meaning. Merely copying these symbols to a watch face is the exact opposite spirit of command like interfaces.