96d831c31a
Kernel/LibC/Userspace: Implement chown and set tty owner on login
2024-01-02 22:19:38 +02:00
07d5d3f936
BAN: Simple iterator now contains valid flag
...
This allows iteration over empty containers
2023-12-29 14:49:57 +02:00
51820b15cb
README: Add packages required by compilation in pacman
2023-12-29 03:11:30 +02:00
9fafafb17e
BuildSystem: Add instructions + fixes to build system
...
You can now easily build with clean ubuntu install
2023-12-28 21:37:18 +02:00
7c6565880d
BuildSystem: Use git apply instead of am
...
This allows you to not have configured git user
2023-12-28 20:16:36 +02:00
93a72ebd06
BuildSystem: Download cmake only if needed
2023-12-28 19:50:22 +02:00
4307968182
All: Start work again on sse support
2023-12-28 19:14:42 +02:00
5d83ab2289
BuildSystem: Download correct cmake if it is not available
2023-12-28 19:13:27 +02:00
af80bad87a
BuildSystem: Allow running custom version of cmake
...
You can now set the environment variable CMAKE_COMMAND to use custom
cmake version.
2023-12-27 13:01:11 +02:00
87272f0cd7
BuildSystem: Create build directory if it doesn't exists
2023-12-27 12:36:40 +02:00
8b5e437936
AOC2023: Implement day25 part1
...
7 starts missing + partly broken day22. I might finish these soon...
2023-12-26 20:04:42 +02:00
3939da4fb0
BuildSystem: Increase image size 50MiB -> 500 MiB
2023-12-26 15:01:12 +02:00
d87fa1a7ea
AOC2023: Implement day24 part1
2023-12-26 14:10:49 +02:00
910a57089b
AOC2023: Implement day23 part1
...
My day22 implementation is off by couple of bricks...
2023-12-26 00:56:35 +02:00
861bf27e96
BAN: Implement abs()
2023-12-26 00:54:06 +02:00
36590fb5c7
AOC2023: Implement day21 part1
2023-12-24 14:58:21 +02:00
ce990c3026
AOC2023: Implement day20 part1
2023-12-24 13:39:26 +02:00
b833239a82
BAN: Make hashmap work with non-copy constructable values
2023-12-24 13:38:47 +02:00
6fec142760
BAN: Add requires clauses for vector
2023-12-24 13:38:20 +02:00
84b2438b3d
BAN: Add requires for copy constructor for linked list
2023-12-24 13:37:49 +02:00
0e714d5eb4
BAN: Implement String::operator==(const String&)
2023-12-24 13:36:46 +02:00
9b8e6e6629
BAN: Implement is_*constructable
2023-12-24 13:36:12 +02:00
4146f2777b
AOC2023: Implement 10 hour solution to day19 part2
2023-12-23 20:53:50 +02:00
64323c51e6
AOC2023: Implement day19 part 1
2023-12-23 18:47:44 +02:00
a0200a7b10
AOC2023: Implement day18 part 1
2023-12-23 18:47:21 +02:00
8add759b5d
AOC2023: Implement day17 part1
2023-12-23 18:46:43 +02:00
2faf90bc2b
AOC2023: Add script to create day template and download input
2023-12-23 18:46:14 +02:00
762d575d70
AOC2023: Add program to run all days
2023-12-23 18:45:40 +02:00
2e77718f07
BAN: Implement find() for StringView
2023-12-23 18:43:52 +02:00
f371fabe35
BAN: HashSet is now internally Vector<LinkedList<T>>
...
It used to be Vector<Vector<T>> but this feels more proper
2023-12-23 16:37:21 +02:00
79a15132da
BAN: Cleanup HashSet
...
I now use BAN::Iterator as the base iterator. Also unstable version
was added.
2023-12-23 16:32:06 +02:00
bacc0db778
BAN: Fix unstable hash map rebucket
2023-12-23 16:31:42 +02:00
3963afe343
BAN: Add unstable version of hash map
...
This version differs only when doing rebucket. If rebucket fails,
the whole hash map is invalidated. This allows rebucketing to use
moving instead of copying.
2023-12-19 22:23:28 +02:00
3b21cc90ae
AOC2023: Add helper for downloading puzzle input
2023-12-19 22:22:31 +02:00
4e900804b8
AOC2023: Implement day16
2023-12-19 22:22:16 +02:00
9ec733904f
AOC2023: Implement day15
2023-12-19 21:42:59 +02:00
3352640d09
LibC: strlen had to be marked not optimized...
2023-12-19 21:42:59 +02:00
637397dd2f
LibC: Make memcpy and memset not optimized
...
GCC does some weird optimizations and breaks these functions
2023-12-19 21:42:59 +02:00
5edbb1d5c4
LibC: make execvp fail if no executable found
2023-12-19 21:42:59 +02:00
f46240e879
AOC2023: Implement day14
2023-12-19 02:49:48 +02:00
68627995f8
AOC2023: Implement day13
2023-12-19 01:25:23 +02:00
951eac6bfa
Kernel: Implement hacky non-block read for ps2 keyboard
2023-12-19 00:20:46 +02:00
0833d7b43f
Kernel: Allow opening files with O_NONBLOCK
2023-12-19 00:20:15 +02:00
1cd5b3c20c
LibC: Fix stpncpy
...
I had misunderstood and tought that the string is always
null terminated
2023-12-15 00:33:37 +02:00
c773e2ed07
LibC: Optimize malloc even further
...
aoc2023/day12 now runs in 3.5 seconds on my machine. This is way
better than the old almost hour.
2023-12-14 23:49:25 +02:00
c4186bd5f0
LibC: Compile with -O2 optimizations
...
I have no idea why libc had no optimizations enabled.
Weird thing is that memcpy optimized to infinite loop if I kept the
__restrict__ attributes in pointers. I don't think there was any ub.
2023-12-14 23:40:08 +02:00
5f640da166
LibC: Optimize malloc by a lot
...
I now cache first free node in malloc_pool and whether the node is
last or not. There allow doing less full iterations over the whole
malloc pool.
Malloc is still unbearably slow and I will have to write a proper
fast malloc at some point. With this patch running aoc2023/day12 is
atleast possible. Probabaly will take closer to an hour...
2023-12-14 15:31:00 +02:00
7320104fd0
LibC: Mark __assert_fail as noreturn
2023-12-14 15:13:54 +02:00
d273c5e77c
rm: Use remove instead of unlink for removing files
2023-12-14 11:03:58 +02:00
8344f2f9ab
AOC2023: Fix day3 implementation
...
I accidently broke my day3 when messing with signed/unsigned integers
2023-12-14 11:03:19 +02:00