Category: Writing

  • Digital Archival – link dump

    Why even archive?

    Because Corporations are Crappy Archivists and there are A Million Ways to Die on the Web (by ArchiveTeam). ArchiveTeam lists examples of different reasons major websites disappear from the Web.

    A guide on how to preserve your local music scene with Internet Archive

    Summary of the 4 main points of Archive and Survive, or How To Make Your New Minimal Post-Hardcore Inspired Hyperpop Adjacent Chicago Juke Meets Early Gabber Project Last For A Thousand Years (In Four Easy Steps!):

    • Save everything (don’t trust a mega-corp to save it for you)
    • Reperform
    • Collaborate with other forms (using a piece within a new medium makes it more resilient)
    • Make your rich friends buy original instruments
      “We only have the Stradivari and Guarneri string instruments still around played today because of fuccboi nobles who bought violins they weren’t very good at playing”

    Link rot scale – Pew Research says 38% of webpages that existed in 2013 are no longer accessible a decade later

    Notable big sites that disappeared before our eyes: MySpace, Geocities, MTV News and their archive, Comedy Central site.

    Do you have to download all the things?
    No.
    Anna’s Archive: How to become a pirate archivist taught me that there is value in downloading metadata. It is better to know that Thing X existed at time Y than to have zero information. Some information is better than the “big perfect archiving project that you never undertook.”

    Archiving Proxies

    WARC proxies – https://github.com/internetarchive/warcprox (note: won’t work on Windows because it relies on fcntl module) and ArchiveBox Proxy for archiving full pages while you scrape data. Telerik Fiddler might be another workable option for saving session traffic.

    What I ended up using for a project on Windows was mitmproxy with the mitmdump command line executable that comes with it. You can use the --set hardump="./myfile.har" argument to save your captured session as a standard HAR file. Here’s an example script that tracks anything you send through localhost:8080 except requests to a few ad-server domains:

    mitmdump --set hardump="./myhardump.txt" !~a !~d "doubleclick|forter|google|clarity|bing|criteo|tiktok|facebook|quantummetric|stickyadstv|agkn.com|taboola|bluekai|adsrvr|casalemedia|adnxs|pubmatic|outbrain"

    And here is a reference to mitmdump command-line options.
    By default, mitmproxy validates inbound headers. Sometimes, a violation of HTTP/2 headers can crash your session – you can disable this validation with the --set validate_inbound_headers=false command line parameter

    You can also script mitmproxy and mitmdump to have them behave as mock-servers, and to match-and-replace content on the fly. I’m especially grateful for KevCui’s mitmproxy scripts because I only know enough Python to go hissss I’ma snaek!!

    Downloading webpages

    https://en.wikipedia.org/wiki/Help:Using_the_Wayback_Machine – several URL parameter settings in Wayback Machine. You can just set the year to get the closest match, rather than an exact date. You can use “if_” to get minimal iframing w/ URL rewrite, or “id_” to get the literal HTML that the Wayback machine got originally – without any added code/rewrites.
    Ex:

    https://web.archive.org/web/2011if_/http://msdn.microsoft.com/en-us/magazine/bb985653.aspx

    You can also access Wayback Machine data using their CDX API:

    If you are running into files being blocked because of CORS (in Chrome, “ERR_BLOCKED_BY_ORB”). Run Chrome like this:

    https://web.archive.org/cdx/search/cdx?url=*.co.yu&collapse=urlkey&filter=mimetype:text/html&limit=1000

    Here is a sample project writeup, and here is the official CDX API documentation.

    (more…)
  • Dr. Dobbs – Web Articles from 2008

    As the Dr. Dobb’s website continues its decline, I’ve gathered a full set of it’s online articles for the year 2008 (these are different from the print journal articles from the same year in the set from 1988-2009).

    You can search through them:

    Or browse them here:

    (more…)
  • Every year, I buy a new car.

    Every year, I buy a new car.

    (Originally posted on LinkedIn on Jan 30, 2024)

    Every year, I buy a new car.

    It started in 2010 when I moved out on my own: a black Dodge Caliber. Second hand.

    This year’s purchase was a new 2023 Kia Forte that I picked up from a dealer in St. Catharines.

    And so on, every year in between, I’ve spent my after-tax money to purchase a car.

    You must be thinking “where does he store these cars?” or maybe “why would anyone do this?”

    Well, you see… I don’t buy these cars for myself.

    I buy them for Susan, my landlord’s niece. For Rajiv, another landlord’s cousin. In 2016, I bought a real treat – a new 2016 Toyota Prius C – for Carrie. She was my landlord’s second wife.

    As a renter I have to hand over a car’s-worth of cash every year. For the privilege of living indoors.

    I know, I know. “Nothing in life is free”. We all have to pay.

    But it’s a whopper, isn’t it? When you really think about the sums involved…
    And it’s a doozy when you picture the alternative to having a roof over your head (I ❤️ love you Mom, but me and the fam aren’t moving back into the spare bedroom )

    My landlords have changed over the years: I started with Briarlane, a large holding company here in Toronto.

    Then my landlord was Akelius – a Swedish real estate firm who’s main trick is to perform unnecessary “improvements” to jack up your rent.

    In 2016 my landlord was CAP REIT – a REIT is a special scam that charges real-estate businesses way less tax than other businesses. Because… they’re a sort of elaborate hobby rather than a for-profit entity!?

    One day you – yes you – will have a chance to lighten the burden for renters like me.

    Your chance will look like voting for politicians who support denser housing, more multi-storey, more “container” or “prefab” housing.

    Your chance might be filling a city-run survey where you say you’re ok with more schools in your neighbourhood & more 3-bedroom units in new buildings.

    Your chance might look like expressing support for an ombudsman who’s investigating corruption in the construction industry, and corruption in your Province’s housing ministry (this is how you know I’m from Ontario 😆 ).

    Come join me in pushing for housing options that make sense for renters.

    And maybe – one day – I’ll be able to give you a lift in a real car!

  • Find and Replace Text with Multiple Rules (CSV upload)

    This tool performs multiple find-and-replace operations at once on a piece of text that you supply. Create a CSV file with the strings you want to replace in the first column, and the substitution text in the second column:




    Notes:

    • Case-sensitive matching. So any rules matching "apple" will not apply to the string "Apple".
    • This tool only works on exact search and replace values. Regex not supported. You can "view source" and adapt the code to your needs. I think you'll need to change the line
      targettext = targettext.replaceAll(data[currentrule][0], data[currentrule][1]);
      to something like
      var regEx = new RegExp(data[currentrule][0]);
      targettext = targettext.replaceAll(regEx, data[currentrule][1]);
      but it won't do "Capturing Groups" logic.
    • Think about how your search-and-replace rules will interact with each other. Rule #5 will not be operating on your original text - it will operate on the result of replacement rules #1, #2, #3 and #4...
    • Successfully tested on a 1.5mb text file, with a set of 15,235 replacement rules. I built this tool because this other tool from JoydeepDeb could not handle an operation this size.
    • This code runs in your browser - the text you enter and the .csv file never leave your computer. I do not have access to them.
    • Big "thank you" to Vanessa Fotso who's code & tutorial for handling CSV files in JavaScript I used for this project.
    • Also thank you to PictureElement on StackOverflow, who's answer about updating the DOM inside JavaScript loops was very helpful. That progress bar took longer than the substitution code...
  • Search Dr. Dobbs Journal Articles

    Use this basic in-depth search to get a max of 20 documents that have your term:

    Or press CTRL + F in your browser to search for specific keywords. Click on the links to read articles. These are Dr. Dobbs article headings from 1988 to 2009 (from oldest to newest).

    If you want to hook me up with a real search engine, you’re welcome to it 😅

    (more…)
  • Jacob Eats: Cream Collon

    We all know how eating works:

    The food goes in your mouth hole. It slides down the neck tube. Gets pummelled by the stomach muscles. Then it galumphs down the small intestine, spelunks through your large intestine, and PAPOW! that brown, gooey goodness – yes ladies and gentlemen – today I am munching on that Cream Collon.

    This Cream Collon snack starts out promising.

    (more…)
  • After ArVid – Closing Notes

    On November 25, 2023 I started research for this article about ArVid, a Russian-developed device for storing data on VHS tapes. I finally hit “publish” on Jan 21, 2024, almost 2 months later.

    This post is a “behind the scenes” look at my research methods, and some general observations that didn’t make it into the article itself.

    What prompted this research

    I’ve seen the ArVid mentioned before in forum comments. It is a neat device and it comes up reliably when someone has the neat idea to store data on VHS tape. Turns out that many people had the same idea.

    The last time I saw it mentioned, I went ahead and visited the English Wikipedia page for ArVid to learn more. There was remarkably little information on that page. I decided to go a little further and Google it – that was more fruitful because it brought up documents in Russian. Luckily, I can read Russian and saw an opportunity to collate information about this device into one spot.

    (more…)
  • Computerra | КОМПЬЮТЕРРА

    Computerra (Компьютерр) was a Russian weekly computer magazine. It began publication in 1992, stopped print publication in December 2009, and appears to have published online until 2013.

    There is an archive of content from 1997 – 2013 at old.computerra.ru but earlier content is impossible to find online.

    You can browse articles from 1995-2004 on my site here:

    A full .iso file with all the articles and images is available on the RuTracker Torrent site, or directly from my site here.

    The collection above has text and some photos that accompanied the articles, but we also have scans of several print issues. Invaluable if you’re looking for graphic design from the time, hardware prices (from ads – something I needed for a research writeup) and other elements that are only visible in print:

    Computerra issues 37 and 38 from 1995 (pdf)
    Computerra issue 42 from 1995 (pdf)
    Computerra issue 45 from 1996 (djvu). To read a .djvu file, I recommend Sumatra PDF Reader.
    We even have a scan of Computerra “issue 0” from 1992!

    The scans are courtesy of the amazing archive at MagzDB (update – this site is defunct, but some of it was saved to Anna’s Archive). If you have more scans of Computerra magazine, comment or email me at jacob at this site.com. I’d love to host them!

  • Dr. Dobb’s Journal (articles from 1988 – 2009)

    What is this?

    This is content from the DDJ Developer Library DVD-ROM 6 that was published in 2010. Publications included:

    There are articles are in HTML format, along with source code, podcasts and videos.

    Basic search in articles

    Publication:
    (more…)
  • ArVid: how Russians squeezed 4 hard drives into one VHS tape in the 90s

    ArVid: how Russians squeezed 4 hard drives into one VHS tape in the 90s

    Storing massive data, as cheap as possible

    The year is 1995 and you live in post-Soviet Russia.

    It’s a hellish time: prices for basic consumer goods are triple what they were last year. Your employer just paid your salary in eggs instead of money. There are daily shootouts between rival gangs. 🎵Your love life’s DOA…🎵

    It’s a wonderful time: Russia is awash in Western computers, TVs, VCRs, cassette players and dialup modems. Technology that was strictly off-limits in 1989 is suddenly within reach.

    As one of the lucky Russians to have a computer at home, you are facing a challenge: your 500MB hard drive is overflowing with software, games, and documents. You must find an affordable way to get more digital storage.

    Floppy disks (30Pin Pictures on Flickr)

    You could store files on cheap and plentiful floppy disks. But each floppy only stores 1.44MB and is known to randomly lose data. Your second option is to buy another hard drive. But that costs about $200 USD – as much as a Russian’s entire monthly salary…

    You head over to the local computer store in a gray mood. The store is cramped with bootlegged computer games, peripherals and hardware. Inside, you ask Yevgeni the proprietor whether there might be a cheap solution to your storage problem.

    This is Yevgeni:

    Click here for more footage of Yevgeni from 1995.

    Fortunately, Yevgeni does have a 3rd option for you! It’s a truly innovative Russian-made product called the “ArVid” card. It comes in a package like this:

    It is an ISA expansion card for your computer and will allow you to use your home-VCR to store 4 hard-drives’ worth of data on a single VHS tape. The same tape you use to watch movies at home.

    (more…)