A person looks into a dark surface and waits. The surface may be a bowl of water, a disk of polished stone, a pane of glass carried in the hand. The hope is old and simple. Uncertainty might become visible. A question might return as a picture, a sentence, a sign that can be obeyed.
Life is uncertain. That is the one thing a person can count on. The universe is, in most of its extent, unknown to us, and for most of human time the unknown sat very close. We did not know why a child sickened, why a harvest failed, why a king fell. We have grown better at drawing order out of what once looked like pure disorder. Reason, record-keeping, and the sciences did that work, and they are still doing it. The improvement is real. It has also made a new kind of impatience possible. If so much can be known, why should this particular question still be open?
The impatience has tools now. A phone will fetch a fact, a route, a face, a price. A generative system will produce a paragraph that sounds like an answer even when the underlying matter is contested. These are solution engines: machines and networked systems built to shorten the distance between a question and a reply, and in some cases to revise themselves as they are used. They arrived quickly. Daily life rearranged itself around them before most of us had decided what kind of authority we meant to give them.
The numbers are worth stating plainly, because they are the background to everything else in this book. In a Pew Research Center survey of American teenagers conducted in the autumn of 2024, 96 percent said they used the internet daily, and 46 percent said they were online "almost constantly," up from 24 percent in the 2014–2015 survey (Pew Research Center 2024). Among American adults, 15 percent of those aged 65 and older said they were online almost constantly, compared with 62 percent of those aged 18 to 29, and 76 percent of the older group owned a smartphone (Gelles-Watnick 2024). One generation has never known a world without the glass. Another remembers a world before it, and has been asked to arrive at it late. This book follows both.
The universe, as physics describes it, is moving toward greater disorder in the large. Entropy tends to increase. Within that drift, pockets of order form where energy flows through. Stars condense. Planets cool. Life maintains itself for a while by taking in energy and exporting waste. Structure is local and temporary, and it is precious because it is temporary. Human beings live inside one such pocket and can feel the larger uncertainty pressing at its edges. That pressure is older than any doctrine. It sends people looking for knowledge, protection, and a glimpse of what is coming. The looking has often been done through a medium: something that stands between the seeker and the answer, and that is asked to speak.
The English verb *scry* belongs to that looking. According to Merriam-Webster, the verb *scry* comes "by shortening" from *descry*, whose older sense is to catch sight of something distant or obscure; the same dictionary records a separate noun *scry*, "outcry, shout," from Middle English *scrye*, short for *ascrye*, from Middle French *escrier*, "to call out." The two lines are easy to tangle, and the verb is the one that matters here. To scry is to try to see what is not yet plainly there. The narrow modern sense, to practice crystal gazing, is now the main living sense of the word, and the older transitive meaning, "descry," is marked archaic (Merriam-Webster n.d.). The practices are much older than the word. Before *scrying* named them as a class, people named them by the medium: a mirror, a basin, a flame, a stone.
Cautionary tales gathered around the attempt. They rarely say that the bowl or the ball is itself a cursed object, as if the danger lived in the glass the way a poison lives in a cup. The warning usually sits elsewhere. Fate, in those stories, does not like to be outrun. A person who peeks ahead may take the very steps that bring the feared thing on. Greek myth tells this with oracles, who speak in words, and with seers, who are cursed to be right and disbelieved. Those are neighboring traditions. They sit beside crystal gazing and use a different instrument. They belong in this book because they isolate the same human difficulty: an answer has arrived, and a life must now be lived with it.
A second warning is more intimate. The image in the glass may be a mirror of the seeker's desire or fear. Stare long enough, without a discipline for telling a wish from a message, and the surface becomes a closed room. Later European fiction often stages this as hubris. A character believes foresight will put destiny in their hands. The vision is true in a way they cannot carry, or true in a way that misleads, and they lose the present while chasing it. Some occult writers added a further fear, aimed past the glass. Open a concentrated attention into a void, they said, and something may attend to you in return. The language of "astral parasites" is modern esoteric jargon and should stay in its century. The older anxiety is plainer: a doorway works in two directions.
Set beside that history, predictive systems and glowing screens are striking, and the strike is easy to overplay. An algorithm that guesses the next purchase, the next clip, the next sentence does offer to collapse the distance between wanting and having. A feed that learns what holds a person's eyes can narrow the world that person meets. A seeker can become captive to the next image, as a scryer in a folktale becomes captive to the next vision. These are parallels of use and of temptation. The likeness ends at the gesture. A phone is an engineered object with a supply chain, a business model, and a set of sensors. A shew-stone, in the hands of a Renaissance magus, was a ritual instrument inside a Christian cosmos. Treating them as the same thing would insult both.
The Question in the Glass
Code for retrieving BitLocker recovery key and password - C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;
using System.Runtime.InteropServices;
using System.Collections;
namespace ComputerINformation
{
class BitlockerModel
{
public string RecoveryGuid { get; set; }
public string RecoveryPassword { get; set; }
public BitlockerModel()
{
RecoveryGuid = string.Empty;
RecoveryPassword = string.Empty;
}
}
internal class BitlockerLookup
{
static DirectoryEntry entryRoot = new DirectoryEntry("LDAP://RootDSE");
static string domain = String.Format("{0}", entryRoot.Properties["defaultNamingContext"][0]);
static DirectoryEntry entryDomain = new DirectoryEntry("LDAP://" + domain);
public List<BitlockerModel> GetBitlockerInfo(string computerName)
{
var returnRecoveryInfo = LookupBitlockerRecoveryInfor(computerName);
return returnRecoveryInfo;
}
public static SearchResult FindComputer(string computer)
{
entryDomain.AuthenticationType = AuthenticationTypes.Secure|AuthenticationTypes.Sealing|AuthenticationTypes.Signing;
using (DirectorySearcher searcher = new DirectorySearcher(entryDomain))
{
try
{
searcher.Filter = String.Format(@"(&(objectClass=computer)(anr={0}))", computer);
SearchResult result = searcher.FindOne();
return result;
}
catch (Exception e)
{
return null;
}
}
}
private static List<BitlockerModel> LookupBitlockerRecoveryInfor(string computerName)
{
var list = new List<BitlockerModel>();
SearchResult result = FindComputer(computerName);
if (result == null)
{
}
else
{
try
{
Object objValue = Marshal.BindToMoniker(result.GetDirectoryEntry().Path.Replace("GC://","LDAP://"));
Type tType = objValue.GetType();
tType.InvokeMember("Filter",System.Reflection.BindingFlags.SetProperty|System.Reflection.BindingFlags.Public,null,objValue,
new Object[] {"msFVE-RecoveryInformation"});
foreach (Object obj in (IEnumerable)objValue)
{
BitlockerModel blm = new BitlockerModel();
blm.RecoveryGuid = new Guid((Byte[])obj.GetType().InvokeMember("msFVE-RecoveryGuid", System.Reflection.BindingFlags.GetProperty |
System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance, null, obj, null, null, null, null)).ToString();
blm.RecoveryPassword = obj.GetType().InvokeMember("msFVE-RecoveryPassword", System.Reflection.BindingFlags.GetProperty |
System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance, null, obj, null, null, null, null).ToString();
list.Add(blm);
}
}
catch (Exception e)
{
}
}
return list;
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;
using System.Runtime.InteropServices;
using System.Collections;
namespace ComputerINformation
{
class BitlockerModel
{
public string RecoveryGuid { get; set; }
public string RecoveryPassword { get; set; }
public BitlockerModel()
{
RecoveryGuid = string.Empty;
RecoveryPassword = string.Empty;
}
}
internal class BitlockerLookup
{
static DirectoryEntry entryRoot = new DirectoryEntry("LDAP://RootDSE");
static string domain = String.Format("{0}", entryRoot.Properties["defaultNamingContext"][0]);
static DirectoryEntry entryDomain = new DirectoryEntry("LDAP://" + domain);
public List<BitlockerModel> GetBitlockerInfo(string computerName)
{
var returnRecoveryInfo = LookupBitlockerRecoveryInfor(computerName);
return returnRecoveryInfo;
}
public static SearchResult FindComputer(string computer)
{
entryDomain.AuthenticationType = AuthenticationTypes.Secure|AuthenticationTypes.Sealing|AuthenticationTypes.Signing;
using (DirectorySearcher searcher = new DirectorySearcher(entryDomain))
{
try
{
searcher.Filter = String.Format(@"(&(objectClass=computer)(anr={0}))", computer);
SearchResult result = searcher.FindOne();
return result;
}
catch (Exception e)
{
return null;
}
}
}
private static List<BitlockerModel> LookupBitlockerRecoveryInfor(string computerName)
{
var list = new List<BitlockerModel>();
SearchResult result = FindComputer(computerName);
if (result == null)
{
}
else
{
try
{
Object objValue = Marshal.BindToMoniker(result.GetDirectoryEntry().Path.Replace("GC://","LDAP://"));
Type tType = objValue.GetType();
tType.InvokeMember("Filter",System.Reflection.BindingFlags.SetProperty|System.Reflection.BindingFlags.Public,null,objValue,
new Object[] {"msFVE-RecoveryInformation"});
foreach (Object obj in (IEnumerable)objValue)
{
BitlockerModel blm = new BitlockerModel();
blm.RecoveryGuid = new Guid((Byte[])obj.GetType().InvokeMember("msFVE-RecoveryGuid", System.Reflection.BindingFlags.GetProperty |
System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance, null, obj, null, null, null, null)).ToString();
blm.RecoveryPassword = obj.GetType().InvokeMember("msFVE-RecoveryPassword", System.Reflection.BindingFlags.GetProperty |
System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance, null, obj, null, null, null, null).ToString();
list.Add(blm);
}
}
catch (Exception e)
{
}
}
return list;
}
}
}
Script Code that generates all Passwords - Python
from itertools import *
fileOutput=1
minLength=6
maxLength=12
pwList = []
inputstr = "abcdefghijklmnopqrstuvwxyz"
inputstr = inputstr+"0123456789"+inputstr.upper()+"!#$%&'()*+-."
print inputstr
for lenPW in range(minLength,maxLength):
perms = (p for p in product(inputstr,repeat=lenPW))
for p in perms:
print ''.join(p)
tempString = "".join(p)
if tempString not in pwList:
pwList.append(str(tempString))
if fileOutput==1:
outputFile = open("passwords.txt",'w')
outputFile.writelines('\n'.join(''.join(items) for items in pwList))
Google Chrome Command Line Switches List
These are parameters you can pass with Google Chrome via command line
| Condition | Explanation |
| --0 | Value of the --profiler-timing flag that will disable timing information for chrome://profiler. → |
| --activate-existing-profile-browser | If set, Chrome will activate any existing browsers for a specific profile. Used for example by the fast-user switcher in the Windows JumpList. → |
| --allow-autofill-sync-credential | Force the password manager to allow sync credentials to be autofilled. → |
| --allow-cross-origin-auth-prompt | Allows third-party content included on a page to prompt for a HTTP basic auth username/password pair. → |
| --allow-external-pages | Allow access to external pages during layout tests. → |
| --allow-file-access | On ChromeOS, file:// access is disabled except for certain whitelisted directories. This switch re-enables file:// for testing. → |
| --allow-file-access-from-files | By default, file:// URIs cannot read other file:// URIs. This is an override for developers who need the old behavior for testing. → |
| --allow-http-background-page | Allows non-https URL for background_page for hosted apps. → |
| --allow-http-screen-capture | Allow non-secure origins to use the screen capture API and the desktopCapture extension API. → |
Odds of Finding Habitable Exoplanets aka Alien Worlds
where:
- N = the number of civilizations in our galaxy with which radio-communication might be possible (i.e. which are on our current past light cone);
and
- R* = the average rate of star formation in our galaxy
- fp = the fraction of those stars that have planets
- ne = the average number of planets that can potentially support life per star that has planets
- fl = the fraction of planets that could support life that actually develop life at some point
- fi = the fraction of planets with life that actually go on to develop intelligent life (civilizations)
- fc = the fraction of civilizations that develop a technology that releases detectable signs of their existence into space
- L = the length of time for which such civilizations release detectable signals into space
- Beyond all of this, the advances in technology will allow us to search many more planets for life, as can be deduced from this chart. The odds for aliens are looking good...
Default Logins and Passwords for Networked Devices
NOTE: This listing is only provided as a resource to network administrators and security professionals. It is also meant to remind people that a serious problem exists when people configure a network or a computer system and do not change these passwords. The manufacturers of the listed devices, software or systems are not to blame for this problem, and we are not trying to discredit them or their products. A default login is a means for an end user of a product to complete the initial setup of the device or system. Most manufacturers strongly recommend their end users change these logins and passwords for security reasons.
Manufacturer Model OS Version Login Password
3Com - 1.25 root letmein
3Com Super Stack 2 Switch Any manager manager
3Com AccessBuilder® 7000 BRI Any - -
3Com CoreBuilder 2500 - - -
3Com Switch 3000/3300 - manager manager
3Com Switch 3000/3300 - admin admin
3Com Switch 3000/3300 - security security
3com Cable Managment System SQL Database (DOSCIC DHCP) Win2000 & MS DOCSIS_APP
Manufacturer Model OS Version Login Password
3Com - 1.25 root letmein
3Com Super Stack 2 Switch Any manager manager
3Com AccessBuilder® 7000 BRI Any - -
3Com CoreBuilder 2500 - - -
3Com Switch 3000/3300 - manager manager
3Com Switch 3000/3300 - admin admin
3Com Switch 3000/3300 - security security
3com Cable Managment System SQL Database (DOSCIC DHCP) Win2000 & MS DOCSIS_APP
Mobile Device Screen Dimensions and Pixel Ratios
Mobile Device Screen Dimensions and Pixel Ratios
for various tablets, phones, and so forth.
| Device | x | y | Pixel Ratio |
| Amazon Kindel Fire HD 7" | 1280 | 800 | 1.5 |
| Amazon Kindel Fire HD 8.9" | 1920 | 1200 | 1.5 |
| Amazon Kindle Fire | 1024 | 600 | 1 |
| Apple iPad 1/2/Mini | 1024 | 768 | 1 |
| Apple iPad 3/4 | 2048 | 1536 | 2 |
| Apple iPhone 3GS | 320 | 480 | 1 |
| Apple iPhone 4 | 640 | 960 | 2 |
| Apple iPhone 5 | 640 | 1136 | 2 |
| Blackberry PlayBook | 1024 | 600 | 1 |
| Blackberry Z10 | 768 | 1280 | 2 |
| BlackBerry Z30 | 720 | 1280 | 2 |
| Google Nexus 10 | 2560 | 1600 | 2 |
Subscribe to:
Posts (Atom)


