Hackaday Links: September 4, 2016

Hackaday Links Column Banner

Nozzle socks! Just keep saying, ‘nozzle socks’ until the semantic satiation undoes any semblance of sanity. E3D, makers of the world’s finest 3D printer hotends have released silicone nozzle covers that prevent caramelized plastic gunking up your hot end. Nozzle socks.

Let’s talk guitar pedals. If you’ve ever built your own guitar pedal, you probably stuffed it inside a Hammond enclosure. There’s more to guitar pedal enclosures than custom-painted electronic boxes, and arguably the best enclosures are the ‘Boss’ style – a metal cover over the switch that can be removed to access the battery independently of the circuit. Now you can buy this type of enclosure. [Rixen] is producing blank die-cast aluminum pedals that look so much better than the standard Hammond enclosure.

The Antonov AN-225 is the largest and heaviest airplane in the world. Only one was built. For the last thirty years, a second airframe, about 70% complete, has sat in a field or hangar in the Ukraine, waiting for someone to put it into service. After numerous false starts over the past decade or so, the second AN-225 is finally being built.

The Hackaday Retro edition is our version of Hackaday optimized for embedded devices. When someone gets some old hardware on that vast World Wide Web and manages to pull up the retro edition, we like to celebrate. [Michael] recently got his old Amiga 1200 online and managed to find the software and hardware to get this machine on the net. Inside the A1200 is a 4GB CompactFlash, an ACA 1232 accelerator card with 128MB of RAM and a 33MHz 030. The network is handled by a Linksys EC2T card, and the software is KS3.0, WB3.1, MiamiDX IP stack IBrowse 2.4, and a bunch of 3rd party libs he can’t remember. Here’s a pic.

On a related note, I haven’t touched the Hackaday Retro Edition in years. Right now, it’s just a script running every five minutes that assembles five random posts from the first 15,000 Hackaday posts since the beginning of time. The retro edition does what I want it to do, but I’m wondering if it can be better. If you have an idea of how to improve the Retro Edition, leave a note in the comments.

28 thoughts on “Hackaday Links: September 4, 2016

  1. One thing to do would be to try and do a stripped down version of the last days posts that dynamically updates each time a new one is posted. A wordpress hack of sorts that renders down the actual blog into old HTML1 code. I’m sure that is what your 5 minutes script is doing at some level but a way to do that to any post. Just edit the URL and the page renders differently. Something like web10.hackaday.com that you then pass the full post url into and it strips everything but the text (and maybe if you want to get crazy an ascii art of the lead photo) so you can pull up any old article in the system. If you were worried about abuse of it skipping the ads you could make it not work for anything newer than 1 or 2 years ago.

    Idea 2: A perfect render challenge. Much like the Acid 1-3 tests, you could have a HackADay retro render challenge. Have the setup be one page each quarter a challenge to see how old of hardware you can get to render the ascii page (logo et all). Then set up 2 more challenge pages as the final test after the entrants get their machines ready. No coding for the test type of thing. Have a hall of fame page that lists off all of the people, and their machine, that pulled it off.

      1. Here’s my opportunity to explain *why* compressed images wont work.

        The first image on the main page of the retro site is 37.3KB so it will fit into the ram of a 128KB computer. Good!

        Now the problem is that the image is 470x310px/8bpp and the screens resolution is 160x200px 4bpp so you have to scale it down and to do that you have to decompress it first.

        A 470x310px 8bpp image decompresses to 142KB and you don’t have that much RAM on a 128KB system especially if you also have to hold the 37.3KB JPG as well while you are decompressing it.

        If the image was a non-compressed image format like Windows BMP or Microsoft PNG (with zero compression) then you can read it as a binary stream and just extract the pixels you want and drop the rest in the bit bucket because the pixels are ordered as you expect and there is never a need to have the whole image in RAM.

        So with non-compressed images you can scale on the fly and only have to store the resulting scaled image.

        To make it even easier you could use smaller images even scale them up in HTML for the retro site.

        Keep in mind that there are a number of images on the page as well. So you can’t render the page under the 640KB boundary of the IBM XT, meaning it is not render-able to all the 80’s computers before then.

        Keeping color depth at 8 bits is good as it’s easier to convert to the various palettes of the era.

  2. The retro edition tag set is OK. Tables would be a challenge but all the other tags are OK.

    The images are far far too big. Most of them are 4 or more times the size of the old screen resolutions and that becomes the impossible challenge, to decode, decompress, scale down, adjust the palette of a JPG all at once with the limited memory of the really old retro computers is just not worth the effort even if possible. ie the whole image is larger than the available RAM.

    If you use a bitmap like format then scaling would be easy as there is no decompression to be done – easy as, by comparison. Suitable formats would be non-compressed .PNG or .BMP. Just be aware that the .BMP format used on Linux is not compatible with windows. You have to write your own (or copy) a routine as the OS inbuilt ones don’t work.

      1. Anything that runs *nix and serves web pages is probably using the GD Library and in that library the BMP functions refer to “Wireless Application Protocol Bitmap Format” and it is a monochrome image format that is not byte comparable with the windows bitmap mime type.

        At an operating system level *nix handles actual windows bitmap formats by mime type rather than file extension like windows.

        Lazy web developers don’t check the mime type information at the beginning of a file and just use the file extension and that leaves the door open for hacking because browsers handle media by mime type and not extension. The HAD.io site is like this. Security rule #1: “Don’t trust *anything* that comes from the remote system! (Browser)” – Where does the file name extension come from ?

        Anyway, it’s an old problem and there are lots of snippets of code out there to handle the windows bitmap mime type as a string of byte or array of char.

          1. GIF isn’t at all ideal because it was designed for computers that over 512KB memory and many early 80’s computers didn’t have anywhere near that. It also has 4bpp (bits per pixel) color depth and it would be easier to go from a 8bpp palette to the various color spaces of retro computers.

            imagemagic or the GD library would be fine to resize.

        1. You keep repeating that “XXX are compressed…”, but for a real challenge: it should be possible to develop a streamed decompressor :-)

          Of course, that will depend on the image format, but for GIF (if we disregard for a moment “compound” images like animated GIFS), the compression scheme is LZW, which is designed to be streamable. Same should hold, in principle for JPGs: you go in stripes, one DCT block (16 pixels, IIRC) high.

          I’d even venture a conjecture: since every “new” image format is pushing some limits, most of them have this “streaming” heritage built in (and perhaps have lost some of it as they matured).

          1. You have a point but do you want to –

            1) Build some communications hardware, will it use the cassette port or joystick port or will it be a complex build that directly interfaces to the system bus.
            2) White the retro code for the CPU to read the hardware.
            3) Because everything outside the retro computer is faster than everything inside the retro computer your probably going to need a micro-controller to handshake the data transfers.
            4) Build the hardware for the above.
            5) You’re going to have to write the code for the micro-controller above
            6) Now you need to write a TCP/IP stack – where will that go? in retro code or on the micro-controller?
            7) Now you need a HTML rendered in retro code
            8) The blocks of RAM are 16kB on the retro-computer so you have to write a memory management unit to do the bank switching and manage memory.
            9) Now you need video interfacing code to break away from the tile based video memory mapping.

            OK so here is the question –

            Do you want to do *all* of the above just to see if you can write code to decompress ans scale down a compressed image on a retro computer with very limited memory??

            OR do you want to have a coffee.

            Well I am having a coffee and not even thinking of doing these things as they’re currently in the “too hard” basket the compressed image issue tips it over the edge.

  3. The article on the Antonov AN-225 mentions that the customer is Aerospace Industry Corporation of China (AICC).

    The interesting part is this:

    “The second stage – organization of the joint series production of the AN-225 in China under licence of ANTONOV Company”

    Suggesting there will be more than 2 !!!!

    1. It’s close to HTML 1.0 except that it has <BR /> (from HTML 4.01 dtd strict or XHTML 1.0) instead of <BR> and a <\p> which didn’t exist in HTML 1.0

      If anything these anomalies probably make it easier.

      The main site page would be far far too big to render on older systems.

      1. @Miroslav,

        You may be right. Observers were waiting until after the conclusion of the G20 meeting hosted in China if China would continue expansionist activities. They were right in one respect, China’s “Child”, the DPRK immediately AFTER the G20 embarked on a bunch of new missile tests. Now we wait to see if China move forward with further expansion in the South China Sea. Expectations are they will – this is an optimum time for China to push forward with expansion, the current U.S. Administration will do NOTHING substantive to stop them; perhaps until after the next U.S. General Election, and that depends on who gets elected.

Leave a Reply to KyryloCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.