Friday, December 02, 2011

icacls takeown ??-?? scripting for removing localized locale directories in system32 with access denied

Windows Server 2008 has permissions locked down tight on the system32 directory.
I ran into an issue when I wanted to remove all the localized directories (AR-SA, BG-BG, CS-CZ) - I will never use them and I wanted them gone (except for EN-US). This is what I finally ended up with as a solution. It was a learning process. I realize it can be scripted in a neater way but this was the most logical for me.

dir C:\Windows\System32\??-?? /aD /b > c:\output.txt

  - Now open the output.txt file and remove EN-US so it doesnt get deleted!!!

for /f %i in (c:\output.txt) do takeown /F C:\Windows\System32\%i\* /A /R
for /f %i in (c:\output.txt) do icacls C:\Windows\System32\%i\* /grant Administrators:F /inheritance:E /T
for /f %i in (c:\output.txt) do del /S /Q /F C:\Windows\System32\%i
for /f %i in (c:\output.txt) do rmdir C:\Windows\System32\%i

        - Now do the same thing on Syswow64 (32-bit location on a 64-bit system = WoW)

for /f %i in (c:\output.txt) do takeown /F C:\Windows\Syswow64\%i\* /A /R
for /f %i in (c:\output.txt) do icacls C:\Windows\Syswow64\%i\* /grant Administrators:F /inheritance:E /T
for /f %i in (c:\output.txt) do del /S /Q /F C:\Windows\Syswow64\%i
for /f %i in (c:\output.txt) do rmdir C:\Windows\Syswow64\%i

Explanation with {my own description of whats being done inside the curly braces}

  • dir C:\Windows\System32\??-?? {list all files or directories with the locale pattern ??-?? like AR-SA} /aD {make sure only all directories are listed} /b {bare output suitable for scripting} > c:\output.txt {pipe the result into a text file}
  • Remove "EN-US" (or your particular locale that you use from output.txt because everything listed in output.txt is going to be deleted very shortly)
  • for /f {for every line in a file} %i {read the first value} in (C:\output.txt) {this is the file to read values from dont include spaces otherwise you will have to use " " inside the ( ) and throw on a "usebackq" in quotes after for /f} do {the command that follows is executed on every %i value from the file one by one}
  • takeown /F {specify a file or directory to take ownership of} C:\Windows\System32\%i\* {each localized directory that we want taken over} /A {give ownership to the administrators GROUP not "Administrator" itself} /R {Recurse subdirectories and files}
  • icacls C:\Windows\System32\%i\* {specify what directory or file you want access to} /grant Administrators:F {grant Administrators group FULL permission} /inheritance:E {enable inheritance on the directory specified} /T {recurse subdirectories and files}
  • del /S {delete all subdirectories and files} /Q {without confirmation} /F {force delete of any read-only files} C:\Windows\System32\%i {every locale dir with the value %i from the for command}
  • rmdir C:\Windows\System32\%i {remove the empty directories once done} (god i miss deltree)

Thursday, November 24, 2011

Linux Mint 12 mint4win WUBI

I have created a mint4win.exe WUBI installer - (works on Linux Mint Version 12 DVD version and CD version) - WUBI installs Linux Mint inside of Windows allowing for an easy install/uninstall process.
I did this because the DVD version does not include mint4win.exe and there was an arbitrary decision why it was not included.
There is no technical limitation stopping the inclusion of mint4win.exe on the DVD.
I recompiled it from the sourcecode from Sourceforge mint4win project on 11/23/2011.
It is hosted @
It does not work on version 11 due to internal checking routines that I did not decide to edit.
---{(2 Easy Instructions)}---
1. Put linuxmint-12-gnome-dvd-64bit-rc.iso into the ROOT Directory (ie: C:\, D:\, E:\, Z:\, Q:\, L:\)
or whatever your .ISO is named, you can rename the ISO because mint4win does not check the name)
MAKE SURE IT IS IN the ROOT directory (ie C:\ D:\ E:\ -> Z:\)
2. Double click mint4win-12.exe (it will scan the root directories for any ISO between 600MB and 4.7GB and scan for any physical or virtually mounted DVD/CD, and analyze what it found to make sure what it found has the correct files.
---{(Additional Info)}---
This mint4win-12.exe Only works on version 12.
This mint4win-12.exe does not automatically download from the internet (please download the ISO first from a mirror)
If you use a physical DVD/CD you can choose the "Demo/Full Installation" option - but this does not install into Windows, it is exactly like using booting the disc itself and bypasses any functionality of mint4win and WUBI therefore you should not choose this option -
Choose "Install into Windows" to use mint4win (WUBI)
If you use a virtually mounted DVD/CD DEFINITELY do not choose "Demo/Full Installation" because it will try to reboot and the virtual drive won't be there anymore.

Here is the thread that I posted it to:

Saturday, November 19, 2011

As far as converting disks - the backup and system scan with TestDisk is overkill but of course it will work. The testdisk method is irrelevant to dynamic -> basic conversion - although testdisk is greatly useful if you have additional errors in the partition table...... I have converted many dynamic disks (working and non-working/non-bootable) back to Basic by changing the "Type 42" (dynamic disk) to "Type 07" NTFS as it says in the workaround section of "Microsoft KB article 913964" with a Disk Hex Editor such as (
  • " In the editor, find the 01C0 line. In this line, the third pair of numbers on the right is 42. Change 42 to 07".................
HOWEVER THERE IS A CATCH (and maybe why it didnt work for you). Essentially -
  • To sum up - If your 01C0 line says "42 A3" - That is the system reserved(boot) partition (the A3). If it says "42 EF" - That is the Windows install partition (the EF).
  • Hex-edit both instances of "42" to "07" (the third hex pair on line 01C0 and line 01D0).
  • This is necessary because only some simple Dynamic disks are created with 01C0 as the only partition.
  • With Windows 7 dynamic disks that contain the System Reserved boot volume(100MB), - The 01C0 line is followed by lines 01D0, 01E0 and 01F0 all having "42" in the third pair of numbers. The 1st and 2nd one correspond to your System Reserved and Windows Installation partition respectively. (The 3rd and 4th are the dynamic disk partition data info).
  • This is very reliable and I have tested it while writing this post.

Once you finish hex-editing, reboot, and the system SHOULD boot right up.

If you have line 01E0 and line 01F0 indicating "42" - change those to 07 as well - it will allow them to be removed- Disk Management will detect those 2 unused partitions (what was #3 and #4) in Disk Management (in the top portion they will show as Dynamic Missing Failed (one being 100MB and the other being the same size as your HDD) simply right click, Delete the two that have error'ed out icons with no name, Close out Disk Management, Re-open it. Now it will show up 2 more unlabeled partitions with sizes 0MB and 1MB (possibly having been given a drive letter showing up in my computer that shows as a RAW unformatted partition) ... right click DELETE those (0MB and 1MB RAW) And the process is done.

I have done this with much success. The Microsoft and most tutorials on the web fail to mention all 4 partitions (The most important difference that I listed is - if you use Windows 7 (it comes with a SYSTEM RESERVED 100MB partition being partition 1(line 01C0) and Partition 2 is your windows installation - If you don't change partition 2 to 07 (line 01D0) as well - You are essentially not allowing the system to find your NTFS drive volume with windows on it.

Friday, November 18, 2011

Converting a VMWare Virtual Machine to Physical Machine using sysprep
(Windows OS)

VMWare Converter cannot do V2P (it allows only P2V or V2V conversions)
Other Software exists for this but it does cost money, the following procedure is free:

1. On the virtual machine (Windows), open an Administrative Command Prompt & type
C:\Windows\System32\sysprep\sysprep.exe /generalize /shutdown /oobe
The main purpose of this command is to "generalize" the hardware, shutdown the VM, and run the microsoft Out-of-Box-Experience (oobe) on the New Physical Machine afterwards. OOBE is NOT optional and WILL re-prompt you for the computer name, locale, and a few other pieces of info.

2. Create an Image of the VM with a program of your choice (Acronis, Clonezilla, Ghost etc...)
To load the cloning program off a .ISO or CD/DVD and load it up as a CD Drive in the VMWare settings: Edit the VM settings to specify the CD-Drive source as the cloning program. Turn on the VM, immediately hitting the ESC key to bring up the Boot Menu & Choose the CD-Drive that you just virtualized so that the cloning program boots off the virtual CD-Drive before the VM loads itself.

3. Restore the Image to the Physical Machine's Hard Drive.
Boot off the same CD or burn the ISO to CD so that you can restore the disk image you just created above to the physical machine's desired hard drive.

4. If the VM OS was using dynamic disks, the resulting physical hard drive MIGHT need to be converted to a basic disk if you run into a 0x000007B STOP error:
Use a disk hex editor from your favorite cloning/disk suite or download one such as (note - does NOT run on WinPE/Recovery.wim)
Dynamic Disks should read 42 at sector 0 location 00000001C2. Change it to 07(ntfs)
The following 3 lines should also be changed as done above from 42 to 07 if they exist.
Click the save icon at the top to save back to the drive. Now Reboot.
chkdsk drive: /F afterwards to clean up any errors induced from cloning.
Thats it, it's now a Basic Disk. ( )

No additional precautions are needed to restore the image to a machine with multiple hard drives or multi-OS (multi-boot) but if you are using a boot loader, you will need to reconfigure that afterwards OR change the HDD Priority in the BIOS or manually select the new HDD from the bios boot menu.

Steps 2 and 3 should be done with the same program, with ANY Program that supports images, or more advanced programs can be used with client/server, network support, or direct disk-to-disk over the network capabilities. (Clonezilla is a very advanced linux program)

Step 4 is not necessary under most conditions but can also be done with any partition utility (ie: Partition Magic, GParted) that allows you to change the "Type" from 42 to 07 (the standard type codes 42 being dynamic, 07 being NTFS).

Thursday, November 17, 2011

I have a Dell Studio 1737 Laptop with a Supervisor Password on the BIOS. It has been there for a long time and I just now finally removed it. As usual on these Dell Laptops, there is an EEPROM that stores the password information, so simply removing the CMOS Battery will not remove the password. The BIOS turns out to be a Phoenix BIOS. I have found a script that will generate the master password unlock codes for it. Follow the link to "Phoenix (Generic)" for this laptop.
(or if your laptop has the suffixes -595B,-D35B,-2A7B after the service tag, follow the "Dell" instructions.
It involves entering an the incorrect supervisor password 3 times, a message box pops up listing "System Disabled: 12345 (this code (a hash) is used to generate the master unlock code)" Don't worry - the system won't be disabled. Just push the power button on/off and try again. Enter this code into the provided binary program(on windows) Or python script (on linux) - and now try to power off/on and unlock the laptop with the code that it generated from the System Disabled Hash Code. (all credit goes to dogber1)

Monday, October 31, 2011

Creating BCD from scratch with BCDedit.exe and add "Repair my computer" WinRE Recovery Environment

My Boot Configuration Data (BCD Store) for my Windows 7 got hosed and I had to delete it and boot off a Windows DVD, hit Shift + F10 to get at a command prompt, delete my old BCD and run Bootrec.exe /rebuildBCD to even be able to boot my system. But RebuildBCD left the file with the bare minimum necessary to boot, nearly blank, and I lost the option to run "Repair My Computer" from the F8 screen. I found a useful website: that helped me get back on the right track, but I had to dabble around myself to get all the settings that Windows 7 Installation would normally handle. Follow these instructions to restore your BCD file so that you can run "Repair" off the hard drive instead of digging around for a DVD. "bcdedit /enum all" lists your BCD config and "bcdedit /enum all /v" lists all GUIDs instead of friendlynames. the GUID's I have listed ARE different (make sure you check the 8th digit). Before you begin you might want to do "bcdedit /export C:\before.BCD".

  • 1. Create necessary optional entries

bcdedit /create {globalsettings}
bcdedit /create {bootloadersettings}
bcdedit /create {resumeloadersettings}
bcdedit /create {emssettings}
bcdedit /create {dbgsettings}
bcdedit /create {hypervisorsettings}
bcdedit /create {badmemory}
bcdedit /create {memdiag}
  • 2. Establish proper settings for these optional entries
bcdedit /set {bootmgr} INHERIT {globalsettings}
bcdedit /set {current} INHERIT {bootloadersettings}
bcdedit /set {globalsettings} INHERIT {dbgsettings} {emssettings} {badmemory}
bcdedit /set {bootloadersettings} INHERIT {globalsettings} {hypervisorsettings}
bcdedit /set {resumeloadersettings} INHERIT {globalsettings}
bcdedit /set {emssettings} bootems YES
bcdedit /dbgsettings SERIAL DEBUGPORT:1 BAUDRATE:115200
bcdedit /hypervisorsettings SERIAL DEBUGPORT:1 BAUDRATE:115200
bcdedit /toolsdisplayorder {memdiag}

bcdedit /set {memdiag} description "Windows Memory Diagnostic"
bcdedit /set {memdiag} device partition=\Device\HarddiskVolume1
bcdedit /set {memdiag} path \boot\memtest.exe
bcdedit /set {memdiag} locale en-US
bcdedit /set {memdiag} inherit {globalsettings}
bcdedit /set {memdiag} badmemoryaccess Yes

  • 3. Link "Windows Boot Manager" and primary "Windows Boot Loader" to your existing "Resume from Hibernate" identifier (replace the GUID)
bcdedit /set {bootmgr} resumeobject {8de128fe-03a5-11e1-a7d3-a215a48a5459}
bcdedit /set {current} resumeobject {8de128fe-03a5-11e1-a7d3-a215a48a5459}

  • 4. Create loader entry for the "Recovery"(Repair My Computer)
  • Check C:\Recovery\ (gain access by adding "Users" READ permission)
  • Copy & Use that GUID here for device and osdevice - in my case 8de128ff-............ omitting the curly braces { } after [C:]\Recovery
  • On Line 2 and Line 3, for device and OSdevice, the final GUID after \Winre.wim doesnt exist yet (if you look carefully the 8th digit is changed - and will now have to be created .... 
  •  after \Winre.wim, create a NEW UNUSED GUID (change the 8th digit) - it will be used in step 6.
bcdedit /create {8de128ff-03a5-11e1-a7d3-a215a48a5459} /application osloader
bcdedit /set {8de128ff-03a5-11e1-a7d3-a215a48a5459} device ramdisk=[C:]\Recovery\8de128ff-03a5-11e1-a7d3-a215a48a5459\Winre.wim,{8de128f5-03a5-11e1-a7d3-a215a48a5459}
bcdedit /set {8de128ff-03a5-11e1-a7d3-a215a48a5459} osdevice ramdisk=[C:]\Recovery\8de128ff-03a5-11e1-a7d3-a215a48a5459\Winre.wim,{8de128f5-03a5-11e1-a7d3-a215a48a5459}
bcdedit /set {8de128ff-03a5-11e1-a7d3-a215a48a5459} path \windows\system32\winload.exe
bcdedit /set {8de128ff-03a5-11e1-a7d3-a215a48a5459} description "Windows Recovery Environment WinRE"
bcdedit /set {8de128ff-03a5-11e1-a7d3-a215a48a5459} inherit {bootloadersettings}
bcdedit /set {8de128ff-03a5-11e1-a7d3-a215a48a5459} systemroot \windows
bcdedit /set {8de128ff-03a5-11e1-a7d3-a215a48a5459} nx OptIn
bcdedit /set {8de128ff-03a5-11e1-a7d3-a215a48a5459} winpe yes

  • 5. Enable the {current} OS to allow the Recovery Sequence you just created
bcdedit /set {current} recoverysequence {8de128ff-03a5-11e1-a7d3-a215a48a5459}
bcdedit /set {current} recoveryenabled Yes
  • 6. With that NEW UNUSED GUID you just created in step 4, create the "Ramdisk Options" entry for the Recovery Sequence
  • On Line 4, after \Recovery\ - use the GUID you found in C:\Recovery\ -again Omit the Curly braces { } 
bcdedit /create {8de128f5-03a5-11e1-a7d3-a215a48a5459} /device
bcdedit /set {8de128f5-03a5-11e1-a7d3-a215a48a5459} description "Ramdisk Options"
bcdedit /set {8de128f5-03a5-11e1-a7d3-a215a48a5459} ramdisksdidevice partition=C:
bcdedit /set {8de128f5-03a5-11e1-a7d3-a215a48a5459} ramdisksdipath \Recovery\8de128ff-03a5-11e1-a7d3-a215a48a5459\boot.sdi

Now you are done, and might want to export again to not lose your work, "bcdedit /export C:\AFTER.BCD"

Friday, October 28, 2011

SOLUTION TO Windows Backup Error Code 0x810000027
The backup application could not start due to an internal error: Access denied. Check system configuration.

After about 4 hours of reading and trying new fixes for errors 0x810000027, I finally managed to get Windows Backup to change settings and start.

This is all-inclusive in case more things are broken for you.

1. Make sure the following services are set to Stopped
Block Level Backup Engine Service
Microsoft Software Shadow Copy
Volume Shadow Copy
Windows Backup (also make sure the Backup & Restore window is closed or this will auto-restart)
2. In Explorer, Gain Access to the System Volume Information folder (right click, properties, security, advanced, owner tab, Edit button, click your user name & check Replace owner on subcontainers and objects, OK, Yes, OK, OK, OK.
3. Using a 3rd party tool (Eraser) - delete System Volume Information\Windows Backup and System Volume Information\WindowsImageBackup,
4. Make sure the services in step #1 are started again and set to automatic for good measure.
5. Launch Windows Backup & Restore

Click change settings, and voila the backup is working!.

Post a comment if this worked or did not work for you.

Monday, October 24, 2011

I am now A+ Certified - (2009 Edition Exam, including Windows 7), as of October 14th 2011:
220-701 - CompTIA A+ Essentials Score - Score: 859/900
220-702 - CompTIA A+ Practical Application - Score: 868/900

And I will be studying for and obtaining additional certifications.

Sunday, October 23, 2011


Spotify is a GREAT program for listening to music with over 15 million songs available for FREE (with occasional ads). I have a premium subscription and it's well worth the $10 to do away with the ads, get Spotify on my iPhone, and listen to songs offline. What most people do not realize is that Spotify (even Premium subscribers) are unwittingly made a part of the Spotify P2P Network which functions somewhat like BitTorrent to help take the load off of the Spotify Main Server Network. I found my computer opening 50-60 peer client connections everytime I had Spotify open, which was undesirable. After an hour of tinkering aruond, I was able to BLOCK any Peer-to-Peer connections.

All ports can be be blocked, the only Requirement for Spotify is allow Outbound Connections to "Remote Port" 4070 (Spotify port) or 443 (HTTPS) or 80 (HTTP) to * (currently - (443 and 80 are failsafes)

(click to enlarge in New Window)
Spotify Listing of Ports
A crash course on how this works is explained in (and reposted by me) from

General Stats
  • Spotify is the only on-demand music streaming service that’s not web-based. Instead, it uses a peer-to-peer network (p2p) that can scale up to meet the demands of millions of users.
  • Only 8.8% of music playback comes from Spotify’s servers. The rest comes from the peer-to-peer network (35.8%) or your local cache (55.4%). The exception here is Spotify on smartphones, which gets all the music directly from the Spotify servers
The Peer to Peer Network (P2P)
  • Spotify’s p2p network works like a BitTorrent network to locate peers (other users who have the song you want to listen to). It uses a proprietary protocol designed especially for streaming music.
  • There’s no “preferred” peers or supernodes, but a future improvement might be to use peer-to-peer overlays to exploit the overlap in interests between users.
  • The maximum number of peers in the network is 60, with a soft-limit of 50 peers.
  • The client uploads to at most 4 peers at a time.
  • Server-side trackers and network queries are used to locate other users who have the music you’re listening to.
  • Spotify uses TCP as the transport protocol instead of UDP, since it can take advantage of TCP’s congestion controls and ability to re-send lost packets.
What I Found Out:

Spotify wants to listen on ports locally so it can automatically make you a part of its peer-to-peer network. Despite these facts, YOU CAN OPT OUT of the P2P Network! Being a part of the P2P network is not a requirement.

Everytime you click a remote track and listen to it, tiny pieces of the file are downloaded from Spotify's MAIN Server Network (and stored in a cryptic and encrypted file/format which I personally have yet to determine the method to this madness)

Spotify Local Storage Directory
  • on Windows 7 = C:\Users\ [you] \AppData\Local\Spotify\Storage
Everytime you click the toggle button "AVAILABLE OFFLINE" Spotify downloads the entire playlist of files to your local storage directory and if your internet connection goes offline, you can still listen to the songs. THIS BUTTON ALSO ESTABLISHES YOU AS AN UPLOADER ON THE P2P NETWORK. For a single song, your computer WILL immediately initiate 4 UPLOAD connections to 4 "peers" on the P2P network. If you don't know how to block ports, you can simply never use "offline files" and you will never upload!

Spotify Listening Port List: =(all available interfaces) =(localhost)
192.168.0.x =(external facing NAT private IP, or would be public IP from Cable modem/DSL)
  • TCP Port 4370 (bound to - initially active when not even logged in .
  • TCP Port 4380 (bound to - initially active when not even logged in .
  • TCP Port 19906 (bound to - once you connect.
  • TCP Port 57621 (bound to - once you connect.
  • UDP Port 1900 - SSDP - (bound to 192.168.0.x) - Publishes to Gateway ( & Multicast ( - makes discoverable on your network for any capable devices
  • UDP Port 21328 - (bound to 192.168.0.x) - "tracker of sorts" for the P2P client network
  • UDP Port 57621 - (bound to Broadcasts to (
  • temporary & dynamic UDP +/-56000 to 63325+/- (may be incomplete) - unsure on this one.

If your router or firewall BLOCKS these or all ports, Spotify will revert to downloading all content from the Spotify Main Server Network as long as it can connect to Remote Port 4070. Failing to login/connect on port 4070, Spotify will try "failsafes" of port 443 and port 80 in the order: 4070, 443, 80. I assume this is to preserve connectivity for business/corporate firewalled networks. The servers are named such as,,, etc... The current range of IP's used for these main servers are to

Before I figured any of this out, I used to whitelist Spotify.exe through Windows firewall and found that my NAT router (tomato) was still allowing the opening of 50+ connections and uploading to peer clients. I have since removed the whitelisted Spotify.exe and have created a rule for destination port 4070. Optionally you can narrow it down to destination IPs - (IP would be another choice)


The only Requirement for Spotify is ALLOW Outbound Connections to "Remote Port" 4070 to * (currently - or IP
Failure to login/connect on port 4070, Spotify will try "failsafes" of port 443 and port 80 in the order: 4070, 443 & 80. This preserves connectivity for business/corporate strict firewalled networks.

IP Address Host Name MAC Address Response Time TCP Ports
========== ========= =========== ============= ========= 17 ms 17 ms 19 ms 17 ms 18 ms 16 ms 17 ms 17 ms 16 ms 4070, 443, 80 16 ms 4070, 443, 80 24 ms 4070, 443, 80 24 ms 4070, 443, 80 23 ms 4070, 443, 80 25 ms 4070, 443, 80 24 ms 4070, 443, 80 24 ms 4070, 443, 80 23 ms 4070, 443, 80 23 ms 4070, 443, 80 27 ms 24 ms 18 ms 4070, 443, 80 24 ms 4070, 443, 80 25 ms 4070, 443, 80 25 ms 4070, 443, 80 25 ms 4070, 443, 80 17 ms 4070, 443, 80 27 ms 4070, 443, 80 25 ms 4070, 443, 80 25 ms 4070, 443, 80 25 ms 18 ms 20 ms 24 ms 25 ms 4070, 443, 80 25 ms 4070, 443, 80 24 ms 4070, 443, 80 24 ms 4070, 443, 80 28 ms 4070, 443, 80 27 ms 4070, 443, 80 27 ms 4070, 443, 80 27 ms 4070, 443, 80 28 ms 4070, 443, 80 28 ms 4070, 443, 80 27 ms 4070, 443, 80 27 ms 4070, 443, 80 26 ms 4070, 443, 80 26 ms 4070, 443, 80 25 ms 4070, 443, 80 26 ms 4070, 443, 80 28 ms 4070, 443, 80 28 ms 4070, 443, 80 28 ms 4070, 443, 80 27 ms 4070, 443, 80 23 ms 4070, 443, 80 23 ms 4070, 443, 80 25 ms 4070, 443, 80 26 ms 4070, 443, 80 22 ms 4070, 443, 80 24 ms 4070, 443, 80 23 ms 4070, 443, 80 25 ms 4070, 443, 80 25 ms 23 ms 4070, 443, 80 22 ms 4070, 443, 80 22 ms 4070, 443, 80 22 ms 4070, 443, 80 22 ms 4070, 443, 80 26 ms 4070, 443, 80 27 ms 4070, 443, 80 24 ms 4070, 443, 80 22 ms 4070, 443, 80 23 ms 4070, 443, 80 26 ms 4070, 443, 80 23 ms 25 ms 4070, 443, 80 21 ms 4070, 443, 80 27 ms 4070, 443, 80 27 ms 22 ms 4070, 443, 80 25 ms 4070, 443, 80 21 ms 4070, 443, 80 25 ms 4070, 443, 80 24 ms 4070, 443, 80 21 ms 4070, 443, 80 24 ms 4070, 443, 80 25 ms 24 ms
Re-established my Blog. This will be a place where I can post things that I wish to make public, such as discoveries and revelations about computer technologies and such. The personal nature of it will be gradually phased out.