207 karma · joined May 2, 2022
Thy micturations are to me,
As plurdled gabbleblotchits, in midsummer morning
On a lurgid bee,
If the service can learn the individual but current values of mach_absolute_time, then after a minimum of two requests you can likely compute N and distinguish between each device making a request.
This is possible because devices never reboot at exactly the same time.
However, from a numerical analysis / accuracy standpoint, evaluating the factored expression can result in loss of precision in the result when a is close to b. This is especially true if you repeatedly and sequentially do a lot of these operations. Loss of precision can be a problem in numeral modeling (like climate simulation) -- long term predictions diverge.
Given that there is a drive to use greatly reduced precision in ML engines, loss of precision might have an effect on how a model performs. Then again, it might not. I haven't read a lot of papers on ML, but I don't recall seeing ones that try to quantify how sensitive a model is to error propagation. (I am making a distinction between tests where the precision is reduced to see where it breaks down v.s. calculating / understanding what the error level actually is in a model)
I have not tested this because I don't want to delete all my photos and I don't have a 2nd set of systems to try this out with, but I think this can be done by creating a "shortcut" to do it. (Shortcuts are like AppleScript for the iOS ecosystem).
To do this, search for the "Shortcuts" app and run it (it usually isn't visible).
- Create a new shortcut - Add the "Find Photos" action - Add the "Delete Photos" action
This should connect the two actions together. You can then run it using the play button.
This will take a very long time to run if you've got a lot of photos and it will ask to confirm using a popup. It might be worth trying to remove items in smaller chunks by using a filter (perhaps based on date or some other criteria).
I hope this helps.
In the HomePod settings there is a section for "Personal Requests". When enabled, adding reminders will then go to the device / account of the person speaking. I'm not sure what the behavior is when set to off. You can change the setting for each HomePod.
One nit with this is that I haven't been able to make it automatically transition into navigation.
Consider what would happen if a data sector contained 12 * 0x00, 3 * 0xA1, 0xFE, ... then this implementation could mis-sync. On real hardware you'd have to be even more unlucky to have the CRC match -- which also isn't checked in this implementation. Using this as-is on real floppies could result in reading corrupt data. It would be possible to construct a floppy that would read correctly on real hardware and sometimes mis-read data with the current SW implementation.
The problem is that the 0xA1 bytes on the disk are special. The 0xA1 bytes are MFM encoded with a missing clock pulse -- making them "0xA1 syncs" that don't match an 0xA1 data byte.
This is what I think dragontamer is alluding to in another thread -- you cannot properly decode the header unless you also recognize the missing clock pulse. So it is important to do the clock recovery in order to notice this.
The special encoding is also present for 5.25 and early hard drives using MFM encodings.
Everyone has weaknesses to being socially manipulated. One way to mitigate this is to open a dialog with "the other side" to check and seek out inconsistencies. Perhaps not revealing everything in your exposé story or leaving the veracity of it somewhat ambiguous until things develop further. This could weaken the impact of your initial story. Dialog is probably not easy when the other party is undoubtably criminal and you can get blocked from reaching the right people. In this case, the accusations were against a corporation. They can be good or bad, but ultimately legal processes will reveal things.
I do think Mr Krebs has upped his game in recent years and enjoy reading his stories, but I read them like fiction rather than actual verified facts.
After the early days, Solaris did improve, but I think that was because ideas / pieces of BSD (from SunOS) were put back into the OS.
I don't think Solaris pipes / sockets performed better than Mach.
Networking is dynamic it takes many sequential steps to configure. There is no ZAP, it is done. I don't know of an OS that locks out "user programs" until configuration is complete. Yeah, since networking is dynamic that could never work -- "user programs" would be locked out forever!
At the start of the First Test there are packets going to non-tunnel locations at the same time the VPN is being set up, not a surprise. Packet ordering / routing at this time granularity is also not surprising.
Need to take a moment to review the "drop everything" when a VPN is up standpoint. OS Networking stacks don't really understand what a VPN is, it is just an endpoint to route packets. A TCP connection has internal state that is bound to the addresses that were used when it was set up - which is tied to the state of the routing table. A new point-to-point endpoint, like a VPN would invalidate that state. Most (many?) TCP/IP stacks keep a cache of the initial route on the socket. As long as that is still valid (or updated), that is where the packets go. Killing TCP connections for every (temporary) network flap would make a lot more people MAD.
The "DNS" to NextDNS with DoH connection is interesting. This 100% isn't coming from iOS itself. It doesn't support it. So it must be coming from an App. But what app and how? There is a NextDNS app which up front claims "Encrypt all DNS queries on all networks with the official NextDNS app for iOS". The author does appear to have configured the router to use NextDNS, perhaps they also have that App installed as well and it is also hijacking networking to do DNS? A dunno.
The "flood stuff" is interesting, but I think it might just be an attempt to perform STUN to make sure UPD traffic can be transported - to Apple endpoints. I think "second test" is the same thing happening again.
So what is left is the traffic being sent to apple endpoints. Now I wonder how the VPNs the author is using are implemented. The Big Sur VPN brouhaha was because apps were trying to implement a VPN using NEFilterDataProvider instead of a "tun" interface and routing. I wonder if this is just the same issue but on iOS.
Not related, but I do wonder what these VPN services offer in terms of "Firewall" protection or if when you use them ALL ports are forwarded to your device. This would make all of their endpoints a "great target" for continuous scanning for getting inside a network if the VPN user had something misconfigured, like say an experimental Apache, Nginx, PHP, Rails, Django, MySQL project. Doh. Methinks I should spend some currency and experiment. Sadly black-hats are probably already doing this.
The code that creates CP/M-86 (not multi-user) and CCP/M-86 (multi-user) are very similar. Some versions are publicly available. It is possible to download and compare.
All Multiuser capabilities of CP/M, MP/M, CCP/M were for a 4-Bit User (0x0 to 0xF), expressed directly in the stored filesystem FCB format, set by the TPM and inherited by processes. Some fallback file search support existed to User 0 for System Files. No "group" identity ever existed for CP/M. Please double check the CCP/M OS documentation which is available. I re-read to (re)confirm my memory.
(before my involvement...)
CCP/M-86 3.1 existed. Supported only CP/M style media.
CCP/M-86 4.1x existed. Supported only CP/M style media. Internal hints of CDOS :-).
CCP/M-86 5.x existed. Supported CP/M and DOS media. Re/Co-branded Concurrent-DOS 5.x.
CDOS 6.x existed. Supported DOS media. CP/M media only via CPM.CMD.
At the time there were OTHER 286 architectures than the PC that DRI Supported. There was an interesting one, by Jarogate (Liam antennae alert!) - the Sprite. It was many times faster than other platforms, so it was being used by DRI for some primary development work. It was a modified S-100 based system and supported a full 16MiB of memory. But CDOS could not use it...
As a Jarogate intern I spent a few weeks during a 198x summer with a rented HP logic analyzer working out what LOADALL (and other opcodes) did. This was based on some photocopy-fax-phlotocrapy-pfrax almost illegible document titled "MIPO News" which had teaser info, but not much more. At the end of my research I provided an ASM file of what LOADALL did and how to use it... I'm pretty sure it was given to DRI.
CDOS 6.x XM. existed. Supported DOS media. LIMS memory + [LOADALL HACK]
If you had a Jarogate Sprite running CDOS 6.2 XM, then it supported a full 16MiB of memory. I still have my Sprite, but it is not currently running :-( due to controller / disk problems.
The Jarogate sprite used an AMD 12Mhz CPU. I do not know how this maps to the Intel versions. But, I think this is where some of the compatibility problems for DR started!
The virtual console system of CCP/M was revolutionary and amazing. It does not get enough credit.
There are perhaps other untold stories of how DRI was trying to move away from hand crafted ASM and PL/M to other high level languages.
- Busses. How do you make them half width? (or perhaps, uncharitably, do you think public transportation is worthless?). If busses stay the same width how do you write the driving regulations for mixed width vehicles and retrain the driving public so that fatalities do not skyrocket.
- Bulk delivery vehicles. Same as above.
- Half width means less vehicle stability at speed. Reducing vehicle height is constrained by human size. Worse stability means reduced speeds to reduce fatalities. Consider San Francisco, where a large proportion of the city cars are from commuters traveling 30-60 miles per day. What are the rules for commuter roads with mixed width vehicles?
- Reduced width would likely mean smaller wheels, increasing rotational speed. Tire and brake pad wear is now a non-trivial factor of car pollution. Half width vehicles would / could make this worse.
An alternate view on the EULA is that it is a legal statement that nobody can get into trouble with any DCMA stupidity if they want to boot their own OS.
Contrast this with the Playstation 2 debacle, where you were only allowed to boot Sony's Official Linux. Which they then attempted to disable / withdraw when it was used to attack other parts of the Playstation copy protection system.
Apple has also provided a way for ARM Linux VMs to use Rosetta2 for Intel binaries. So they are clearly aware of the wants, needs and usefulness of running other OSs. The cynical might say this was only done to support some internal project that uses Docker, but why put in the effort to make it available to everyone?
The current situation does not preclude providing assistance in the future - Apple still hasn't finished replacing all of the Intel products.
The Bluetooth-less mechanism for WiFi only is an absolutely terrible idea and implementation. It actively leaks the network password to anyone listening. I refuse (and return) any device that requires me to connect it to my IOT network in this way. One can usually detect if this is the setup mechanism by looking at the instructions: (1) Download an App, (2) do something to the bulb (power cycles usually) (3) Setup happens automatically! I think some network stacks don't let non-privileged apps send broadcast addresses, so perhaps the scope of this damaged mechanism is limited.
It is better if the ESP8266 is put into a low power Access Point (AP) mode and configure that way - but due to this (usually) not being an encrypted WiFi session, there is also a risk of leaking the network secret unless a way to do a secure key exchange is bootstrapped in the html form or API. Both of these are possible if Javascript is enabled or via an App API. The instructions for doing this might also include downloading an App, but it also ought to require finding and connecting to a setup AP first.
I guess the best way to kill the "leak the password" mechanism is for a better mechanism to be created and incorporated into something like Tasmota or other public IOT ESP8266 codebase so it can be copied.
[1] https://help.apple.com/pdf/security/en_US/apple-platform-sec...
Yes, I agree. I also used SI as the PC so I could use "lodsb" (cute HN name BTW) and "lodsw" for 2 byte args.
My register use was
286 Z80
--- ---
BX HL
CX BC
DX DE
DI A
SI PC
When emulating the DD, FD and CB prefixes I pre-loaded BP with either IX+d, IY+d (IX, IY were stored in memory) or BX and jumping to common code.Basic structure was like
OP_00:
XOR AH,AH
LODSB
SHL AX,1
MOV BP,AX
JMP CS:OP_table[BP]
For OP_02 - "LD (BC),A" I used, OP_02:
XCHG CX,DI
MOV [DI], CL
XCHG CX,DI
JMP OP_00
I did see some opportunities for additional code-golf. Also noticed that EX AF,AF' did not properly exchange the flags (so that will need to get fixed!).I was mostly only running m80, l80 and mload.
I did write an 8086 assembly based Z80 emulator (in the late 80's) that was surprisingly compact and had acceptable Z80 performance on a 12MhZ AMD 80286. It passed CP/M system calls to Concurrent DOS.
I should see if I still have the code and run an emulator torture test to see how bad it was.
Ruby is my favourite language!
Am I a haiku
I have been following CHERI. I note that in order to create the first FPGA implementation they had to first define the HDL for a virtual memory system -- all of the research "processor" models that were available did not have working / complete VM implementations. CHERI doesn't replace VM, it is in addition to having VM.
I've found that memory bugs (including virtual memory ones) are difficult to debug, because the error is almost never in the place where the failures show up and there is no easy way to track back who ought to own the object or how long ago the error happened. CHERI can help with this by at least being able to identify the owner.
Virtual memory systems are usually pretty complex. Take a look at the list of issues for the design of L3 <https://pdos.csail.mit.edu/6.828/2007/lec/l3.html>. The largest section there is for creating address spaces. For the Linux kernel, in this diagram a lot of the MM code is colored green <https://i.stack.imgur.com/1dyzH.png>, it is a significant portion. More code means more bugs and much harder to formally verify.
I am not convinced by the argument that it is possible to take a fine grained system and trivially expand it to a coarse grained system. How is shared memory handled, mmap'ed dylibs, page level copy-on-write?
It is possible, with an http proxy / pihole to upgrade all of your local network connections to https when speaking to gs.apple.com.
My guess is that a change is coming, but the pieces aren't all in place yet.
This test seems to be based on how "understood" technology works and an expected outcome. Any technology that works better or differently than what you expect will fail.
Intel has already proposed MRAM -- aka persistent memory. If I am understanding correctly, your tests would claim that MRAM backed disks would fail your tests, they would perform way too fast.
These privatives seem to be super specialized and very dependent on what actually happens. The system call you reference, fsync() was introduced in BSD 4.2 -- 1983. There were no journaling filesystems in 1983. I think it is entirely reasonable to apply ~40 years of filesystem research to invalidate past system call practice and call it out as voodoo / blog fodder without real measurements on current filesystems and hardware and to also document if it fails or succeeds when the plug is pulled.
I acknowledge that doing this is hard work and time consuming. You are not going to get a 10 minute tweet from this, but really, isn't that the point of a robust filesystem?
On Linux you can mount a filesystem and invalidate some metadata updates using options such as noatime. This is also depends on the mounted filesystem, such as FAT, which might not even support the updated attributes. Are these constraints honored in these environments with these flags? (sorry, too lazy to write code and check this)
There is no data on what is actually "broken" or why it might violate POSIX.1-2008. What metadata is actually important or impactful?
I am very, very skeptical of claims made by some database folks, due to past experience. Some Oracle products, and from what I understand, still do not understand that monotonically increasing means greater than or equal to (>=). The equal to is the problem, because calling an absolute value timestamp function to derive a "unique" value will always fail (with the same return value) when you get faster hardware and more cores. In a past life (~2000), I had to add code to bork an operating system to appease this very misguided notion. Last month (May 2022) I got (2nd hand) info that after a hardware update to faster hardware, duplicate unique row_ids were being created in an Oracle DB.
Without additional details, I find it hard to understand what the issue actually is. Is this a detectable temporal violation of order of operations for a live system, or some sort of fail situation where an abort / reboot occurs -- would love to understand how the external logging of this was carried out, because how was that synchronized / timestamped?
For me to be taught, my parents ceded authority to the school to appoint credible teachers. Those teachers will have an identity, qualifications and perhaps a reputation. There are consequences for failing or abusing this position.
This is the way a lot of traditional things work.
To directly answer your question, no. A teacher that taught addition would likely be excellent for teaching multiplication.
But, I don't think this is how the internet now works, especially in the social media space. There is infinite identity, which creates trust problems for reputation and credibility. Applying traditional models breaks down. At the moment the dominant factor appears to be who can win a popularity content.
Hacker News is interesting in that karma is currency to build credibility and reputation. This model has flaws too. In my opinion, rewarding the most popular is not a long term winning strategy for a society or community. The demand for change only comes from dissenters. Dissenters and different opinions are the engines of change for any society / community, otherwise, without change, it would stagnate and fall into decline.
But, in the face of infinite identity what is the collective actually trying to say?
The followup definitely uses the "I" (for opinion) initially, but then switches to "we".
As a reader I am not a participant in "we" unless I agree with the statements being made. I think it is this is what made me frosty and say who is this other person, because it isn't me.
The classic knob to influence inflation is interest rates. This can be also be modeled. Non-politicised civil servants have a good record of being able to do a reasonable job at this - only if the politics are removed. In my opinion, removing all political allegiance for civil servant agencies is probably the best way to get better long term stability and prosperity.