user224

joined 3 years ago
[–] user224@lemmy.sdf.org 1 points 1 hour ago (1 children)

Virtualised on Linux host, USB passed to guests. Linux guests acted the same as host, and I only ever tried Windows as a guest (where it works).

 

Is this just a weirdly unsupported piece of hardware, or does it seem partially broken?

Notes

Images are hosted on Catbox.
The drive is connected via USB. ID 152d:2338 JMicron Technology Corp. / JMicron USA Technology Corp. JM20337 Hi-Speed USB to SATA & PATA Combo Bridge
Information provided is from memory as I wasn't noting down results. It took several days to do the tests, often due to unrelated software issues, and my lack of knowledge regarding the different OSs.

Logs

Below are filtered kernel log messages - some messages were repeated way too much

Linux

[303803.821623] usb 1-4: new high-speed USB device number 62 using xhci_hcd
[303803.953712] usb 1-4: New USB device found, idVendor=152d, idProduct=2338, bcdDevice= 1.00
[303803.953735] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[303803.953745] usb 1-4: Product: USB to ATA/ATAPI bridge
[303803.953752] usb 1-4: Manufacturer: JMicron
[303803.953758] usb 1-4: SerialNumber: 622222222222
[303803.956959] usb-storage 1-4:1.0: USB Mass Storage device detected
[303803.957727] scsi host0: usb-storage 1-4:1.0
[303804.972734] scsi 0:0:0:0: CD-ROM            ATAPI    CD-R/RW 48X16    9.GH PQ: 0 ANSI: 0 CCS
[303809.784518] sr 0:0:0:0: [sr0] scsi3-mmc drive: 48x/48x writer cd/rw xa/form2 cdda tray
[303818.737158] usb 1-4: reset high-speed USB device number 62 using xhci_hcd
[303826.573935] usb 1-4: reset high-speed USB device number 62 using xhci_hcd
[303838.238333] sr 0:0:0:0: Attached scsi CD-ROM sr0
[303838.238795] sr 0:0:0:0: Attached scsi generic sg0 type 5
[303845.622418] usb 1-4: reset high-speed USB device number 62 using xhci_hcd
[303918.801647] usb 1-4: reset high-speed USB device number 62 using xhci_hcd
[303936.512741] usb 1-4: reset high-speed USB device number 62 using xhci_hcd
[303941.673166] usb 1-4: reset high-speed USB device number 62 using xhci_hcd
[303950.281142] sr 0:0:0:0: [sr0] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=1s
[303950.281164] sr 0:0:0:0: [sr0] tag#0 Sense Key : Illegal Request [current] 
[303950.281176] sr 0:0:0:0: [sr0] tag#0 Add. Sense: Illegal mode for this track
[303950.281186] sr 0:0:0:0: [sr0] tag#0 CDB: Read(10) 28 00 00 05 5d ec 00 00 02 00
[303950.281192] blk_print_req_error: 80 callbacks suppressed
[303950.281198] I/O error, dev sr0, sector 1406896 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
    REMOVED LINES
[303961.227527] I/O error, dev sr0, sector 0 op 0x0:(READ) flags 0x0 phys_seg 2 prio class 2
[303961.227544] Buffer I/O error on dev sr0, logical block 0, async page read
[303961.227559] Buffer I/O error on dev sr0, logical block 1, async page read
[303961.408769] Buffer I/O error on dev sr0, logical block 14, async page read
[303961.497219] Buffer I/O error on dev sr0, logical block 15, async page read
[303965.403967] scsi_io_completion_action: 46 callbacks suppressed


GhostBSD

ugen0.2: <JMicron USB to ATA/ATAPI bridge> at usbus0
umass0 on uhub0
umass0: <JMicron USB to ATA/ATAPI bridge, class 0/0, rev 2.00/1.00, addr 1> on usbus0
umass0:  SCSI over Bulk-Only; quirks = 0x4000<NO_SYNCHRONIZE_CACHE>
umass0:2:0: Attached to scbus2
cd1 at umass-sim0 bus 0 scbus2 target 0 lun 0
cd1: <ATAPI CD-R/RW 48X16 9.GH> Removable CD-ROM SCSI device
cd1: Serial Number 622222222222
cd1: 40.000MB/s transfers
cd1: 0MB (1 2048 byte sectors)
cd1: quirks=0x10<10_BYTE_ONLY>
(cd1:umass-sim0:0:0:0): READ(10). CDB: 28 00 00 00 00 00 00 00 01 00 
(cd1:umass-sim0:0:0:0): CAM status: SCSI Status Error
(cd1:umass-sim0:0:0:0): SCSI status: Check Condition
(cd1:umass-sim0:0:0:0): SCSI sense: ILLEGAL REQUEST asc:21,0 (Logical block address out of range)
(cd1:umass-sim0:0:0:0): Error 22, Unretryable error
(cd1:umass-sim0:0:0:0): cddone: got error 0x16 back
    REMOVED LINES
pid 3525 (xfburn), jid 0, uid 1001: exited on signal 11 (core dumped)
(cd1:umass-sim0:0:0:0): READ CD. CDB: be 00 00 00 00 00 00 00 01 f8 00 00 
(cd1:umass-sim0:0:0:0): CAM status: SCSI Status Error
(cd1:umass-sim0:0:0:0): SCSI status: Check Condition
(cd1:umass-sim0:0:0:0): SCSI sense: ILLEGAL REQUEST asc:24,0 (Invalid field in CDB)
(cd1:umass-sim0:0:0:0): Error 22, Unretryable error
(cd1:umass-sim0:0:0:0): cddone: got error 0x16 back
    REMOVED LINES
(cd1:umass-sim0:0:0:0): READ(10). CDB: 28 00 00 02 71 16 00 00 01 00 
(cd1:umass-sim0:0:0:0): CAM status: SCSI Status Error
(cd1:umass-sim0:0:0:0): SCSI status: Check Condition
(cd1:umass-sim0:0:0:0): SCSI sense: ILLEGAL REQUEST asc:64,0 (Illegal mode for this track)
(cd1:umass-sim0:0:0:0): Error 6, Unretryable error
(cd1:umass-sim0:0:0:0): cddone: got error 0x6 back
    REMOVED LINES
(cd1:umass-sim0:0:0:0): READ(10). CDB: 28 00 00 02 71 16 00 00 01 00 
(cd1:umass-sim0:0:0:0): CAM status: CCB request completed with an error
(cd1:umass-sim0:0:0:0): Retrying command, 3 more tries remain
(cd1:umass-sim0:0:0:0): READ(10). CDB: 28 00 00 02 71 16 00 00 01 00 
(cd1:umass-sim0:0:0:0): CAM status: SCSI Status Error
(cd1:umass-sim0:0:0:0): SCSI status: Check Condition
(cd1:umass-sim0:0:0:0): SCSI sense: UNIT ATTENTION asc:29,0 (Power on, reset, or bus device reset occurred)
(cd1:umass-sim0:0:0:0): Retrying command (per sense data)
(cd1:umass-sim0:0:0:0): READ(10). CDB: 28 00 00 02 71 16 00 00 01 00 
(cd1:umass-sim0:0:0:0): CAM status: SCSI Status Error
(cd1:umass-sim0:0:0:0): SCSI status: Check Condition
(cd1:umass-sim0:0:0:0): SCSI sense: UNIT ATTENTION asc:28,0 (Not ready to ready change, medium may have changed)
    REMOVED LINES
(cd1:umass-sim0:0:0:0): PAUSE/RESUME. CDB: 4b 00 00 00 00 00 00 00 00 00 
(cd1:umass-sim0:0:0:0): CAM status: SCSI Status Error
(cd1:umass-sim0:0:0:0): SCSI status: Check Condition
(cd1:umass-sim0:0:0:0): SCSI sense: ABORTED COMMAND asc:b9,0 (Vendor Specific ASC)
(cd1:umass-sim0:0:0:0): Retrying command (per sense data)


Haiku OS

KERN: usb_disk: got device name "ATAPI CD-R/RW 48X16 9.GH": No error
KERN: Media changed from /dev/disk/usb/3/0/raw
KERN: DMAResource@0xffffffff95066028: low/high 0/ffffffff, max segment count 16, align 1, boundary 0, max transfer 524288, max segment size 18446744073709551615
KERN: usb_disk: got device name "ATAPI CD-R/RW 48X16 9.GH": No error
KERN: usb_disk: unhandled ioctl 10102
KERN: Last message repeated 3 times.
KERN: usb_disk: sending or receiving of the data failed: No error
KERN: identify(110, 0xffffffff955a3978)
KERN: usb_disk: sending or receiving of the data failed: No error
KERN: usb error control pipe 38: timeout waiting for queued request to complete
Last message repeated 2 times
    REMOVED LINES
KERN: usb_disk: unhandled ioctl 10102
KERN: usb_disk: sending the command block wrapper failed: No error
KERN: usb error control pipe 38: timeout waiting for queued request to complete
Last message repeated 2 times
    REMOVED LINES
KERN: usb_disk: sending the command block wrapper failed: No error
KERN: usb error control pipe 38: timeout waiting for queued request to complete
Last message repeated 2 times

Testing methods

Operating systems were installed and set up in Oracle VirtualBox on Arch Linux host. CD-RW drive was passed to VMs via USB passthrough.

Usability summary

Operating system Status
Linux Fully broken
OS/2 Warp 4.52 Fully broken
Haiku OS Disc size detection, eject/load
OpenIndiana (Solaris) Data read, analog audio playback
ReactOS Data read - same as known good drive
Android Data read via 3rd party app - limited by app feature set
GhostBSD (FreeBSD) Digital and analog audio playback (incl. CD-Text)
Windows Full functionality

Test results

I'll start with common OSs first.

Linux

Detects the drive when it's empty. Otherwise it just keeps resetting it over and over, as can be seen in logs.
It might eventually load disc info after several minutes, as well as initiate disc blanking over cdrecord, but that will also take several minutes of waiting, if it ever happens.
There's also a small chance of full system freeze-up until the drive is physically disconnected.
This has been tested with other distributions inside a VM, with the same results.

Windows

Mostly used under Windows 2000, but it also worked on Windows 10.
Everything fully works.
image

GhostBSD (based on FreeBSD)

Analog (left) and digital (right) audio playback work just fine.
Image
Data discs do not load.
Burning has started randomly on one occasion, but eventually failed.
image

OpenIndiana (fork of OpenSolaris)

Loading data discs works, despite (probably unrelated) error being shown first.
image image
When it comes to audio playback, I don't know what to use. VLC doesn't support audio CDs over there, and sound-juicer appears broken. It is however possible to use analog playback, though CD-Text isn't being displayed like it was on BSD (cdda-player).
image
Burning discs did not work. Brasero always reports the disc as full, even when blank.
image

OS/2 Warp 4.52

This one was a bit painful to set up as I had to install and set up (in CONFIG.SYS) USB and USB CD drivers. Former I had to download, latter was already provided in CP2 (but disabled by default).
Audio CDs cause a time-out.
image
Data discs won't load either.
image

Haiku OS (Beta)

Disc drive is recognized, as well as formatted size of the disc, but that's it.
image
Eject/load works.
Other software (SMPlayer and BurnItNow) did not see the drive.

Android (using MLUSB mounter)

It may be based on Linux, but it acts so dumb someone had to make an app that acts as a USB device driver.
image
It gets recognized just fine.
image
And it loads data from the disc. That's all this app can do.
image
Everything this does works here.

ReactOS (open-source clone of Windows) (Alpha)

Data reads quickly and reliably, just as well as in Windows.
image
When it comes to audio and other software, it either isn't recognized at all, or causes a freeze-up.
image image
Opening audio CD with file explorer only shows 1KB .cda files which are of no use.
Bittersweet news: it behaves exactly the same with a known-good drive. So maybe once those issues are fixed, it will be just as good as in Windows.

Conclusion

I have no idea whether this is a drive issue, or it's just doing something really non-standard.
I have also tried it with a different controller, making a chain of IDE -> SATA -> USB, but this was equally broken.


Edit 1: :::spoiler -> ::: spoiler to fix formatting outside of Lemmy-UI

[–] user224@lemmy.sdf.org 2 points 5 days ago (1 children)

Just high school.
I didn't manage to keep a good score during the first year, so I got kicked out, and I have to wait a year to get back as I have to go through admissions same way as a brand new student (and also none of my passed subjects will count except for English...).
That was computer science.

As for what I'd be interested to learn and get into, and why:

  • German (better job opportunities)
  • Ukrainian (I struggled with communication on a dorm as most students living there were from Ukraine)
  • Linux Kernel development (Mostly due to interest in mobile Linux.)
  • Software reverse-engineering (Could help with above, static malware analysis, and just overall curiosity.)
  • Assembly - RISC-V, ARM, AMD64 (The above 2 points, as well as having more control over what software does.)
  • C++ (Making my own GUI programs utilizing Qt. I'd also like to modify cdimage to generate shorter tracks, improve the UI and integrate it into K3b. I think it should be possible to put it into pregap on audio CDs (K3b already has support for that bit), as well as combine it with data in "Mixed mode" CD.)
  • Digital signal processing (Due to my interest in SDRs.)
  • RF circuit and antenna design (For UHF and above.)
  • Mobile telecommunications (sharetechnote.com has some interesting info, and I'd like to understand it and know more)
  • QEMU (I'd like to at least partially replace my reliance on VirtualBox and be less stupid around Proxmox)
  • Management of *BSD and Solaris (NetBSD, FreeBSD, OpenIndiana, Oracle Solaris)
  • Networking (We did CCNA in high school, but it got boring, especially with no purpose aside from national competitions I attended thrice. I need to revisit CCNA-level info and move up higher.)

I don't think that's a complete list, just what's on my mind.

[–] user224@lemmy.sdf.org 1 points 5 days ago (1 children)

And very disappointed in myself.

 

There's just too many things I'd want to learn, but I probably can't do everything at once. And I also don't know where to start when it comes to basically any topic.

Courses could absolutely work, but they tend to be paid, so that's a problem.

How do you approach learning new material, especially if you only know a goal rather than a full/partial path?

[–] user224@lemmy.sdf.org 13 points 6 days ago

Nothing. Even if I was 100% sure about receiving it, $1M isn't all that much.
Buy a house then, save what remains, keep going as I was.

[–] user224@lemmy.sdf.org 12 points 6 days ago (1 children)

Since your music is already there, you can also install Termux, inside it install and configure Navidrome, and use it as a music server to stream into your computer from it.
It would also be useful for adding music since you could also install and set up an SSH server on it, and rsync files easily.

[–] user224@lemmy.sdf.org 1 points 1 week ago

This was just a random slow down for around 5 minutes. Can't reproduce :(

 

This was a 3rd run after the issue started.
At first I got 40% packet loss, then 2%, and finally, 0% somehow.

Where even are the packets for that long?

[–] user224@lemmy.sdf.org 3 points 1 week ago

This hourglass I stole in kindergarten. It was used to measure time for brushing teeth. It also used to have a suction cup, but over the years it partially decomposed.
Photo of hourglass

[–] user224@lemmy.sdf.org 2 points 1 week ago

Wasn't that a convention mostly for those who were banned from other conventions?

[–] user224@lemmy.sdf.org 1 points 1 week ago

Gotta love the footies. They're harmless and locked in. At the rabbit hole that is sexual fetishes, they just hang around the entrance... looking down.

That sounds like description of a cave diver.

[–] user224@lemmy.sdf.org 2 points 1 week ago* (last edited 1 week ago)

Oh, they upgraded the standard to 5 devices. I think it was just 2 in the past, which made it far more expensive than Mullvad.

Edit: One large thing missing compared to Mullvad is the proxy-based browser extension for Firefox. It let's you select different exit server either for everything in browser, per domain, or randomize server selection per domain.

[–] user224@lemmy.sdf.org 3 points 1 week ago* (last edited 1 week ago)

I like KDE Arianna.
Unfortunately, while in the past (I think version 24) it would show 2 columns in portrait mode, now it only shows 1 page in the middle, which I personally consider a regression.

Aside from that there've been some improvements. While in the past I had to flip pages by pressing arrow buttons at the bottom, it now supports swiping the pages, which is much nicer on a touchscreen.

[–] user224@lemmy.sdf.org 2 points 2 weeks ago* (last edited 2 weeks ago) (2 children)

Mate, even you just understanding what LaTeX and HTML do

With HTML, I only meant something like basic 90s/early 2000s websites. That doesn't really need much. For example, toastytech.com. Using tables for layout is probably not done anymore.
When it comes to LaTeX, we just had to use it for an assignment in school, so that's where I came in contact with it.
And even that's something I struggled with. The entire page was supposed to be a colored table. I've used tabularx, but it kept being slightly off the page. For some reason, wrapping it between center fixed it, but I don't know what I did wrong there.

It would have probably been easier if I did it in Overleaf (online LaTeX editing platform).
Instead, me being me, I was doing it last-minute. On a train. Full train, so I couldn't even sit down to use a laptop, as such I had to use my phone. There are apparently some issues with texlive on Termux, so I didn't run it locally.
Instead I had to SSH to my mini PC over Tailscale, edit the document using Vim, compile with pdflatex, copy the PDF to my phone using scp, view it, delete, browse around StackExchange (where I found someone mention the center workaround), and repeat.

On a phone, while standing in a moving train. Quite the user experience.

 

I genuinely have nothing to put on a CV besides (lack of) education.
No projects, no hobbies, no experience, ~~no~~* nothing.
*^"no^ ^nothing"^ ^sounds^ ^like^ ^negation^ ^of^ ^false^
But I also guess it can't really be that empty.

I found posting for a job I could perhaps do**, though unfortunately they want a CV.

**The posting mentions this

Don't worry - we are not looking for experience, we are looking for a quality colleague who is eager to learn and grow - both at work and personally. What is important to us is that you have determination and responsibility. We will teach you everything you need - from the technical side to communication with customers.

Sounds good as I have no experience, but... CV.


Anyway, I am also questioning what to make it in. Originally I though of using LaTeX, but that needs more time. I only really tried to use it once, and that was pain. So many packages, what do they do, how do I use them. Like learning to swim by jumping into a lake.

LibreOffice Write/Draw is probably what I'll have to go with. Draw lets me easily put whatever I want wherever I want. And of course, export that to PDF.

Lastly, I need sleep now. It is unfortunate, as I have most energy and will to do things at night. However, this also includes crazy thoughts and ideas, such as making a second, crazy version of my CV.
Although extremely unprofessional, outdated HTML 3.2, old non-standard elements like blink and marquee, animated bullet points, animated tiled background, and "under construction" GIF in the experience section would be truly memorable.
Of course, I couldn't just send Tar-ed page source. But since it would be a single-page "document", all the GIFs could be withing the HTML file encoded in base 64.
Not that I plan to do it, but I personally like the vision in my mind.

Thank you for your attention.

 

I wish we as society could simply have one language to overcome language barriers, but that's more of a content for my daydreaming.

I often encounter issues due to language barriers.
Mainly with 2 languages.

Since the start of war, I've been encountering lots of Ukrainians I can't really speak with. Especially when I was on a dorm, where they were a great majority.
Not that I tend to talk with people, but I felt weird after a while.
Probably like someone who doesn't speak Spanish in the US (at least I assume that's fairly common over there).

And now searching for a job, I found many companies want you to know German.
Which I also encountered as "would've been useful now" a few times.


Seems like I should know an answer to this, as English isn't my first language, but I have no fucking idea how I picked it up. I never made any serious attempt (i.e.: studying for more than a week) to learn it.

 

I also watched over 2 hours of bonus features on the disc.

There are also some unrelated ones I mostly skipped.

Anyway, what I remember from the commentaries and interviews is that there could have been one more scene at the end with the forklift driving through a fiberglass wall, and the 2 guys scratching themselves.

Also, pig blood is cheaper than fake blood, so a lot of the blood is indeed real. Konstantin Graudus (Klaus' actor) also described the awful strong taste of the blood as that's what he got sprayed with.

Oh, and Microsoft Word kept mis-correcting the word "Staplerfahrer".

There's also a re-mastered version on Blu-Ray, but that would be over EUR 40 along with shipping, so nah. This one was 2.66... bumped to 7.45 by shipping costs (Austria -> Slovakia), plus some exchange fee because I got it from Momox on UK Amazon.
German DVD, purchased from British e-shop, shipped from Austria (at least that's what the shipping label says) to Slovakia.

 

I was thinking about how I used a cheap VPS in the past to "temporarily" host something for Lemmy for fun.
Well, our instance had major issues, and a data loss, making me loose access to those comments and post. And I didn't get a domain name, because it was "temporary" anyway.

Now, whoever inherits 167.160.186.15 can embed something else into 2 of my comments and 1 post.

Anyway, this is also the case of hosts like catbox.moe. Perhaps it dies one day, and instead of original images, something malicious will be returned.


A thought genuinely produced in the shower.

 

What happened

I didn't pass enough subjects. To study there again, I'll have to go through regular admission procedure again, but it's too late to sign up for next year.

Passed subjects acceptance

Like other colleges, the one I went to accepts passed subjects from previous studies. So if you studied at a different college and passed the same subjects (within past x years), you don't have to re-do them.

However, unlike with the others I checked, our college will only accepts subjects passed at A or B. This probably makes sense, as they might not trust other colleges to hold students up to the same standards.

This means that I'll have to retake the subjects I already passed.

Idea 1 - immediate transfer request (not possible)

Not wanting to wait a year, I hoped to go to different college of the same university, and ask for transfer right after registration. (If rejected, idea 2)

Unfortunately, the university's rules only permit transfers within the same field, and the same one is not available to sign up for anymore.

Idea 2 - Piggyback on different college for a year

There are 2 colleges on the same university that still accept students and offer housing on a dorm in the same city.
The university rules also permit students to change their study plans, with possibility of registering subjects on different colleges of the same university.

Thus my idea was to officially "attend" College of Mechanical Engineering (which is desperate enough to have no entrance exams), withdraw from all their subjects, and register relevant subjects on College of Informatics.

I asked the study department about my plan. They confirmed it should be possible, but the A/B grading requirement remains.

How does that make sense?

I could take their subjects at their own college, pass them by their own standards, yet they themselves wouldn't accept them.

Alternatively, I could attend an easier college with lower standards, spend less effort for A/B, and pass just the same.

Alternative ideas

Only idea 1 makes sense economically (if the request got accepted), as otherwise I'd pay for 2 extra years rather than just one.
That sucks, I wished to basically go "hey, I am still here like a cockroach".

So to stay here, it's best to just get a job for a year and try not to loose too many fingers (all I found in my location with provided training and no required education is "plastic press operator" or "metal machinist").

Or give up, and study a different field.

 

I haven't ran this for a few months, so I may not remember everything I had to set up.

Anyway, it's just regular install of Proxmox that I then installed KDE Plasma on top of (same as with plain Debian).
I had to remove WiFi interface from /etc/network/interfaces for it to work as expected.
I also set up NAT for guests (10.0.0.0/24) (lower middle in screenshot).
To guests I added vhost-vsock-pci to make Vsock work (used for Waypipe), and VirtIO sound card to make audio work through host. (Under args: in middle of screenshot). You can see audio show up in Applications tab of sound menu (bottom right), currently playing music from Debian's Firefox Window (top, slightly left).
Waypipe is set up to automatically listen on host using KDE's Autostart menu (bottom, center). Applications are launched using desktop shortcuts which send a command to guests over SSH (middle, slightly left).

One thing you may notice is app icons not working (Wayland icon is shown instead). I don't know why, it only works for LibreOffice. But that's just cosmetic.

End result is that aside from guests not having HW acceleration for thing like video playback, things just work like with normally installed programs. Double-click an icon, and it launches.

I haven't set up anything nicer for storage. SSH is sub-optimal due to useless encryption, but for the occasional 5MiB file this doesn't matter.

One thing I am not sure how to do "properly" is Waydroid. I tried to set it up in unprivileged Arch LXC, that did not work. I could just put it directly onto host, but that feels wrong. And inside a VM I can't use GPU acceleration, which even on a more powerful machine was a quite painful experience.

 

I am not talking about the obviously cheap Temu items that are made for 1 use before disposal or burial in a hoarder's house.

Instead it's about electronics which seems nicely made until "oh, what the fuck is this".

Some examples:

Other electronics

RFID scanner with permanently half-pressed button

If testing for "does it work" was all they did, then yeah, it passed. But the plastic housing was too narrow for the button, causing it to be mostly pressed. Even just touching the housing elsewhere would make that register as button press.

Speakers/earphones that scream "low battery" at full volume

Not much to comment here. I bought some earbuds, and got a nice midnight shock when they did that.

Screwing into plastic

I've got a 5.25" drive enclosure. Taking it apart, I was pleased. For the outer metal sheets they put metal inserts into the inner plastic for the screws.
And then the thing that actually holds some weight is tapered holes in brittle plastic for mounting the drive.

Lack of insulation

I've got an IDE to SATA adapter. Sounds like a piece of electronics that needs some thought to design.
And... what the fuck, the power connector leads are only separated from touching metal by a thin piece of foam tape they will puncture soon.

Badly designed phone cases

At this point I just expect to need a knife to fix them.
2 phones back I had to cut a lager hole for the headphone jack.
With previous phone I had to cut down some of the silicone (?) to reach side-mounted fingerprint scanner.
With current phone I had to cut off the entire camera lens protector part as it was conducting light from flash back to the lens.

Smartphones

And now the main part.

There are a few brands that manufacture unique phones such as Doogee, Unihertz, Ulefone, etc.
There's also many devices with pretty powerful hardware for a great price.

But the software...
Seems to frequently be a very buggy experience. Also, previously I had a Poco which had ads throughout the UI.
Oh, and there's a chance for pre-installed malware.
Anyway, for the bugs, it's things like random restarts, partial system crashes, and it seems even a chance of bricking on update.
If you check reviews from people online, you'll figure out one thing quickly: if the software currently works at a usable level, DO NOT UPDATE EVER AGAIN.
Oh, one of the more important bugs was reversed L/R channels for microphones on the Poco.
Speaking of audio, my Ulefone has really crappy audio post-processing, so the only way to get usable audio is to use "Unprocessed" audio source in Open Camera, and then edit the audio appropriately in Audacity.
Anyway, the list of bugs would be quite long.

What really sucks, is the lack of custom ROMs since these devices tend to be MediaTek-based.
And I really hate that as there's so much interesting hardware with crappy software.
If you haven't seen them, they have really tiny devices, devices with huge batteries (like 25,000mAh large) that look like bricks, phones with keyboards, massive speaker, extra strong lights, even built-on projectors, etc.

 

This feels odd to explain, but there's 4 main scenarios:

1. There's too much stuff I have to do

I just get overwhelmed. I don't know where to start. What do I do first? I must start right away, but how?
If I pick one thing to do first, the knowledge of other ones keeps taking my focus, and I just end up doing nothing and panicking.

2. There's just something I have to do

Absolutely anything will suddenly seem interesting. I am supposed to study math?
How about getting back to Meteor LRPT reception? What about checking out the TETRA signal in your location? Installing Proxmox on a laptop, sure thing. Yes, now is the time to read datasheet of NTAG NFC tags and try out manually sending the commands in hexadecimal. What's math, let's start studying railroad regulations. Meshcore? Hell yeah, let's join the network.
etc...

3. There's nothing to do

Sounds like the time for my interests. But now, nothing comes to mind. Nothing sounds interesting. Absolutely nothing. I don't want to waste time, yet at the same time I don't want to... anything.
Even just getting dressed up feels like dragging my soul across sharp rocks.

4. Deadline is approaching FAAAAAAAST

Oddly, in some way the best scenario. I can finally get myself to be productive, and it even feels good. I see what I did, I see I spent the time well, I can focus.
One good example, an assignment I managed to do shortly before deadline. I put in 16 hours at once, only leaving to the toilet. I finished it at 4am before waking up at 7am, yet, I felt satisfied.
However, one "bad" thing that can happen here is "deadline extended by one week" if I cannot manage it. Suddenly, I loose that feeling of urgency, and slip back into scenario 2.

Bonus: Everything is a distraction.

I occasionally see people recommend putting your phone away, disabling notifications, etc...
Cool, cool.
However, I often get distracted by things like... the pen and paper. Look at that beautiful ink being transferred to the sheet of paper.
But hell, you can remove any physical objects, but you can't remove thoughts. I am listening, I am focused, and oh fuck, there goes a 10 minute imaginary conversation.
OK, I need to do better. Focus, listen, read, think, focus, listen, read,... great, I am focusing on focusing itself.

And lastly, ever heard of /dev/null? My brain pipes to it fairly often. Past 5 minutes? Never heard of them.
I can re-read something 3 times, and just immediately forget what the hell that was.
I can think of something, make the slightest physical movement, and it's gone.
I can listen to someone, process it, answer, immediately forget what I just answered to.

 

I found this app: https://f-droid.org/en/packages/com.nfcarchiver.nfc_archiver/

This interested me as I like the idea of storing larger amount of digital data on unusual mediums, like Optar which was a program to store data on paper.
But in the end, when I checked its GitHub after finding some issues, I found this:

Anyway.
2 minor issues are that compressed size is only estimated, even though it will never work with more than a few MB at best (62.13MB).
Second, it also doesn't tell you when the max size is exceeded at first, only when you try to make the archive. Additionally, the max size isn't mentioned.

Based on the documentation, which is also partially incorrect, the limit is probably 2^16^ chunks.

And now the main issue - fitting 76B into 48B of memory

I am just a random dumb person, so I may have made some mistakes too.
Anyway, I noticed that selecting the MIFARE Ultralight option does nothing in the app:

Notice how at the bottom data from previous option is kept.
But why?

This part of docs will be useful:

First of all, I find the format quite inefficient for something with so little storage.
1 whole byte for 2 bits of data? (compression/encryption flags)
Motherfucking 16 byte ID? (when the smallest "supported" medium is 48 bytes)
Notice how the documentation accounts for ~38 byte overhead (which already excluded the mentioned CRC).
Now, let's open this file: https://github.com/mezinster/nfcarchiver/blob/master/lib/core/constants/nfar_format.dart

/// Header field sizes in bytes
abstract class NfarHeaderSize {
  static const int magic = 4;
  static const int version = 1;
  static const int flags = 1;
  static const int archiveId = 16;
  static const int totalChunks = 2;
  static const int chunkIndex = 2;
  static const int payloadSize = 2;
  static const int crc32 = 4;

  /// Total header size (without payload)
  static const int total = magic +
      version +
      flags +
      archiveId +
      totalChunks +
      chunkIndex +
      payloadSize +
      crc32;
}

The total is 32.
Now for NDEF:

int get maxPayloadSize {
    // NDEF overhead includes:
    // - NDEF record header: 3-6 bytes (flags, type length, payload length)
    // - MIME type: 33 bytes ("application/vnd.nfcarchiver.chunk")
    // - NDEF TLV wrapper: ~5 bytes
    // Total NDEF overhead: ~41-44 bytes
    // We use 44 bytes as a safe margin
    const ndefOverhead = 44;
    final available = capacity - ndefOverhead;
    return available - NfarHeaderSize.total;
  }

So that's statically defined as 44 bytes. Together, that's 76 bytes. If you look at the earlier screenshot, having previously selected 888B tag, the usable size is shown as 812B. 888 - 812 = 76
So that checks out.

So, if the tag capacity is 48, we end up with -28. Negative available storage, nice.

At least this commit mentions the previous assumption of 10 bytes.

Also, there's this bit:

/// Minimum supported tag capacity
  static const int minTagCapacity = 64;

So if I understand this all correctly:

  1. Smallest "supported" tag type is 48B
  2. The code defines smallest supported size as 64B
  3. The format has a 76B overhead

What?

view more: next ›