Enderman
โœ”
5.8K subscribers
386 photos
24 videos
7 files
140 links
A software engineer, a malware enthusiast and most importantly, a weird tall creature.

https://enderman.ch
https://youtube.com/endermanch
Download Telegram
๐Ÿคฌ Safari is atrocious

How does Apple keep getting away with this?
๐Ÿคฌ83๐Ÿ˜ฑ12๐Ÿ˜ข6๐Ÿ‘Ž3โค2๐Ÿ‘2๐ŸŽ‰1
This media is not supported in your browser
VIEW IN TELEGRAM
๐Ÿคฌ118๐Ÿค”7๐Ÿ˜ฑ6๐Ÿ˜ข6๐Ÿ‘2
๐Ÿ˜ฑ69โค25๐Ÿค”15
โค90๐Ÿ‘17๐Ÿ˜ข4
๐Ÿคฏ The first successful AI pull request

Yesterday a person submitted a low-level optimization PR written 99% by DeepSeek-R1.

Is it over for software engineers, boys?
๐Ÿ˜ฑ105๐ŸŽ‰13๐Ÿ˜ข10๐Ÿ‘5โค2๐Ÿ‘Ž2
๐Ÿ”ฎ Counting days in a month

I was tired of lookup tables so I came up with this optimized algorithm counting days in a month. The operations seem simple enough, and the โˆš3 can be replaced with a constant. To me it seems like the bottleneck of the algorithm is all the float operations. The rest can be very elegantly optimized with bitwise.

def days(y, m):
if m == 1:
return 28 + int(y % 4 == 0)

p = m / sqrt(3)

return 31 if p - floor(p) < 0.5 else 30


Super lenient on storage, but slightly more complex in computation. Developers, what do you think about this?
โค51๐Ÿ‘8๐Ÿค”6๐Ÿ‘Ž1
Enderman
๐Ÿ”ฎ Counting days in a month I was tired of lookup tables so I came up with this optimized algorithm counting days in a month. The operations seem simple enough, and the โˆš3 can be replaced with a constant. To me it seems like the bottleneck of the algorithmโ€ฆ
๐Ÿ˜” The boring way

Well, for one, I fucked up the leap year check, because I didn't know they are skipped every century unless the year divisible by 400.

Float operations are obviously super slow, and even though my solution was mathematically elegant, I think basic comparisons are way to go for time optimization... Shame

int days(int y, int m) {
if (m == 1)
return 28 + ((y & 0b11) == 0 && (y % 100 != 0 || y % 400 == 0));

if (m == 3 || m == 5 || m == 8 || m == 10)
return 30;

return 31;
}


I'd actually bet my money this approach is slightly more optimized than a lookup table, if we consider storage:

const int lookup[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

int daysLookup(int y, int m) {
return lookup[m] + (m == 1 && ((y & 0b11) == 0 && (y % 100 != 0 || y % 400 == 0)));
}
โค27๐Ÿค”10๐Ÿ‘5
This media is not supported in your browser
VIEW IN TELEGRAM
๐Ÿค”76โค10๐Ÿ˜ฑ8๐Ÿ‘3๐Ÿ‘Ž3๐Ÿคฌ2
50๐Ÿ‘12โค1
Enderman
Voice message
๐Ÿ‘35๐ŸŽ‰3โค2
๐ŸŽ‰23๐Ÿ‘7โค2๐Ÿ˜ฑ2
๐Ÿ‘12โค3๐ŸŽ‰1
๐Ÿ‘8
๐Ÿ–Œ Drawing

I don't think I've said it publicly before, but I also enjoy drawing for fun. I'm a poor artist, but pixel art is my weakness, as much as long-haired girls are ๐Ÿ˜Œ
โค155๐Ÿ‘14๐Ÿค”3๐Ÿ˜ฑ3๐Ÿ‘Ž1๐ŸŽ‰1
Enderman
This is how she looks
The comments asked me to make the outline uniform, and that actually looks significantly better
โค35๐Ÿ˜ฑ2๐Ÿ‘Ž1
๐Ÿ‘6โค3
โค8
Enderman
Voice message
๐ŸŽต Fade to Black

This one is super beautiful, I enjoy playing that a lot. The verse riff looks easy, but it's actually pretty challenging. The ending is the most difficult part.
๐Ÿ‘3
๐Ÿ‘11โค3