Categories
essays

The Internet Archive as an Educational Technology Tool

Foreword: This essay was written in November of 2020. I’m publishing it today, March 20th, 2023, in solidarity with the Internet Archive. More information about the Hachette v. Internet Archive lawsuit can be found on the Electronic Frontier Foundation website, the Library Futures website, and the Battle For the Libraries website by the advocacy group Fight For the Future.

The Internet Archive is a useful technology tool that has several factors to consider ethical usage for educational purposes. I am for the use of the Internet Archive for usage in an educational context because the content that might be used by an instructor would be specifically chosen and relevant to course material. Content that is used for educational purposes would be considered under Fair Use, as no one is profiting financially, but rather learning and engaging with content that might otherwise be unobtainable. Webpages that may no longer exist, videos and software that may otherwise be unobtainable, and books and newspapers that are difficult to obtain would still be able to be referenced.

Some arguments for using the Internet Archive for educational materials is the belief that information wants to be shared and that information wants to be free. By using materials that would otherwise be more rare or difficult to obtain for educational purposes, it can enlighten minds to think differently. Because specifically chosen content would be used under Fair Use, there would be freedom to apply and use the material as seen fit to the instructor to benefit the students and would be ethical from a contractual standpoint of the law. Students could benefit from viewing different eras of information from a unique perspective.

Some arguments against using the Internet Archive for educational material is that there could be information that publishers may have wanted to obtain a profit when used or educational purposes. By using the Internet Archive to obtain these materials, one is circumventing the systems provided by the publisher. Fair Use and copyright often overlap and can be viewed as grey area from a legal standpoint. While typically information is preferred to be available for lower-cost or free for educational purposes, creators of content have put work and effort into the creation, and therefore their labor would not be compensated for, which can be seen as an ethical problem.

In conclusion, using the Internet Archive for educational purposes is a good practice if done carefully and correctly. Content should be relevant to course material and used as such. Because of the free and open atmosphere of the Internet Archive, one still needs to apply how they use the material, crediting the authors and creators, and not circumventing them. Materials obtained from the Internet Archive should typically not be sold or used for profit unless they are in the Public Domain or especially have a license to do so. In an educational context, this is an unlikely occurrence, as generally the only profit would be gained knowledge.

Categories
tech

Dissecting PDB and PRC files (Palm OS)

Say you have a PDB or PRC file from an old Palm device, and it has things you want. Some things this could be include calendar info, audio, text memos, etc. Things of various formats could be stored in these Palm Record files to be read by the device. The problem is that these files can’t necessarily be processed or simply extracted and immediately be useable.

These files typically have some header info, and then the actual file or files contents. Each file is stored in its own record, and larger files may need to be stored in multiple records possibly. Regardless, to break apart these files, I tried many different methods.

First, I analyzed some files with a text editor to inspect the idea of what I was looking at. I had a particular file I wanted to extract, an alarm sound called Concerto, as it isn’t available online in the original MIDI format. After finding the correct PDB file which contained about fifty records of MIDI sounds from a backup, I started attempting to dissect it.

One method included running a Java program to zip the contents as output, but it would create a massive massive file that could not actually be processed. Afterward, I analyzed the PDB file with a hex-editor to possibly break it apart. Some further research and someone suggested using API from a Java program written for Linux users to HotSync their devices called JSyncManager. This older program is open source, but to obtain the source code, I needed to use the obsolete CVS protocol to download it from Source Forge with the free version of CVSNT. The Java module that I needed got me nowhere.

I eventually ran into two lovely programs called PalmDump and PDBMake. PalmDump would output all the data of a PDB or PRC file in both Hex and ASCII form in two columns, into a single text file, and with separate headers for each record. This was helpful and helped me confirm that I was looking for record 3 from the file. However, I was getting lost to the point that I posted on the Reddit SlaveLabour network. But before anyone responded, I found the solution myself.

When taking the hexadecimal data and putting it into its own file using a hex-editor didn’t work. I tried putting a different MIDI of Game of Thrones music into a PDB file and saw something unusual in the header.

I then confirmed my suspicion when I discovered the program of Par. This program essentially lets you properly dump all the records into their own files from a PDB or PRC file, similar to extracting a ZIP archive. When comparing the hex data of record 3 which I knew to be a MIDI, to the Game of Thrones MIDI, I realized the file header for MIDI format required that it start with MThd. The header I was seeing for the file was PMrc..Concerto.MThd.

By removing that header up to the MThd with the hex-editor, I was able to playback the file as a MIDI! Sure, it didn’t sound exactly the same because of the different SoundFont included on Windows, giving it a piano instead of a beep. With WAVE audio files, the header starts with RIFF, but Palm adds its own stuff prepended at the beginning.

Categories
tech

Windows Sandbox tips

Recent versions of Windows 10 give users the ability to install a sandboxed version of the OS for running programs you may only need once, or don’t want to be installed on your main disk. When you are done, as soon as you close the Sandbox, everything you have done will be lost. I’m just going to list off some tips and flaws I’ve encountered with this feature.

  • To install this, you would need to install the Feature from the old Windows 7-era Windows Features. You can search “Turn Windows Features On or Off” in your start menu or access it from the classic Control Panel – Programs and Features – Turn Windows Features On or Off. It is listed as Windows Sandbox.
  • While this system logs directly into the interface, there are some rare scenarios you may need the password to the default user of the system, “WDAGUtilityAccount“. The password might be “pw123” however I’ve not had time to test it. What I did when I needed the password, was reset it with the command line, by running the command “net user WDAGUtilityAccount * ” without quotes, and this would allow you to set a new password. Remember that any password changes will, of course, be wiped when you open the Sandbox again next time.
  • There will be issues if you want to run Hyper-V alongside other VM programs like VirtualBox and VMWare. Unfortunately, Windows Sandbox uses a limited version of Microsoft’s Hyper-V, so conflicts tend to occur. I’m still trying to get Sandbox and VirtualBox running concurrently without issue. The new VirtualBox 6 supports Hyper-V but I’ve yet to be able to experience that.
  • At least in my experience, the Windows Sandbox IP address is 192.168.183.166 so if you run any server programs that you want to access on the host device that is running the Windows Sandbox through a web browser. I am unsure if this can be accessed from other devices on the network, by default at least.