Skip to content

Commit 6695c0e

Browse files
authored
Update README.md
1 parent 9603c09 commit 6695c0e

File tree

1 file changed

+7
-24
lines changed

1 file changed

+7
-24
lines changed

Diff for: README.md

+7-24
Original file line numberDiff line numberDiff line change
@@ -12,39 +12,22 @@ Usage:
1212
**Using Codespaces**
1313

1414
*To start:*
15-
- From the private repo page, select <> Code button
16-
- Click the three ellipses next to the "fantastic barnacle" Codespace
17-
- Select option that says, "open in browser" and you won't need to bootstrap anything!
15+
- From the private repo page, select <> Code button <> Codespaces
16+
- Spin up a new Codespace!
17+
- Select option that says, "open in browser" and you won't need to bootstrap anything! Thw `.devcontainer` is configured to handle the dependencies installation.
1818

1919
*To stop:*
2020
But please remember upon completing with Codespaces to turn it down (as there's only so many billable hours permitted per account).
2121
- This can be done by closing the browser tab with the Codespace and returning to the private repo
2222
- Click <> Code, click next to "fantastic barnacle" via the three ellipses
2323
- Select "stop Codespace"
2424

25-
## Problem Prompt
26-
27-
Users often work collaboratively in digital environments where a profile picture is not available. Some platforms have attempted to solve this problem with the creation of randomly generated, unique icons for each user ([github](https://github.blog/2013-08-14-identicons/), [slack](https://slack.zendesk.com/hc/article_attachments/360048182573/Screen_Shot_2019-10-01_at_5.08.29_PM.png), [ethereum wallets](https://github.com/ethereum/blockies)) sometimes called *Identicons*. Given an arbitrary string, create an image that can serve as a unique identifier for a user of a B2B productivity app like slack, notion, etc.
28-
29-
**Example Requirements**
30-
31-
1. Define a set of objectives to accomplish with your identicon. There's no right or wrong answer here. Here are some hypothetical objectives:
32-
- Legibility at some scale or set of scales
33-
- what sizes should the icon be shown at?
34-
- Appearance - how do we avoid generating images that look bad?
35-
2. Given an arbitrary string, generate an image (as a jpg, gif, png, or in a web page using canvas, webgl, or whatever other display strategy you prefer)
36-
3. Images should be reasonably unique, for instance the strings "John", "Jane", and "931D387731bBbC988B31220" should generate three distinct images
37-
4. Any languages may be used, any libraries may be used, recommend javascript or python
38-
5. Don’t use an existing library! Treat this exercise as if you looked at existing solutions and thought you could do better, and decided to write your own
39-
40-
## Identicon Requirements (Defined)
25+
## Requirements
4126
1. The identicon's should be symmetrical meaning the left horizontal half is equal to the right horizontal half.
4227
2. The identicon is 5X5 pixels, following the standard specified for [GitHub identicons](https://github.blog/2013-08-14-identicons/), so we'll generate square identicons only with a default of 320X320 pixels which other social media platforms like Instagram define as an ideal size
4328
3. Identicon's should use proper resizing sampling technique to ensure quality is maintained, see [Pillow](https://pillow.readthedocs.io/en/stable/reference/Image.html#PIL.Image.Image.resize) documentation for options
4429
4. Avoid replicating creating identicon by confirming if an image for said user has been generated, if so retrieve from a persistence layer. A NoSQL solution like mongodb would be useful, but we'll use a modified version of `@lru_cache` from the `sweepai` project - `@file_cache` which persists pickled objects between runs.
4530

46-
## TODO:
47-
- [X] Implement core logic to generate a Python PIL image
48-
- [X] Write baseline tests
49-
- [X] Add CI/CD with GitHub actions to run tests
50-
- [X] Add CI/CD with GitHub Actions to run linter
31+
## Questions
32+
33+
Contact me, [Lorena Mesa](http://lorenamesa.com)!

0 commit comments

Comments
 (0)