Marcus10110 | 2 years ago | on: Cross My Heart – A Frogger Demake in 256 Bytes of HTML/JS
Marcus10110's comments
Marcus10110 | 3 years ago | on: Motorola 6800
[1] https://www.youtube.com/watch?v=zBkNBP00wJE [2] https://github.com/lefticus/6502-cpp [3] https://github.com/CalPlug/Heathkit_ET-3400
There is something special to me about the idea of writing modern C++, and compiling it for such early microprocessors. The 512 bytes of RAM is a pretty big limitation though. I wanted to try and emulate an EEPROM using an Arduino or FPGA, but got stalled out on the project. From time to time I like to browse through the LLVM backend documentation, but I can't seem to commit to trying to build a backend.
Marcus10110 | 3 years ago | on: Original Pong did not have any code or even a microprocessor
So when I met Al, I mentioned that I found the schematics fascinating, and had some questions. He was happy to walk me through the whole thing! After that, he told me all kinds of great stories about the different versions of pong that they built, including color support, the home version, and PAL support.
Marcus10110 | 4 years ago | on: Killed by Microsoft
https://github.com/fabianoriccardi/killed-by-microsoft is not a fork, but it has many of the commits from https://github.com/codyogden/killedbygoogle
The earliest commits from fabianoriccardi include git messages like: > replacing "Google" with "Microsoft", removed PressCoverage
Anyway, great code recycling at least right? It's a fun thought that the author of killedbygoogle ultimately wrote most of the code on killed-by-microsoft.
Contributor summary: https://github.com/fabianoriccardi/killed-by-microsoft/graph... https://github.com/codyogden/killedbygoogle/graphs/contribut...
Marcus10110 | 5 years ago | on: Can't you just right click?
I do wish Apple had a free tier for open source projects, just like many other tools on the web.
As an alternative, I wish there was an easy way to "sponsor" open source projects for this sort of thing. (I guess there is in some cases, but it's pretty hit or miss)
On Windows, although it's pretty easy to run unsigned applications, it's a huge pain to install unsigned 64 bit drivers, even if it's just the inf file that's custom. I've ended up signing open-source drivers several times with my own code signing certificate (a few hundred bucks every few years) although I haven't distributed the result. Drivers for things like USB SDRs.
Marcus10110 | 10 years ago | on: Google engineer writing Amazon reviews on USB-C cables that don't work
Most hardware on the market today was released before the xhci spec 1.0 was finished, and I agree that ALL hardware on the market does not even properly implement the spec that was available during its design. Fortunately, most issues can be worked around using quirks.
The hardware is the root of the problem, but I would also add that the xhci_hcd kernel module, even in the latest kernels, is well behind Microsoft in terms of handing these device-specific quirks. The Microsoft USB 3.0 stack introduced in Widows 8 solves just about every host-specific issue we've ever seen. ASMedia is the only host controller vendor that bothers to provide their own Windows 8/10 driver (both for their USB 3 Gen1 and Gen2 chips). No one else provides an alternative to the Microsoft provided usbxhci.sys. That said, all of our tests have been limited to bulk transfers, and we're only using existing user space libraries (WinUSB, LibUSB, IOKit). We do push throughput, we have tight latency requirements, and we keep a large number of buffers queued at all times, which does push the host controllers further than your typical storage device. (We make streaming data recording equipment for electrical engineers and embedded developers)
I don't want to bash xhci_hcd though; their progress has been fantastic, despite the minefield of problems created by all these host controller vendors. I would like to say a special thanks to @sarahsharp, for all of the hard work put into the xhci host controller module. Without Sarah, I don't know who will answer when the xhci_hcd doorbell rings.
Marcus10110 | 10 years ago | on: Google engineer writing Amazon reviews on USB-C cables that don't work
Marcus10110 | 10 years ago | on: Show HN: Ticket Titan - Fight Traffic Tickets
Marcus10110 | 10 years ago | on: One small startup, standing up against AliBaba
Marcus10110 | 10 years ago | on: Visual Studio Online Supports Cross-Platform Development
Specifically, maintaining backwards compatibility on OSX while marching forward with newer versions of the os has been a very big pain. We recently dropped support for OSX 10.6 because we simply could not get QT to statically compile on Yosemite, even after extracting the 10.6 SDK from a legacy xcode download. We did manage to keep 10.7 support though, thankfully, using the same SDK extraction method.
On Linux, the upgrade from QT 4.8 to 5.4 was the roughest. the number of dependencies dramatically increased, complicating the compilation of QT and breaking compatibility with older distros (specifically CentOS 6.x, where we hear the most complaints)
Windows & visual studio has always been our preferred developer environment, with the latest version of both. Maintaining support back to Windows XP has been particularly easy and painless. Where on Linux, it seems like the glibc requirements march forward with every release of gcc, and on osx it becomes dramatically more difficult to support older versions of the os with each new release.
A side note about QT on Windows - compiling QT and your application on the newest version of Windows helps a lot for customers on that platform - for instance, before we compiled on Windows 8, the application UI would default back to the legacy battleship grey theme, and simply rebuilding on Windows 8 with no source modifications fixed it.
Marcus10110 | 10 years ago | on: Breaking Grooveshark's encryption
Marcus10110 | 11 years ago | on: The hidden FM radio in your pocket and why you can't use it
Marcus10110 | 11 years ago | on: Should we give up on the dream of space elevators?
Marcus10110 | 11 years ago | on: Startup Bro Uses Tinder to Catch a Thief
The company's blog has updates, but still no resolution: http://blog.buildzoom.com/buildzoom-office-burglary
Marcus10110 | 11 years ago | on: Why I Drilled Holes in My MacBook Pro and Put It in the Oven
Lead free solder melts somewhere in the 200C-300C range. The solder we use melts at 230 degrees, and we reflow our PCBs in a Vapor Phase Soldering oven, which precisely limits the PCB temperature to 230C. Reflowing a PCB multiple times risks solder paste flux exhaustion, and also risks parts on the bottom side of the PCB falling off. Also, some parts are rated only for a very limited time at these temperatures, even when they are not running. Cooking these parts multiple times results in a dramatic reduction in lifespan.
It wouldn't surprise me if Apple did an x-ray inspection of every BGA part on every device they produce. This isn't common practice in the manufacturing lines that I know about, but I know that it's done in some cases. This would help catch cracks or other defects that would result in a reduced lifespan of the device, as well as detect show stopper issues.
There are a lot of other things that can fail on a PCB due to heat long before the solder will melt on a BGA pin. My guess that this was a mechanical failure inside the PCB. Either a through hole failure (such as a via disconnecting from a PCB trace, since the PCB is undoubtedly a very high layer count producing many fragile connections to long copper vias, which would expand vertically and in radius during temperature cycles) or an inner layer connection defect due to PCB or copper expansion. In either case, cycling the temperature by a large amount could temporarily fix the problem by creating a good enough connection for operation.
The bottom line is higher operating temperature always hurts mean time between failure. This is well studied, and many manufacturers will include plots of the operating temperature vs MTBF. Even though the laptop is working now, all of the components have been exposed to additional extreme additional thermal stress. Everything in the laptop is now much closer to failure. I don't expect the laptop will last much longer.
I'm not familiar with the guts of a MacBook Pro, but if there was a larger than normal gap between the chips and their heat sinks, then this would definitely explain the higher than normal system temperature. Even if the heat sink compound was able to bridge the gap with minimal air bubbles, it's still a pretty poor thermal conductor. This may have been a manufacturing defect that Apple could check for in the future. (Although I would hope they already run the devices for some length of time in their final enclosures while monitoring component temperatures)
Marcus10110 | 11 years ago | on: Teardown of the Microsoft Band
Marcus10110 | 11 years ago | on: NASA: We're sending humans to Mars
side note, you can get SpaceX flags here: http://shop.spacex.com/accessories-58/spacex-flag-bundle.htm...
Marcus10110 | 11 years ago | on: Gray Code
Marcus10110 | 11 years ago | on: The hammer-feather drop in the world’s biggest vacuum chamber [video]
Marcus10110 | 11 years ago | on: Ask HN: What do you do with your old iPhone when you buy a new one?
Turns out if you do this, then hold the up key, it would appear that you avoid collision detection. Also, it appears your X position is preserved between levels, allowing you to hold the up arrow to rapidly advance levels.