Building a GPS Receiver
https://axleos.com/building-a-gps-receiver-part-1-hearing-whispers/ [axleos.com]
2024-04-30 04:33
tags:
article
maps
physics
series
space
tech
visualization
GPS is perhaps one of the most audacious geo-engineering feats ever undertaken, and its traces can be felt with just an antenna and a motive.
All that said, it’s not as though there’s a cacophony of navigation data swarming around you, deafening if you could just hear it. In reality, the GPS signals surrounding you are astoundingly weak. To take an analogy: imagine a normal light bulb, like the one that might be above you now. Pull it twenty thousand kilometers away from the room you’re in, and have it flash, on, off, on, off, a million times a second. Imagine straining your eye to watch the shimmer of the bulb, two Earths away, and listen to what it’s telling you.
source: trivium
The 8086 processor's microcode pipeline from die analysis
http://www.righto.com/2023/01/the-8086-processors-microcode-pipeline.html [www.righto.com]
2023-01-27 18:28
tags:
cpu
hardware
investigation
perf
series
Dissecting the Apple M1 GPU
https://rosenzweig.io/blog/asahi-gpu-part-1.html [rosenzweig.io]
2021-01-22 18:59
tags:
graphics
hardware
investigation
mac
programming
series
systems
Apple’s latest line of Macs includes their in-house “M1” system-on-chip, featuring a custom GPU. This poses a problem for those of us in the Asahi Linux project who wish to run Linux on our devices, as this custom Apple GPU has neither public documentation nor open source drivers. Some speculate it might descend from PowerVR GPUs, as used in older iPhones, while others believe the GPU to be completely custom. But rumours and speculations are no fun when we can peek under the hood ourselves!
And part II where it really takes off: https://rosenzweig.io/blog/asahi-gpu-part-2.html
source: HN
Introducing the In-the-Wild Series
https://googleprojectzero.blogspot.com/2021/01/introducing-in-wild-series.html [googleprojectzero.blogspot.com]
2021-01-13 07:29
tags:
admin
android
browser
exploit
malware
programming
security
series
windows
windows
Floating Point in the Browser, Part 3: When x+y=x
https://randomascii.wordpress.com/2020/10/18/floating-point-in-the-browser-part-3-when-xyx/ [randomascii.wordpress.com]
2020-10-20 04:09
tags:
browser
bugfix
javascript
programming
series
That is, if you add a small number to a large number then if the small number is “too small” then the large number may (in the default/sane round-to-nearest mode) stay at the same value.
Because of this the loop spins endlessly and the push command runs until the array hits the size limits. If there were no size limits then the push command would keep running until the entire machine ran out of memory, so, yay?
Stupid std::tuple tricks: Getting started
https://devblogs.microsoft.com/oldnewthing/20200622-00/?p=103880 [devblogs.microsoft.com]
2020-07-01 01:57
tags:
cxx
programming
series
The Early History of Usenet
https://www.cs.columbia.edu/~smb/blog/2019-11/2019-11-14.html [www.cs.columbia.edu]
2020-04-10 00:51
tags:
email
networking
retro
series
social
unix
>November 2019 is, as best I can recall, the 40th anniversary of the conception of Usenet. (What’s Usenet? The Wikipedia article is ok but not perfect.) I should have written a proper paper; instead, there will (probably) be an irregular series of blog posts.
I didn’t notice the series concluded a while back, so if you were waiting to read the whole thing, it’s done.
This Goes to Eleven - Decimating Array.Sort with AVX2
https://bits.houmus.org/2020-01-28/this-goes-to-eleven-pt1 [bits.houmus.org]
2020-04-09 23:39
tags:
best
cpu
csharp
dotnet
interactive
perf
programming
series
sorting
visualization
Let’s get in the ring and show what AVX/AVX2 intrinsics can really do for a non-trivial problem, and even discuss potential improvements that future CoreCLR versions could bring to the table.
Everyone needs to sort arrays, once in a while, and many algorithms we take for granted rely on doing so. We think of it as a solved problem and that nothing can be further done about it in 2020, except for waiting for newer, marginally faster machines to pop-up. However, that is not the case, and while I’m not the first to have thoughts about it; or the best at implementing it, if you join me in this rather long journey, we’ll end up with a replacement function for Array.Sort, written in pure C# that outperforms CoreCLR’s C++2 code by a factor north of 10x on most modern Intel CPUs, and north of 11x on my laptop. Sounds interesting? If so, down the rabbit hole we go…
Very well done.
The Polygons Of Another World
http://fabiensanglard.net/another_world_polygons/index.html [fabiensanglard.net]
2020-01-03 06:42
tags:
development
gaming
programming
retro
series
An other choice would be Eric Chahi’s 1991 critically acclaimed[1]” title “Another World”, better known in North America as “Out Of This World” which also happens to be ubiquitous. I would argue it is in fact more interesting to study than DOOM because of its polygon based graphics which are suitable to wild optimizations. In some cases, clever tricks allowed Another World to run on hardware built up to five years prior to the game release.
This series is a journey through the video-games hardware of the early 90s. From the Amiga 500, Atari ST, IBM PC, Super Nintendo, up to the Sega Genesis. For each machine, I attempted to discover how Another World was implemented. I found an environment made rich by its diversity where the now ubiquitous CPU/GPU did not exist yet. In the process, I discovered the untold stories of seemingly impossible problems heroically solved by lone programmers.
source: HN
A very deep dive into iOS Exploit chains found in the wild
https://googleprojectzero.blogspot.com/2019/08/a-very-deep-dive-into-ios-exploit.html [googleprojectzero.blogspot.com]
2019-08-30 02:11
tags:
best
browser
exploit
investigation
iphone
malware
security
series
web
Earlier this year Google’s Threat Analysis Group (TAG) discovered a small collection of hacked websites. The hacked sites were being used in indiscriminate watering hole attacks against their visitors, using iPhone 0-day.
There was no target discrimination; simply visiting the hacked site was enough for the exploit server to attack your device, and if it was successful, install a monitoring implant. We estimate that these sites receive thousands of visitors per week.
TAG was able to collect five separate, complete and unique iPhone exploit chains, covering almost every version from iOS 10 through to the latest version of iOS 12. This indicated a group making a sustained effort to hack the users of iPhones in certain communities over a period of at least two years.
I’ll investigate what I assess to be the root causes of the vulnerabilities and discuss some insights we can gain into Apple’s software development lifecycle. The root causes I highlight here are not novel and are often overlooked: we’ll see cases of code which seems to have never worked, code that likely skipped QA or likely had little testing or review before being shipped to users.
Getting Into Browser Exploitation
https://liveoverflow.com/arbitrary-read-and-write-in-webkit-exploit-browser-0x08/ [liveoverflow.com]
2019-07-26 00:24
tags:
browser
exploit
javascript
jit
programming
security
series
Last post in series, toc at the top.
0x00: New Series: Getting Into Browser Exploitation
0x01: Setup and Debug JavaScriptCore / WebKit
0x02: The Butterfly of JSObject
0x03: Just-in-time Compiler in JavaScriptCore
0x04: WebKit RegExp Exploit addrof() walk-through
0x05: The fakeobj() Primitive: Turning an Address Leak into a Memory Corruption
0x06: Revisiting JavaScriptCore Internals: boxed vs. unboxed
0x07: Preparing for Stage 2 of a WebKit exploit
0x08: Arbitrary Read and Write in WebKit Exploit
source: grugq
7 Days To Virtualization: A Series On Hypervisor Development
https://revers.engineering/7-days-to-virtualization-a-series-on-hypervisor-development/ [revers.engineering]
2019-07-25 14:07
tags:
cpu
programming
series
systems
virtualization
Detecting in C++ whether a type is defined
https://devblogs.microsoft.com/oldnewthing/20190708-00/?p=102664 [devblogs.microsoft.com]
2019-07-11 18:37
tags:
cxx
programming
series
type-system
Pesäpallo: The rules for the casual viewer
https://devblogs.microsoft.com/oldnewthing/20190711-01/?p=102684 [devblogs.microsoft.com]
2019-07-11 18:34
tags:
series
sports
Sublucid Geometry
https://zalo.github.io/ [zalo.github.io]
2019-03-16 23:31
tags:
geometry
interactive
math
physics
programming
series
visualization
Just going to link to the whole blog.
source: L
.NET Internals Cookbook
https://blog.adamfurmanek.pl/2019/02/16/net-internals-cookbook-part-0/ [blog.adamfurmanek.pl]
2019-03-09 18:47
tags:
csharp
dotnet
programming
series
type-system
In this series I answer various .NET questions. Some of them are asked during interviews, some of them I see on the internet, some of them are completely made up. The goal is to provide short answer with links to references if needed. This is by no means a .NET tutorial or experts reference, this is just a bunch of useful answers to refresh your knowledge.
Some of this gets pretty deep actually.
source: L
Everything You Need To Know About SVG
https://css-tricks.com/lodge/svg/ [css-tricks.com]
2019-02-01 01:25
tags:
graphics
html
series
web
Using SVG can be very simple, but if you start digging in, there is a lot to know about SVG. In this series you’re going to learn why SVG is such an important part of building websites. From why SVG is useful and how to get your hands on it all the way to implementing it as a system and fancy stuff like animating it.
source: HN
Fixing random
https://ericlippert.com/2019/01/31/fixing-random-part-1/ [ericlippert.com]
2019-01-31 21:55
tags:
best
csharp
math
programming
random
series
Inside the Apollo Guidance Computer's core memory
http://www.righto.com/2019/01/inside-apollo-guidance-computers-core.html [www.righto.com]
2019-01-30 21:34
tags:
hardware
malloc
photos
retro
series
space
The Apollo Guidance Computer (AGC) provided guidance, navigation and control onboard the Apollo flights to the Moon. This historic computer was one of the first to use integrated circuits, containing just two types of ICs: a 3-input NOR gate for the logic circuitry and a sense amplifier IC for the memory. It also used numerous analog circuits built from discrete components using unusual cordwood construction.
Also core rope: http://www.righto.com/2019/07/software-woven-into-wire-core-rope-and.html
Erasable core memory and core rope both used magnetic cores, small magnetizable rings. But while erasable core memory used one core for each bit, core rope stored an incredible 192 bits per core, achieving much higher density.2 The trick was to put many wires through each core (as shown above), hardwiring the data: a 1 bit was stored by threading a wire through a core, while the wire bypassed the core for a 0 bit. Thus, once a core rope was carefully manufactured, using a half-mile of wire, data was permanently stored in the core rope.
Also, Bitcoin: http://www.righto.com/2019/07/bitcoin-mining-on-apollo-guidance.html
Also, NOR gates: http://www.righto.com/2019/09/a-computer-built-from-nor-gates-inside.html
This historic computer was one of the first to use integrated circuits and its CPU was built entirely from NOR gates. In this blog post, I describe the architecture and circuitry of the CPU.
Also: https://www.wsj.com/articles/an-apollo-spacecraft-computer-is-brought-back-to-life-11563152761
The Intel 80386, part 1: Introduction
https://blogs.msdn.microsoft.com/oldnewthing/20190121-00/?p=100745 [blogs.msdn.microsoft.com]
2019-01-21 23:46
tags:
cpu
programming
series
systems