706 karma · joined February 20, 2013
https://www.innerscene.com/products/circadian-sky/CircadianS...
https://www.dropbox.com/scl/fi/u978rksgjrtvusfmpt36k/IMG_896...
import socket import win32pipe import win32file import sys
BUFFER_SIZE = 4096
def create_pipe(pipe_name): return win32pipe.CreateNamedPipe(pipe_name, win32pipe.PIPE_ACCESS_DUPLEX, win32pipe.PIPE_TYPE_BYTE | win32pipe.PIPE_READMODE_BYTE | win32pipe.PIPE_WAIT, 1, BUFFER_SIZE, BUFFER_SIZE, 0, None)
def open_pipe(pipe_name): return win32file.CreateFile(pipe_name, win32file.GENERIC_READ | win32file.GENERIC_WRITE, 0, None, win32file.OPEN_EXISTING, 0, None)
def proxy_server(machine_name): server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind(('0.0.0.0', 8080)) server_socket.listen(1)
pipe_name_1 = r'\\' + machine_name + r'\pipe\proxy_pipe_1'
pipe_name_2 = r'\\' + machine_name + r'\pipe\proxy_pipe_2'
while True:
client_socket, _ = server_socket.accept()
pipe_1, pipe_2 = create_pipe(pipe_name_1), create_pipe(pipe_name_2)
win32pipe.ConnectNamedPipe(pipe_1, None)
win32pipe.ConnectNamedPipe(pipe_2, None)
while True:
data = client_socket.recv(BUFFER_SIZE)
if not data:
break
win32file.WriteFile(pipe_1, data)
response = win32file.ReadFile(pipe_2, BUFFER_SIZE)[1]
client_socket.send(response)
client_socket.close()
win32file.CloseHandle(pipe_1)
win32file.CloseHandle(pipe_2)
def proxy_client(server_name, machine_name):
target_host, target_port = 'cnn.com', 80 pipe_name_1 = r'\\' + server_name + r'\pipe\proxy_pipe_1_' + machine_name
pipe_name_2 = r'\\' + server_name + r'\pipe\proxy_pipe_2_' + machine_name
pipe_1, pipe_2 = open_pipe(pipe_name_1), open_pipe(pipe_name_2)
target_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
target_socket.connect((target_host, target_port))
while True:
data = win32file.ReadFile(pipe_1, BUFFER_SIZE)[1]
if not data:
break
target_socket.send(data)
response = target_socket.recv(BUFFER_SIZE)
win32file.WriteFile(pipe_2, response)
target_socket.close()
win32file.CloseHandle(pipe_1)
win32file.CloseHandle(pipe_2)
if __name__ == '__main__':
if len(sys.argv) < 3:
print("Usage: python script.py [server|client] [machine_name] [server_name (for client only)]")
sys.exit(1) mode, machine_name = sys.argv[1], sys.argv[2]
if mode == 'server':
proxy_server(machine_name)
elif mode == 'client':
if len(sys.argv) < 4:
print("Please provide the server name or IP address for the client mode.")
sys.exit(1)
server_name = sys.argv[3]
proxy_client(server_name, machine_name)
else:
print("Invalid mode. Please use 'server' or 'client'.")
sys.exit(1)There was never a question (by us) about it being ethical. There was an initial engineering phone screen before we asked people to do this so there was serious intent to move to the next stage before the ask. We were also so specialized that we’d only get a couple of candidates per month get to that stage.
From an employers perspective I wouldn’t hesitate to do it again, but now you have to find things chatgpt can’t easily do, which is getting harder to find. someone who knows how to use chatgpt/claude well could be a good find if they know the fundamentals underpinning it.
I started a company to try to solve these problems without using head mounted displays and we developed 3D displays that work using an array of rectangular lenses and micro displays plus fresnel lens sheets. We adopted this approach to a new product category we called virtual skylights where we replicate the look and feel of an open sky with a distance sun above you. As you walk around a room the sun will follow you in the sky across units due to the optics and there is no need for active head tracking for this particular case. The effect is really amazing even though the content in this case is super simple. Hard to experience on a 2d screen but we have some videos of it here, in the reaction video you can see how people react to seeing it the first time.
https://en.m.wikipedia.org/wiki/Abuse_(video_game)
It’s open source and available on tons of platforms.
I'd say they are pretty similar, Coelux may be slightly less diffusive but it's beam divergence angle is pretty high so it doesn't hold up for very much distance compared to ours - you can see it spreads out into a non-rectangular shape on the wall.
We put a lot of effort into being able to run an application directly from a compressed single-file binary, you have a small executable with a big payload attached to the end of it. The payload essentially contains a mountable filesystem, however because windows doesn't support doing anything like that from an unprivileged account we had to emulate many things Windows normally does, including execution of binary images.
We did some tricks where executable data was stored on disk in a format it can be directly memory mapped and run without reading anything - this allowed us to launch most applications over a network without extracting anything to disk locally and achieve millisecond launch times. Pages would get pulled into local memory by the OS as needed while the application was running.
The end result was that you can create a single EXE file could contain things like python + script, or more complex like photoshop & Word. Just go to a new computer from a guest account, launch the EXE and you instantly start using that app.
I haven't been involved with it for the last 6 years, but I believe vmware still offers it.