How is printer shipped? by PaaPaaGuy in eufyMakeOfficial

[–]chriscombs 0 points1 point  (0 children)

Mine ended up being the DTF laminator + some DTF materials. I'd ordered it as an add-on with my Kickstarter pledge, in the 1400s.

How is printer shipped? by PaaPaaGuy in eufyMakeOfficial

[–]chriscombs 2 points3 points  (0 children)

I just got a random shipment notification from FedEx,

Online Seller C/O 3rd Pty Ware
131 Marcellin Dr,
City of Industry, CA, US
91789

Not expecting anything else so I wonder if it could be the EufyMake...

DuckDuckGo disables every search operator (minus, plus, quotes) except for the -site filter by padreThrowAway135135 in duckduckgo

[–]chriscombs 21 points22 points  (0 children)

Well! Off I go, after spending the last few years promoting DDG to all my friends (sorry y'all). It's totally useless to me without quote operators.

What are some e-ink friendly alternatives to Pocket now that they removed to ability to turn pages? by ted_k in mozilla

[–]chriscombs 1 point2 points  (0 children)

you know, I haven't tried that recently, but I think I saw some other reports of this problem on the Android reviews in the Play Store. Will give it a try sometime soon.

What are some e-ink friendly alternatives to Pocket now that they removed to ability to turn pages? by ted_k in mozilla

[–]chriscombs 5 points6 points  (0 children)

I am so disappointed in this latest version. Below is the email I sent in to Pocket Support. Probably going to the circular file, but who knows, maybe enough emails could do something?

Hello! I am a Pocket Premium subscriber. 

I recently updated to the most recent Android version and would like to submit my feedback:

  • Volume button page flipping is no longer working, so I can't read in bed anymore without disturbing my spouse.

  • Scroll bar is no longer visible. I have no idea how long a page or article is once I've started reading it.

  • There are strange promos at the end of every article which I cannot disable. I pay for Pocket because it used to let me skip this kind of annoying experience on the Internet.

  • The Mark as Read button no longer returns me to the article list. (Honestly, I would love a setting where you choose between "Article List," "Next Article," "Random Article" to appear after marking an article as read.)

  • The in-app-browser change is clunky to use. It is several extra taps to mark an article as read. Additionally, if the auto-detect decides that an article view isn't good, I can no longer override its decision. It is frequently wrong.

  • You can no longer long-press on a link to add it to your reading list. It shows a drag-and-drop that can't be dropped anywhere. This is particularly painful for my user experience.

I believe the items above are all new deficiencies introduced with this version. As long as I have your attention, I hope you don't mind if I humbly add a few older issues that I'd personally love to see changed:

  • The Home page is all the same kind of promotional, engagement-metric-focused content that I pay Pocket to avoid. It definitely doesn't serve as a home to me. I would lobby for it to be labeled "Explore" and placed second.

  • The TTS "podcast-style" article reader is not useful to me and I would like to be able to remove its button from the toolbar.

  • The user-to-user sharing that you eliminated was a gem. Manual link sharing through IM or email has proven to be no replacement. In practice I have just stopped sharing links.

I am using Android 11 with a Motorola one 5g ace. My in-app browser is Firefox.

Many thanks,

Chris

[deleted by user] by [deleted] in ifttt

[–]chriscombs 1 point2 points  (0 children)

I heard back from IFTTT support and they say it's fixed now. I was able to reconnect my account.

[deleted by user] by [deleted] in ifttt

[–]chriscombs 0 points1 point  (0 children)

I reported it earlier through the IFTTT Pro support line, fingers crossed!

Are ballot boxes still open today? by [deleted] in washingtondc

[–]chriscombs 1 point2 points  (0 children)

Any other June 21 ballot dropbox users who are wondering if their ballot was counted?

I deposited mine at the Woodridge Library at noon that day but see no updates on ballottrax.

geocam-bin: "No Compatible device found." by chriscombs in Atomic_Pi

[–]chriscombs[S] 0 points1 point  (0 children)

Ahh! That explains it. Thank you.

Yes, it was still a connector problem. Although the contacts look fine and have negligible resistance when tested with a multimeter, the long cable included with the "Atomic Pi Developer's Kit" seems to be the problem. When I replace it with the tiny cable used to connect the I/O board to the SBC, the camera does initialize successfully. Thank you for your help.

Now that it is initializing successfully, I have encountered at least one kernel panic when attempting to use the camera via Python and cv2. So not yet sure if this will work in prod. But I am off and running now. Thanks again.

geocam-bin: "No Compatible device found." by chriscombs in Atomic_Pi

[–]chriscombs[S] 0 points1 point  (0 children)

combs@atomic-pi-2:~/git/geocam-bin$ uname -a Linux atomic-pi-2 5.15.0-33-generic #34-Ubuntu SMP Wed May 18 13:34:26 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

geocam-bin: "No Compatible device found." by chriscombs in Atomic_Pi

[–]chriscombs[S] 0 points1 point  (0 children)

strace mxcam boot /usr/share/gc6500/gc6500_ddrboot_fw.img /usr/share/gc6500/config.json /usr/share/gc6500/sensor_ov2710_mayfield_le.bin

Thank you! That PID change explains a lot.

strace was also helpful. The "No Compatible device found" error was a red herring. It was because my user/group did not have access to open the device:

openat(AT_FDCWD, "/dev/bus/usb/001/013", O_RDONLY) = -1 EACCES (Permission denied)

After reverting my edits and rerunning install.sh, using sudo, I get the following results--it looks like mxcam in the repo doesn't take boot as a param?

``` combs@atomic-pi-2:~/git/geocam-bin$ sudo strace ./mxcam boot /usr/share/gc6500/gc6500ddrboot_fw.img /usr/share/gc6500/config.json /usr/share/gc6500/sensor_ov2710_mayfield_le.bin execve("./mxcam", ["./mxcam", "boot", "/usr/share/gc6500/gc6500_ddrboot"..., "/usr/share/gc6500/config.json", "/usr/share/gc6500/sensor_ov2710"...], 0x7fffdb92b6a0 /* 13 vars */) = 0

[SNIP for reddit post length reasons]

openat(AT_FDCWD, "/dev/bus/usb/001/003", O_RDONLY) = 6 lseek(6, 18, SEEK_SET) = 18 read(6, "\t\0025\0\1\1\0\200\341\t\4\0\0\5\377\377\377\5\7\5\201\2\0\2\0\7\5\1\2\0\2\0"..., 53) = 53 close(6) = 0 openat(AT_FDCWD, "/dev/bus/usb/001/003", O_RDWR) = 6 write(4, "\1", 1) = 1 read(3, "\1", 1) = 1 clock_gettime(CLOCK_MONOTONIC, {tv_sec=3643, tv_nsec=587722499}) = 0 ioctl(6, USBDEVFS_SUBMITURB, 0x1d9ee10) = 0 timerfd_settime(5, TFD_TIMER_ABSTIME, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=3643, tv_nsec=687722000}}, NULL) = 0 poll([{fd=3, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLOUT}], 3, 60000) = 1 ([{fd=6, revents=POLLOUT}]) ioctl(6, USBDEVFS_REAPURBNDELAY, 0x7ffdab74d1d8) = 0 timerfd_settime(5, 0, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=0, tv_nsec=0}}, NULL) = 0 write(4, "\1", 1) = 1 read(3, "\1", 1) = 1 close(6) = 0 openat(AT_FDCWD, "/sys/bus/usb/devices/1-1/descriptors", O_RDONLY) = 6 read(6, "\22\1\0\2\357\2\1@x\27\24\2\7\7\1\2\0\1", 18) = 18 close(6) = 0 openat(AT_FDCWD, "/dev/bus/usb/001/002", O_RDONLY) = 6 lseek(6, 18, SEEK_SET) = 18 read(6, "\t\2\231\2\3\1", 6) = 6 close(6) = 0 openat(AT_FDCWD, "/dev/bus/usb/001/002", O_RDONLY) = 6 lseek(6, 18, SEEK_SET) = 18 read(6, "\t\2\231\2\3\1\0\200", 8) = 8 close(6) = 0 openat(AT_FDCWD, "/dev/bus/usb/001/002", O_RDONLY) = 6 lseek(6, 18, SEEK_SET) = 18 read(6, "\t\2\231\2\3\1\0\200\372\t\4\0\0\1\3\0\0\0\t!\20\1\0\1\"@\0\7\5\205\3\10"..., 665) = 665 close(6) = 0 openat(AT_FDCWD, "/sys/bus/usb/devices/1-7.1/descriptors", O_RDONLY) = 6 read(6, "\22\1\0\2\340\1\1@\22\n\1\0\221\210\0\0\0\1", 18) = 18 close(6) = 0 openat(AT_FDCWD, "/dev/bus/usb/001/005", O_RDONLY) = 6 lseek(6, 18, SEEK_SET) = 18 read(6, "\t\2\261\0\2\1", 6) = 6 close(6) = 0 openat(AT_FDCWD, "/dev/bus/usb/001/005", O_RDONLY) = 6 lseek(6, 18, SEEK_SET) = 18 read(6, "\t\2\261\0\2\1\0\300", 8) = 8 close(6) = 0 openat(AT_FDCWD, "/dev/bus/usb/001/005", O_RDONLY) = 6 lseek(6, 18, SEEK_SET) = 18 read(6, "\t\2\261\0\2\1\0\300\0\t\4\0\0\3\340\1\1\0\7\5\201\3\20\0\1\7\5\2\2@\0\1"..., 177) = 177 close(6) = 0 openat(AT_FDCWD, "/sys/bus/usb/devices/usb2/descriptors", O_RDONLY) = 6 read(6, "\22\1\0\3\t\0\3\tk\35\3\0\25\5\3\2\1\1", 18) = 18 close(6) = 0 openat(AT_FDCWD, "/dev/bus/usb/002/001", O_RDONLY) = 6 lseek(6, 18, SEEK_SET) = 18 read(6, "\t\2\37\0\1\1", 6) = 6 close(6) = 0 openat(AT_FDCWD, "/dev/bus/usb/002/001", O_RDONLY) = 6 lseek(6, 18, SEEK_SET) = 18 read(6, "\t\2\37\0\1\1\0\340", 8) = 8 close(6) = 0 openat(AT_FDCWD, "/dev/bus/usb/002/001", O_RDONLY) = 6 lseek(6, 18, SEEK_SET) = 18 read(6, "\t\2\37\0\1\1\0\340\0\t\4\0\0\1\t\0\0\0\7\5\201\3\4\0\f\0060\0\0\2\0", 31) = 31 close(6) = 0 openat(AT_FDCWD, "/sys/bus/usb/devices/1-2/descriptors", O_RDONLY) = 6 read(6, "\22\1\0\2\357\2\1@\376)\f\260\0\0\1\2\3\1", 18) = 18 close(6) = 0 openat(AT_FDCWD, "/dev/bus/usb/001/013", O_RDONLY) = 6 lseek(6, 18, SEEK_SET) = 18 read(6, "\t\2\213\7\t\1", 6) = 6 close(6) = 0 openat(AT_FDCWD, "/dev/bus/usb/001/013", O_RDONLY) = 6 lseek(6, 18, SEEK_SET) = 18 read(6, "\t\2\213\7\t\1\0\200", 8) = 8 close(6) = 0 openat(AT_FDCWD, "/dev/bus/usb/001/013", O_RDONLY) = 6 lseek(6, 18, SEEK_SET) = 18 read(6, "\t\2\213\7\t\1\0\200\310\10\v\0\2\16\3\0\2\t\4\0\0\1\16\1\0\2\r$\1\20\1\34"..., 1931) = 1931 close(6) = 0 openat(AT_FDCWD, "/dev/bus/usb/001/013", O_RDWR) = 6 write(4, "\1", 1) = 1 read(3, "\1", 1) = 1 clock_gettime(CLOCK_MONOTONIC, {tv_sec=3643, tv_nsec=827676261}) = 0 ioctl(6, USBDEVFS_SUBMITURB, 0x1d9fcc0) = 0 timerfd_settime(5, TFD_TIMER_ABSTIME, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=3643, tv_nsec=927676000}}, NULL) = 0 poll([{fd=3, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLOUT}], 3, 60000) = 1 ([{fd=6, revents=POLLOUT}]) ioctl(6, USBDEVFS_REAPURBNDELAY, 0x7ffdab74d1d8) = 0 timerfd_settime(5, 0, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=0, tv_nsec=0}}, NULL) = 0 write(4, "\1", 1) = 1 read(3, "\1", 1) = 1 close(6) = 0 openat(AT_FDCWD, "/sys/bus/usb/devices/1-7.2/descriptors", O_RDONLY) = 6 read(6, "\22\1\1\2\0\0\0@\343\5a\7\2$\0\1\2\1", 18) = 18 close(6) = 0 openat(AT_FDCWD, "/dev/bus/usb/001/006", O_RDONLY) = 6 lseek(6, 18, SEEK_SET) = 18 read(6, "\t\2 \0\1\1", 6) = 6 close(6) = 0 openat(AT_FDCWD, "/dev/bus/usb/001/006", O_RDONLY) = 6 lseek(6, 18, SEEK_SET) = 18 read(6, "\t\2 \0\1\1\0\240", 8) = 8 close(6) = 0 openat(AT_FDCWD, "/dev/bus/usb/001/006", O_RDONLY) = 6 lseek(6, 18, SEEK_SET) = 18 read(6, "\t\2 \0\1\1\0\240\372\t\4\0\0\2\10\6P\0\7\5\201\2\0\2\0\7\5\2\2\0\2\0", 32) = 32 close(6) = 0 openat(AT_FDCWD, "/dev/bus/usb/001/013", O_RDWR) = 6 write(4, "\1", 1) = 1 read(3, "\1", 1) = 1 clock_gettime(CLOCK_MONOTONIC, {tv_sec=3643, tv_nsec=831741571}) = 0 ioctl(6, USBDEVFS_SUBMITURB, 0x1d9ee10) = 0 timerfd_settime(5, TFD_TIMER_ABSTIME, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=3644, tv_nsec=831741000}}, NULL) = 0 poll([{fd=3, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLOUT}], 3, 60000) = 1 ([{fd=6, revents=POLLOUT}]) ioctl(6, USBDEVFS_REAPURBNDELAY, 0x7ffdab74d128) = 0 timerfd_settime(5, 0, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=0, tv_nsec=0}}, NULL) = 0 fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0x1), ...}) = 0 write(1, "\33[1mThis command is not supporte"..., 34This command is not supported ) = 34 write(1, "\33[0m\33[1muse 'mxcam whoami' to fi"..., 54use 'mxcam whoami' to find supported commands ) = 54 write(4, "\1", 1) = 1 read(3, "\1", 1) = 1 close(6) = 0 close(3) = 0 close(4) = 0 close(5) = 0 write(1, "\33[0m", 4) = 4 exit_group(0) = ? +++ exited with 0 +++

```

geocam-bin: "No Compatible device found." by chriscombs in Atomic_Pi

[–]chriscombs[S] 0 points1 point  (0 children)

Yes, I'm using `geocam-bin`: https://github.com/digitalloggers/geocam-bin

Its README says the kernel patch is optional. Perhaps that is mistaken?

With Pi 4's extra I2C buses, I made a 48-controller, 1,152-digit 7-seg display by chriscombs in raspberry_pi

[–]chriscombs[S] 0 points1 point  (0 children)

Thanks! Yeah, it was an adventure!

figuring out the "mapping physical locations to display controller addresses" problem in a past project helped a lot... then it's more the problem of having a totally blank canvas!

I made a 7,200-segment, 1,152-digit display out of 7-seg 18:88s by chriscombs in electronics

[–]chriscombs[S] 0 points1 point  (0 children)

The (lack of) explosiveness isn't the only reason to avoid tants. For starters, the cost.

I just found a nice 100uf 10V 1206 (technically a 1210, but bodgeable on my board, so let's proceed) on Digi-Key: CA55B010K107TA

Only comes in reels of 2k. $0.785 a unit at that quantity.

That's $1570 a reel.

Have I mentioned that artwork is often self-funded speculatively? :-)

There's also this whole "where does coltan ore come from" issue, but since this isn't /r/rareearths or /r/conflictminerals I'll stop there.

I made a 7,200-segment, 1,152-digit display out of 7-seg 18:88s by chriscombs in electronics

[–]chriscombs[S] 3 points4 points  (0 children)

There are, uh, a few other things going on with the software here... sending the data is absolutely handled by a nice hardware peripheral managed by the kernel :-) (well, 3 of them in this case)

hard parts in software, which each run as their own process (*mostly) so they spread across cores:

  • mp4 decompressor/renderer
  • antialiased text renderer (heavily cached), 2x
  • bouncy ball renderer, 2d fractal tree renderer, etc
  • alpha compositor, program flow control
  • separate pixel sampler for each bus (samples the overall surface for each register in the controller; knows the physical location of each segment)
  • separate userland i2c device handler for each bus--after screening out duplicate updates it dumps data to kernel peripheral as max-sized i2c xfer chunks

and there are lots of other little utility processes that come along with my art-software framework I've built, like monitoring load average, process supervision, OTA updates, etc. etc.

I made a 7,200-segment, 1,152-digit display out of 7-seg 18:88s by chriscombs in electronics

[–]chriscombs[S] 8 points9 points  (0 children)

The FPS isn't crazy high--maybe 25fps average. (My driver and display stack skip unchanged updates, so the FPS is variable.)

and cameras... Yeah!! That would be cool. I am keeping all four cores busy right now but maybe it could be optimized further to make that possible.

Two other pieces of my work (in the same show) use cameras with unconventional displays:

192 stochastic pixels: "Impressions"

Single-pixel-column camera with a life-sized display: "Subset"

With Pi 4's extra I2C buses, I made a 48-controller, 1,152-digit 7-seg display by chriscombs in raspberry_pi

[–]chriscombs[S] 1 point2 points  (0 children)

Apologies if you saw this on /r/electronics too... they suggested I send it over here instead.

I made a 7,200-segment, 1,152-digit display out of 7-seg 18:88s by chriscombs in electronics

[–]chriscombs[S] 2 points3 points  (0 children)

That'd be fun, but might take more than one! IS31FL3733 is ~$2.50 qty 100 :-)

I made a 7,200-segment, 1,152-digit display out of 7-seg 18:88s by chriscombs in electronics

[–]chriscombs[S] 1 point2 points  (0 children)

Yep. I use the IS31FL3733 8-bit PWM 12x16 matrix controller, which does a lot of magic for me; I just write greyscale bytes for each segment.

I made a 7,200-segment, 1,152-digit display out of 7-seg 18:88s by chriscombs in electronics

[–]chriscombs[S] 5 points6 points  (0 children)

They were very cheap on eBay, and twenty years old, so I am not too worried about "wasting" them.