54,302 blogs · [ { "id": "01a0bb4c-f137-7219-a5f3-b31dad9db4aa", "title": "macOS 27 causing C++ linker errors", "url": "https://lexp.lt/posts/macos_golden_gate_cpp_compiler/", "published_at": "2026-09-16T16:28:00+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71de4083964", "title": "Using ArkScript for the Advent of Code 2025", "url": "https://lexp.lt/posts/arkscript_advent_of_code/", "published_at": "2025-12-31T22:34:00+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71de4a95076", "title": "ArkScript - September 2025 update", "url": "https://lexp.lt/posts/arkscript_update_september_2025/", "published_at": "2025-09-02T17:19:45+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71de58d96c4", "title": "ArkScript - June 2025 update", "url": "https://lexp.lt/posts/arkscript_update_june_2025/", "published_at": "2025-06-08T17:02:45+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71de64d9d5f", "title": "ArkScript - April 2025 update", "url": "https://lexp.lt/posts/arkscript_update_april_2025/", "published_at": "2025-05-04T17:19:00+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71de71cc8ce", "title": "Instruction source location tracking in ArkScript", "url": "https://lexp.lt/posts/inst_source_tracking_in_arkscript/", "published_at": "2025-04-24T18:11:45+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71de7db8b1a", "title": "How does quoting works in ArkScript macros?", "url": "https://lexp.lt/posts/quoting_in_arkscript/", "published_at": "2025-04-24T09:48:47+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71de88564f2", "title": "Publishing ZIP artifacts with SBT", "url": "https://lexp.lt/posts/publish_zip_artifact_sbt/", "published_at": "2025-03-21T13:42:45+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71de8d73f28", "title": "Optimizing scopes data in ArkScript VM", "url": "https://lexp.lt/posts/optimizing_scopes_data_in_arkscript_vm/", "published_at": "2025-03-15T10:38:47+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71de941721f", "title": "Restoring WireGuard configuration on MacOS", "url": "https://lexp.lt/posts/macos_restore_wireguard_config/", "published_at": "2025-03-12T18:40:45+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71de995dced", "title": "Generating swaggers at compile time", "url": "https://lexp.lt/posts/generating_swaggers_at_compile_time/", "published_at": "2025-03-07T11:20:45+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71dea5169f6", "title": "-fvisibility=hidden and fmtlib", "url": "https://lexp.lt/posts/visibility_hidden_and_fmtlib/", "published_at": "2025-02-24T13:33:39+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71dea6665c5", "title": "My 2025 plans", "url": "https://lexp.lt/posts/my_2025_plans/", "published_at": "2025-02-15T11:16:00+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71deabd7435", "title": "ArkScript - December 2024 update", "url": "https://lexp.lt/posts/arkscript_update_december_2024/", "published_at": "2024-12-17T11:37:00+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71deb27b68e", "title": "Designing a better import for ArkScript", "url": "https://lexp.lt/posts/designing_a_better_import/", "published_at": "2024-12-02T20:03:00+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71deb97cd87", "title": "Assembling the Floppy keyboard", "url": "https://lexp.lt/posts/floppy_keyboard/", "published_at": "2024-11-12T19:16:00+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71debb82cd8", "title": "Making a light alarm with Arduino", "url": "https://lexp.lt/posts/arduino_light_alarm/", "published_at": "2024-11-11T15:42:00+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71debc07125", "title": "Implementing an Intermediate Representation for ArkScript", "url": "https://lexp.lt/posts/implementing_an_intermediate_representation/", "published_at": "2024-10-13T20:02:00+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71dec54199c", "title": "Nginx Proxy Manager and fail2ban behind CloudFlare to deny external traffic and ban bots", "url": "https://lexp.lt/posts/npm_fail2ban_config/", "published_at": "2024-10-12T10:54:45+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71ded03be6f", "title": "Rambling about USB-C", "url": "https://lexp.lt/posts/usb_c_rambling/", "published_at": "2024-10-07T17:50:00+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71ded2843ba", "title": "ArkScript - September 2024 update", "url": "https://lexp.lt/posts/arkscript_update_september_2024/", "published_at": "2024-09-24T20:26:45+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71dee1a309f", "title": "Implementing computed gotos in C++", "url": "https://lexp.lt/posts/computed_gotos/", "published_at": "2024-09-24T13:45:00+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71dee9adc06", "title": "Adding short-circuiting in a bytecode interpreter", "url": "https://lexp.lt/posts/shortcircuiting_in_bytecode_interpreter/", "published_at": "2024-09-10T13:48:00+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71def59ec72", "title": "Comparing Python and ArkScript asynchronous models", "url": "https://lexp.lt/posts/python_and_arkscript_async/", "published_at": "2024-09-01T14:54:00+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71deffa9138", "title": "Creating custom GitHub webhooks for automatic deployments", "url": "https://lexp.lt/posts/github_webhooks_for_automatic_deploy/", "published_at": "2024-08-25T11:20:00+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df0b2025c", "title": "Checking the collision \"freeness\" of an homemade hash", "url": "https://lexp.lt/posts/checking_the_collision_freeness_of_an_homemade_hash/", "published_at": "2024-08-13T18:03:37+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df0e63492", "title": "Enabling caps word in my Vial firmware on MacOS Sonoma", "url": "https://lexp.lt/posts/qmk_macos_sonoma/", "published_at": "2024-08-08T21:46:47+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df11ba239", "title": "ArkScript - June 2024 update", "url": "https://lexp.lt/posts/arkscript_update_june_2024/", "published_at": "2024-06-24T20:59:45+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df1dd72cf", "title": "Different kinds of tests", "url": "https://lexp.lt/posts/different_kinds_of_tests/", "published_at": "2024-04-24T19:45:19+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df2c67cb8", "title": "ArkScript - November 2022 update", "url": "https://lexp.lt/posts/arkscript_update_november_2022/", "published_at": "2022-11-21T20:17:45+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df3479734", "title": "Find bugs by fuzzing your code", "url": "https://lexp.lt/posts/finding_bugs_with_fuzzing/", "published_at": "2022-11-06T21:02:10+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df3deb9a3", "title": "Making your project available through Homebrew", "url": "https://lexp.lt/posts/making_your_project_available_through_homebrew/", "published_at": "2022-09-12T09:47:37+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df44ae350", "title": "ArkScript - July 2022 update", "url": "https://lexp.lt/posts/arkscript_update_july_2022/", "published_at": "2022-07-11T21:21:45+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df490f39f", "title": "Archives", "url": "https://lexp.lt/archives/", "published_at": "2022-03-06T00:00:00+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df4db075e", "title": "Understanding tail call optimization", "url": "https://lexp.lt/posts/understanding_tail_call_optimization/", "published_at": "2022-02-20T21:02:10+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df50622c4", "title": "ArkScript - December 2021 update", "url": "https://lexp.lt/posts/arkscript_update_december_2021/", "published_at": "2021-12-11T14:52:45+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df5b78864", "title": "Making an authenticated API", "url": "https://lexp.lt/posts/making_an_authenticated_api/", "published_at": "2021-11-12T21:02:10+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df65ccb2c", "title": "GitHub actions are awesome", "url": "https://lexp.lt/posts/github_actions_are_awesome/", "published_at": "2021-06-08T21:02:10+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df6e5c8a8", "title": "Function calls in bytecode interpreters", "url": "https://lexp.lt/posts/function_calls_in_bytecode_interpreters/", "published_at": "2021-05-10T21:02:10+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df756878f", "title": "Understanding bytecode interpreters", "url": "https://lexp.lt/posts/understanding_bytecode_interpreters/", "published_at": "2021-05-02T21:02:10+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df761e05a", "title": "Advice on games architecture", "url": "https://lexp.lt/posts/advice_on_games_architecture/", "published_at": "2021-04-22T21:02:10+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df7a63553", "title": "Parallelizing a bytecode interpreter", "url": "https://lexp.lt/posts/parallelizing_a_bytecode_interpreter/", "published_at": "2021-04-14T21:02:10+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df849407f", "title": "ArkScript - March 2021 update", "url": "https://lexp.lt/posts/arkscript_update_july_2021/", "published_at": "2021-03-21T21:22:45+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df88ac937", "title": "Starting a journey with cmake", "url": "https://lexp.lt/posts/starting_a_journey_with_cmake/", "published_at": "2020-09-16T21:02:10+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df9418896", "title": "ArkScript - July 2020 update", "url": "https://lexp.lt/posts/arkscript_update_july_2020/", "published_at": "2020-07-11T10:23:45+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71df9717939", "title": "Why do I need git?", "url": "https://lexp.lt/posts/why_do_i_need_git/", "published_at": "2020-04-08T20:57:17+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71dfa4d6487", "title": "Call me maybe: an explanation of Python callable", "url": "https://lexp.lt/posts/explanation_of_python_callable/", "published_at": "2020-03-24T20:55:57+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71dfabb3b22", "title": "How I created my own scripting language", "url": "https://lexp.lt/posts/how_i_created_my_own_scripting_language/", "published_at": "2019-10-08T20:53:29+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71dfb912290", "title": "ArkScript, a functional scripting language!", "url": "https://lexp.lt/posts/arkscript_presentation/", "published_at": "2019-07-25T18:11:45+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71dfbc78f14", "title": "Lets render chunks of voxels with OpenGL!", "url": "https://lexp.lt/posts/render_chunk_of_voxels/", "published_at": "2018-10-13T20:15:52+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71dfc0047dd", "title": "The beginning of my journey: making a rendering engine", "url": "https://lexp.lt/posts/making_a_rendering_engine/", "published_at": "2018-10-07T20:11:13+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71dfc83050e", "title": "What is OOP?", "url": "https://lexp.lt/posts/what_is_oop/", "published_at": "2018-09-28T20:09:38+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71dfcbd22a2", "title": "What are those things named pointers?", "url": "https://lexp.lt/posts/what_are_those_things_called_pointers/", "published_at": "2018-09-08T20:05:34+00:00" }, { "id": "01a0879a-58a5-72e3-88c3-f71dfd2a73e4", "title": "Links", "url": "https://lexp.lt/links/", "published_at": null }, { "id": "01a0879a-58a5-72e3-88c3-f71dfd5f2496", "title": "Search", "url": "https://lexp.lt/search/", "published_at": null } ] posts Claim your blog
Back to lexp.lt
Blog · corpus.blog/blogs/lexp.lt/posts

lexp.lt

lexp.lt

2026

2025

2024

2022

2021

2020

2019

2018

Undated