Posts filter


🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧


Usage example


Options pattern


🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧


הספרייה הנוכחית של alpha-vantage פשוט לא מספיק טובה...


כתבתי ספרייה עבור הAPI של alpha-vantage בתור הכנה לפרויקט שאני מתכנן שיאפשר לי לתת תחזית עתידית (הדולר ירד וגם הכלכלה ההודית תצמח) + רמת סיכון, ולבנות מזה תיק השקעות.


🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧


הוספתי גם תמיכה בload balancer עם אפשרות לבחור balance policy


דוגמא לקובץ קונפיגורציה


יש פרויקטים שאני מפתח כתחביב שבשלב כל שהוא כבר אין יותר מידי מה להוסיף (תמיד יש אבל לא משהו מעניין)

לכן התחלתי פרויקט חדש של reverse proxy סטייל nginx והסיבה היא שיש מלא פיצרים שאפשר להוסיף ואולי בעתיד אפילו ליצור parser לשפת קונפיגורציה שתהיה מותאמת לפרוייקט.

בימים האחרונים ישבתי והוספתי כמה פיצרים חדשים והחלטתי לפתוח את הפרויקט (public repo)

https://github.com/hvuhsg/gatego

הפרוייקט כבר תומך במלא פיצרים שימושיים 🤩


🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧


import numpy as np


def partition_vector(vector, N):
"""
Partition a vector into a hypercube of side length N.

Args:
vector (np.array): The input vector.
N (float): The side length of each hypercube.

Returns:
tuple: A tuple of integers representing the coordinates of the hypercube.
"""
return tuple(np.floor(vector / N).astype(int))


def hypercube_info(vector, N):
"""
Get information about the hypercube a vector falls into.

Args:
vector (np.array): The input vector.
N (float): The side length of each hypercube.

Returns:
dict: A dictionary containing information about the hypercube.
"""
cube_coords = partition_vector(vector, N)
return {
"coordinates": cube_coords,
"lower_bound": np.array(cube_coords) * N,
"upper_bound": (np.array(cube_coords) + 1) * N,
"center": (np.array(cube_coords) + 0.5) * N
}



# Example usage
if __name__ == "__main__":
vector = np.array([3.7, -4.5, 5.6, -4.7])
N = 3.0
result = hypercube_info(vector, N)
print(f"Vector: {vector}")
print(f"Hypercube side length: {N}")
print(f"Hypercube coordinates: {result['coordinates']}")
print(f"Lower bound: {result['lower_bound']}")
print(f"Upper bound: {result['upper_bound']}")
print(f"Center: {result['center']}")


לפני כמה ימים עלה לי הרעיון לכתוב ספרייה של fingerprinting שתזהה את אותו מכשיר ללא cookies גם במצב privacy
הדרך שזה לרוב נעשה היא ע"י איסוף מלא מידע ייחודי למחשב כמו מערכת הפעלה, דפדפן, כמה זה pi בספריית math וכו...

הבעיה היא ששינוי קטן יגרום fingerprint שונה, אז התחלתי לחשוב האם יש אלגוריתם שנותן ID זהה לדברים דומים עם אפשרות לקנפג כמה שינוי נצרך בשביל ID אחר.

עשיתי מחקר אבל לא מצאתי אלגוריתם שהתאים לבעיה, ישנם אלגוריתמים שנותנים hash קרוב לinput קרוב אבל זה אומר שאני צריך לעשות חיפוש קירבה בDB ולא ממש מתחשק לי.

היום בעודי קודח מחום (אני חושב שיש לי קטע עם חילופי עונות) עלה לי פתרון לבעיה, אנחנו נייצג את הפרטים של המכשיר כvector ואז נחלק את הhyperspace לhypercubes עם גודל צלע שאפשר להגדיר, אנחנו נחשב באיזה hypercube הvector נמצא ונחזיר את הפרטים של הhypercube כID של הvector.

מה שאומר שאם נשנה רק קצת את הvector הוא עדיין יפול באותה קוביה וייתן את אותו ID

כמובן שאפשר לעשות hash על הפרטים של הקוביה בשביל לעבוד עם מידע קומפקטי.

אשמח לשמוע מה דעתכם והאם פיספסתי אלגוריתם שעושה את זה כבר.


🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧


Forward from: Programmer Jokes


🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧


https://github.com/hvuhsg/mfactor
כתבתי package בGO שעושה matrix factorization ע"י שימוש באלגוריתם גנטי, מוזמנים לעבור על הקוד (הוא יחסית ממש קצר).


🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧


אין כמו לכתוב קוד של אלגוריתם גנטי 😁


🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧🟧

20 last posts shown.