Site Monitor

Purpose

This project automates the generation of personalized cover letters for job applications. It scans for new job listings from a specified career site, generates cover letters using a template, and sends notifications with the generated cover letters attached.

Tech Stack

  • Backend: Python
  • Web Scraping: BeautifulSoup
  • PDF Generation: PyLaTeX
  • Email Sending: SMTP
  • API Integration: Anthropic API for generating content
  • Deployment: Google Cloud Platform (GCP)
  • Containerization: Docker

Deployment

The application is deployed using Docker on Google Cloud Platform (GCP).

Code Architecture

The project follows a modular architecture with the following components: - Content Generation: Uses the ContentGenerator class to create cover letter content based on job descriptions and user profiles. - LaTeX PDF Generation: Uses the LaTeXGenerator class to format the cover letter content into a PDF. - Site Monitor: The SiteMonitor class, hosted on GCP, scans for new job listings and processes them. - Email Notification: The EmailSender class sends emails with the generated cover letters attached.

Getting Started

To get a local copy up and running, follow these steps: 1. Clone the repository. 2. Rename config.example.json to config.json and update it with your personal and API details. 3. Install dependencies using pip install -r requirements.txt. 4. Set up environment variables for email and API keys. 5. Build and run the Docker container using: bash docker build -t cover-letter-generator . docker run -d cover-letter-generator

Configuration

  • Ensure the latex_template_path and other paths are correctly set in the config.json file.

Usage

  • The application will automatically monitor job listings and generate cover letters.
  • Check the logs for any issues or notifications.

Running the Application

To run the application, follow these steps:

  1. Initialize the Application:
  2. Ensure you have set up your config.json file with the necessary configurations.
  3. Make sure all dependencies are installed using pip install -r requirements.txt.

  4. Run the Application:

  5. You can run the application using the following command: bash python main.py

  6. Command Line Arguments:

  7. You can list available sites to monitor using: bash python main.py --list
  8. To monitor specific sites, use: bash python main.py --site <site_url_1> <site_url_2> ...

Fractal Explorer

Fractal Generators in C.

Fractals included are MandelBrot, Julia, Generalized Mandelbrot.

How to Use

./Mandelbrot xMin xMax yMin yMax

Mandelbrot

Test if a complex number ( c ) is a member of the Mandelbrot set.

$$f_c(z) = z^2 + c$$

$$z_{n+1} = z_n^2 + c$$

A complex number ( c ) is a member of the Mandelbrot set if, when starting with ( z_0 = 0 ) and applying the iteration repeatedly, the absolute value of ( z_n ) remains bounded for all ( n > 0 ).

Mandelbrot Set render

alt text for screen readers

Interesting points to render:

Try rendering

./Mandelbrot 0.425 0.43 -0.2325 -0.23

./Mandelbrot -1.63 -1.62 -0.03 -0.02

Coordinates: -0.761574, -0.0847596

Julia

$$f_c(z) = z^2 + c$$

$$z_{n+1} = z_n^2 + c$$

Julia Set render

alt text for screen readers

Intresting points to render:

Multibrot

Generalized Mandelbrot Set render

alt text for screen readers

Chaos Game

Generate N points, choose a starting point at random between these N points. Choose a vertex at random and move halfway towards that vertex from the current point. Continue this process many times, eventually generating a pattern of points within the polygon.

Compile and Run

gcc mandelbrot.c -o mandelbrot

Run

To run the Mandelbrot program, use:

./mandelbrot

TODO

pack fractal function in function make loop use that function

better make file

Abstact up Color method to use in all fractals Colors Argument as parameter x= osv Out images Argument

Max Iter as argument to getColor

NewtonRoot

calculating roots of complex functions and ploting the result.

Pragma_Parallelization

Paralel programing with OpenGL pragama statment

Heaat Diffusion

Calculating Heat Diffusion with Kernel and OpenCL

Games

Simple website containing some simple games.

Mustachio

A fun game about a fun dude jumping.

Move to the sides by moving your mouse and upp by persing buttons.

Drop

Two player gmame about not getting wet.

One player usees the mouse to make drops. The other player uses arrow keys to avoid the drops.

Ball Upp and Down

TODO

Fix bugs in Boll upp och ner and Drops Add more Games fix loading .pde instead of pase in HTMl

Yeast Track

Master Thesis Work. Tracking Yeast.

Prerequisites

This Project Was created using Python 3.6.9 and OpenCV

Dependencies can be intalled using pip. For image analysis. pip3 install opencv-python For Graph ploting. pip3 install networkx

Also For loading .lif files the Bioformats Command Line Tools is needed. Can be dowloaded at https://downloads.openmicroscopy.org/bio-formats/6.5.0/artifacts/bftools.zip

Install

install python: Ex: sudo apt install python

Instal Pacakge Manger: Ex: sudo apt install python3-pip

Install Requierments: pip install requierments.txt

Running

Code Can be run in python

Python3 main.py

This loads the program with the file specified in loadData.py

Controlls

Once the program is running the program can be controled by hitting following buttons.

q = quit

s = Show Segmentation

o = show Opt Chan

i = show cell ID

w = show WHI5 Activ Threshold

l = Print Lineage

p = Plot Data.

TODO

UserInterface Segmentation Tracking Load Data Croping alternative Testing