Hacker Newsnew | past | comments | ask | show | jobs | submit | more conductor's commentslogin

There are compact cameras on the market which are able to connect to a smartphone (via Bluetooth) and take the GPS coordinates form there, apart from other functions (like uploading the photos).



Thanks for the article and code.

Also check out https://github.com/Parchive/par2cmdline

I wish something like this was integrated into a modern and free archive format. RAR has it. RAR also got volume recovery: when creating split multi-volume archives you can also create recovery volumes - each recovery volume can replace any other one missing volume. It was a life-saver in floppy-disk times.


We're not using floppies anymore, and media is extremely reliable.

On the internet you can just retransmit if something went wrong, and if you're worried about the media specifically then there are media specific measures, like RAID and filesystem level checksums.


Cosmic rays are a thing, and wasn’t there just a study linked here a few days ago about how unreliable hardware is at scale?


Oh, I'm all for ECC and checksumming and whatnot.

All I'm saying is that adding recovery info to archives is probably not ideal -- we can do it in a task or media specific way that works best for whatever context the data is in.

Redundancy in .RAR made perfect sense back when you were transporting data on floppies, and if the floppy was bad, it was a huge pain. These days we transport over the network and don't need to carry any redundant data at all. All we need is a checksum and to retransmit whatever didn't arrive correctly.


I guess you somehow missed the film "Mirror" (1975). It's my favorite of his works. It is only 1h47m, has a female main character, and I don't feel like it's trying to teach morals. Oh, and it has stunning visuals and cinematography. The fire scene, the interiors, the colors... Now I have to re-watch.


There is also AlmaLinux [0], expected to be available in Q1 2021.

[0] https://almalinux.org/


This is an old problem for reverse engineers, and there are some solutions, for example VBoxHardenedLoader [0]. As per usual with such things, these tools are in cat/mouse category.

[0] https://github.com/hfiref0x/VBoxHardenedLoader


That's interesting - I would have guessed that after a certain point, a VM and a physical computer are indistinguishable from the POV of software running inside.


It's easy to make the core device indistinguishable. It's the additional hardware that becomes a problem: QEMU/libvirt hardcodes its hard drive model to include the word "QEMU" (although there is an unmerged patch to make that configurable), and although I don't know how graphics work in a VM, it's far easier to create a higher-level graphics device than e.g. emulating Intel graphics.


I imagine a script could be used with qemu - given that patch you mentioned, which I would love a source for if you have it - to match the names of the virtual devices with names of devices on the physical host. Then there's no way for software to check the device names against a list of VM tools, since it always matches real, physical hardware.

At that point, it seems to me that there isn't much left to distinguish the virtual machine from the physical. Behavioral properties of the CPU? Anyway, that's what I meant when I said it seems like after a certain point, it becomes impossible to tell the difference.

EDIT: based on the link above, it looks like current state-of-the-art doesn't go far beyond making sure names and common virtualbox performance shortcuts aren't present. https://github.com/hfiref0x/VBoxHardenedLoader/blob/master/B...


One of the other telltale signs of a VM are "things VMs can do that physical devices can't" - such as weird screen resolutions (when running in windowed mode rather than full screen), weird CPU core counts, physical ram values that aren't cleanly divisible into DIMM slots, etc.


Good point. I guess that would be relatively easy to check for programmatically.

What else is there that could possibly indicate virtualization? Available instruction sets? Strange limitations of the given CPU? (e.g., the cpu presents itself as some Intel chip that's known to have 4 cores, but there's only 2 available)


This is a classic computer science question of whether the OS should be aware that it's being virtualized.


I know of malware long ago that would attempt to time how long CPU instructions take, based on the theory that a VM would be significantly slower, but more recently, especially with hardware-assisted virtualisation, the differences have become close to indistinguishable.



Thanks!


The video game anti-cheat world has been playing this cat and mouse game for a while. A few months back I saw an interesting article [0] describing some of the detection methods being used. It's fascinating to think about how much effort gets put into this.

[0] https://secret.club/2020/04/13/how-anti-cheats-detect-system...


Thank you.

UART using polling[0] instead of interrupts, i.e. sending a character and waiting in a busy loop until it gets sent, isn't it quite wasteful?

[0] https://github.com/bztsrc/raspi3-tutorial/blob/master/03_uar...


Depends on your goal. A lot of the time you want your printfs to be blocking on embedded systems, even if literally the rest of the system is asynchronous so that you don't miss the interesting prints right before the crash because they were queued and not sent yet.


How do people manage to manage hundreds or even thousands of open tabs? And most importantly, why? Are they using tabs instead of bookmarks?

Usually I have no more than ten. Even when searching/researching something it doesn't get more than twenty - open all the interesting search results on the first search page, usually that's enough to find whatever I'm looking for. If not, tabs are being closed one by one or are being bookmarked with appropriate tags. Repeat for the next page of search results.


Because my browser is like my brain and my life: disorganized and full of loose threads.

I imagine there's likely a correlation with ADHD, as well.


What's the point of making it available in the Tor network if their onion site includes a script from www.googletagmanager.com (or an "iframe" if scripting is disabled) thus making it significantly less anonymous?

Onion websites should be isolated and should not initiate any connections to vanilla internet.

Edit: it also loads scripts from www.google.com, tags.bluekai.com, cdn.optimizely.com...


libcurl (with examples) is bundled in the FreePascal distribution, as well as simpler alternatives like fphttp, fphttpclient, fphttpwebclient, etc.


Thanks will look into it.

It is hard to get the boss to allow you to write a mvp in non mainstream language.

So I had a quick swing at the libs and wondered about so/dll dependancies compiled against my exe; and just went for a bundled exe, yum and apt curl install script... under a day native win and ubuntu support?!:D I'm sure there is a TODO tag above my command for the junior that is going to hate me because he now needs to code in lazarus... ;)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: