41554 blogs · [ { "id": "01a087a0-5df5-7294-ae3a-aa4221221b89", "title": "DuckDB 1.2: SQL gets even friendlier", "url": "https://www.markhneedham.com/blog/2025/02/09/duckdb-1.2-sql-gets-even-friendlier/", "published_at": "2025-02-09T00:44:37+00:00" }, { "id": "01a087a0-5df5-7294-ae3a-aa4221ae7f12", "title": "ClickHouse: A hacky way to default parameters in a view", "url": "https://www.markhneedham.com/blog/2024/11/25/clickhouse-view-hacky-default-parameters/", "published_at": "2024-11-25T00:44:37+00:00" }, { "id": "01a087a0-5df5-7294-ae3a-aa4222293435", "title": "PIVOTing data in ClickHouse and DuckDB", "url": "https://www.markhneedham.com/blog/2024/11/15/pivot-clickhouse-duckdb/", "published_at": "2024-11-15T00:44:37+00:00" }, { "id": "01a087a0-5df5-7294-ae3a-aa42225d3351", "title": "LLMs on the command line", "url": "https://www.markhneedham.com/blog/2024/10/25/llms-on-command-line/", "published_at": "2024-10-25T00:44:37+00:00" }, { "id": "01a087a0-5df5-7294-ae3a-aa42234427fd", "title": "Ollama: Multiple prompts on vision models", "url": "https://www.markhneedham.com/blog/2024/10/06/ollama-multi-prompts-vision-models/", "published_at": "2024-10-06T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af31bb8aec7", "title": "Running OpenAI Whisper Turbo on a Mac with insanely-fast-whisper", "url": "https://www.markhneedham.com/blog/2024/10/02/insanely-fast-whisper-running-openai-whisper-turbo-mac/", "published_at": "2024-10-02T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af31c63ebea", "title": "An intro to rerankers", "url": "https://www.markhneedham.com/blog/2024/09/28/intro-to-rerankers/", "published_at": "2024-09-28T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af31cee737c", "title": "DuckDB 1.1: Dynamic Column Selection gets even better", "url": "https://www.markhneedham.com/blog/2024/09/22/duckdb-dynamic-column-selection/", "published_at": "2024-09-22T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af31d3a93fb", "title": "DuckDB: Chaining functions", "url": "https://www.markhneedham.com/blog/2024/08/25/duckdb-chaining-functions/", "published_at": "2024-08-25T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af31d44fafd", "title": "Searching through AWS Icons", "url": "https://www.markhneedham.com/blog/2024/08/23/searching-aws-icons/", "published_at": "2024-08-23T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af31e4308aa", "title": "ClickHouse: Specifying config settings", "url": "https://www.markhneedham.com/blog/2024/08/05/clickhouse-config-settings/", "published_at": "2024-08-05T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af31f20472c", "title": "Hybrid Search in SQL with DuckDB", "url": "https://www.markhneedham.com/blog/2024/07/28/hybrid-search-sql-duckdb/", "published_at": "2024-07-28T01:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af31f77a810", "title": "DuckDB: Create a function in SQL", "url": "https://www.markhneedham.com/blog/2024/07/28/duckdb-create-function-sql/", "published_at": "2024-07-28T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af31ff3c7ff", "title": "ClickHouse: Unknown setting 'allow_nullable_key'", "url": "https://www.markhneedham.com/blog/2024/06/27/clickhouse-unknown-setting-allow_nullable_key/", "published_at": "2024-06-27T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af320da29da", "title": "Mistral 7B function calling with llama.cpp", "url": "https://www.markhneedham.com/blog/2024/06/23/mistral-7b-function-calling-llama-cpp/", "published_at": "2024-06-23T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af321bb1b11", "title": "Side by side LLMs with Ollama and Streamlit", "url": "https://www.markhneedham.com/blog/2024/05/11/side-by-side-local-llms-ollama-streamlit/", "published_at": "2024-05-11T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af321e8bc7c", "title": "Semantic Router: Stop LLM chatbots going rogue", "url": "https://www.markhneedham.com/blog/2024/04/14/semantic-router-stop-llm-chatbot-going-rogue/", "published_at": "2024-04-14T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af322b935cd", "title": "llama.cpp - ValueError: Failed to create llama_context - ggml-common.h file not found", "url": "https://www.markhneedham.com/blog/2024/03/31/llama-cpp-value-error-llama-context-ggml-common-not-found/", "published_at": "2024-03-31T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af323165161", "title": "DuckDB 0.10: Binder Error: No function matches the given name and argument types", "url": "https://www.markhneedham.com/blog/2024/03/09/duckdb-strptime-binder-error-no-function-matches/", "published_at": "2024-03-09T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af323caf997", "title": "Clustering YouTube comments using Ollama Embeddings", "url": "https://www.markhneedham.com/blog/2024/02/27/clustering-youtube-comments-ollama-embeddings-nomic/", "published_at": "2024-02-27T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af3240687d1", "title": "python-youtube: Retrieving multiple pages using page token", "url": "https://www.markhneedham.com/blog/2024/02/26/python-youtube-data-page-token/", "published_at": "2024-02-26T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af324abfb66", "title": "Using environment variables in ClickHouse queries", "url": "https://www.markhneedham.com/blog/2024/02/23/clickhouse-environment-variables/", "published_at": "2024-02-23T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af324bc8df6", "title": "Render a CSV across multiple columns on the terminal/shell", "url": "https://www.markhneedham.com/blog/2024/02/20/shell-render-csv-multiple-columns/", "published_at": "2024-02-20T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af3259ac8f1", "title": "Qdrant/FastEmbed: Content discovery for my blog posts", "url": "https://www.markhneedham.com/blog/2024/02/11/qdrant-fast-embed-content-discovery/", "published_at": "2024-02-11T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32610f1f5", "title": "LLaVA 1.5 vs. 1.6", "url": "https://www.markhneedham.com/blog/2024/02/04/llava-large-multi-modal-model-v1.5-v1.6/", "published_at": "2024-02-04T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af3270e3eec", "title": "Ollama is on PyPi", "url": "https://www.markhneedham.com/blog/2024/01/28/ollama-now-on-pypi/", "published_at": "2024-01-28T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af3274cba20", "title": "ClickHouse: Configure default output format", "url": "https://www.markhneedham.com/blog/2024/01/19/clickhouse-configure-output-format/", "published_at": "2024-01-19T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af327ffb0e6", "title": "An introduction to Retrieval Augmented Generation", "url": "https://www.markhneedham.com/blog/2024/01/12/intro-to-retrieval-augmented-generation/", "published_at": "2024-01-12T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af3285fefec", "title": "Pandas: Exclude columns using regex", "url": "https://www.markhneedham.com/blog/2024/01/05/pandas-exclude-columns-regex/", "published_at": "2024-01-05T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32866b401", "title": "ClickHouse: Float equality", "url": "https://www.markhneedham.com/blog/2024/01/04/clickhouse-float-equality/", "published_at": "2024-01-04T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af328957942", "title": "nvim: Unable to create directory for swap file - recovery impossible: permission denied", "url": "https://www.markhneedham.com/blog/2024/01/03/nvim-swap-file-permission-denied/", "published_at": "2024-01-03T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32929717a", "title": "ClickHouse: How does a number have a set number of decimal places?", "url": "https://www.markhneedham.com/blog/2024/01/02/clickhouse-set-number-decimal-places/", "published_at": "2024-01-02T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af329baf761", "title": "Experimenting with insanely-fast-whisper", "url": "https://www.markhneedham.com/blog/2023/12/23/insanely-fast-whisper-experiments/", "published_at": "2023-12-23T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32a7eb205", "title": "Generating sample JSON data in S3 with shadowtraffic.io", "url": "https://www.markhneedham.com/blog/2023/12/22/sample-data-s3-shadowtraffic/", "published_at": "2023-12-22T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32b2ae687", "title": "litellm and llamafile - APIError: OpenAIException - File Not Found", "url": "https://www.markhneedham.com/blog/2023/12/14/litellm-apierror-openaiexception-file-not-found/", "published_at": "2023-12-14T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32b70d2f5", "title": "ClickHouse: S3Queue Table Engine - DB::Exception: There is no Zookeeper configuration in server config", "url": "https://www.markhneedham.com/blog/2023/12/13/clickhouse-s3queue-no-zookeeper-configuration/", "published_at": "2023-12-13T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32bb6c61e", "title": "Dask: Parallelising file downloads", "url": "https://www.markhneedham.com/blog/2023/12/11/dash-parallelise-file-downloads/", "published_at": "2023-12-11T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32bf517e4", "title": "ClickHouse: Tuples - Code: 47. DB::Exception: Missing columns: while processing query:", "url": "https://www.markhneedham.com/blog/2023/12/04/clickhouse-tuples-missing-columns/", "published_at": "2023-12-04T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32c61afbb", "title": "Summing columns in remote Parquet files using ClickHouse", "url": "https://www.markhneedham.com/blog/2023/11/15/clickhouse-summing-columns-remote-files/", "published_at": "2023-11-15T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32c6c2422", "title": "ClickHouse - How to get the first 'n' values from an array", "url": "https://www.markhneedham.com/blog/2023/11/09/clickhouse-array-first-n-values/", "published_at": "2023-11-09T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32ca2fc76", "title": "ClickHouse - AttributeError: 'NoneType' object has no attribute 'array'", "url": "https://www.markhneedham.com/blog/2023/11/08/clickhouse-client-array-nonetype-no-attribute/", "published_at": "2023-11-08T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32cbd51f0", "title": "ClickHouse - DB::Exception:: there is no writeable access storage in user directories (ACCESS_STORAGE_FOR_INSERTION_NOT_FOUND)", "url": "https://www.markhneedham.com/blog/2023/11/07/clickhouse-no-writeable-access-storage/", "published_at": "2023-11-07T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32d15d785", "title": "ClickHouse: Convert date or datetime to epoch", "url": "https://www.markhneedham.com/blog/2023/11/06/clickhouse-date-to-epoch/", "published_at": "2023-11-06T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32d23bbe8", "title": "ClickHouse: Nested type Array(String) cannot be inside Nullable type (ILLEGAL_TYPE_OF_ARGUMENT)", "url": "https://www.markhneedham.com/blog/2023/11/03/clickhouse-nested-type-cannot-be-inside-nullable-type/", "published_at": "2023-11-03T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32d8d7a5e", "title": "Poetry: OSError: Precompiled binaries are not available for the current platform. Please reinstall from source", "url": "https://www.markhneedham.com/blog/2023/11/02/poetry-precompiled-binaries-not-available/", "published_at": "2023-11-02T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32e6304eb", "title": "iPython: How to disable autocomplete", "url": "https://www.markhneedham.com/blog/2023/10/29/ipython-disable-autocomplete/", "published_at": "2023-10-29T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32e87e158", "title": "Poetry: Install does not contain any element", "url": "https://www.markhneedham.com/blog/2023/10/26/poetry-install-does-not-contain-any-element/", "published_at": "2023-10-26T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32f687c32", "title": "Ollama: Running GGUF Models from Hugging Face", "url": "https://www.markhneedham.com/blog/2023/10/18/ollama-hugging-face-gguf-models/", "published_at": "2023-10-18T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32f885595", "title": "ClickHouse: Code: 60. DB::Exception: Table does not exist", "url": "https://www.markhneedham.com/blog/2023/10/16/clickhouse-local-table-does-not-exist/", "published_at": "2023-10-16T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af32fd165dc", "title": "Apache Superset: Refusing to start due to insecure SECRET_KEY", "url": "https://www.markhneedham.com/blog/2023/10/13/apache-superset-refusing-start-insecure-key/", "published_at": "2023-10-13T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af330bf0fb3", "title": "Ollama: Experiments with few-shot prompting on Llama2 7B", "url": "https://www.markhneedham.com/blog/2023/10/11/ollama-few-shot-prompting-experiments-llama2-7b/", "published_at": "2023-10-11T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af331b2a6bc", "title": "Poetry/Dagster: ImportError: cannot import name 'appengine' from 'requests.packages.urllib3.contrib'", "url": "https://www.markhneedham.com/blog/2023/10/09/dagster-poetry-importerror-cannot-import-appengine-requests/", "published_at": "2023-10-09T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af332511786", "title": "Poetry: The current project's Python requirement is not compatible", "url": "https://www.markhneedham.com/blog/2023/10/05/poetry-project-python-not-compatible/", "published_at": "2023-10-05T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af332ee2efd", "title": "Poetry: Updating a package to a new version", "url": "https://www.markhneedham.com/blog/2023/10/04/poetry-package-update/", "published_at": "2023-10-04T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af333b76d2c", "title": "Running Mistral AI on my machine with Ollama", "url": "https://www.markhneedham.com/blog/2023/10/03/mistral-ai-own-machine-ollama/", "published_at": "2023-10-03T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af333cdcb95", "title": "DuckDB: Show a list of views", "url": "https://www.markhneedham.com/blog/2023/10/02/duckdb-list-show-views/", "published_at": "2023-10-02T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af3348d992a", "title": "dbt-duckdb: KeyError: \"'winner_seed'\"", "url": "https://www.markhneedham.com/blog/2023/10/01/dbt-duckdb-key-error/", "published_at": "2023-10-01T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af334a52d3a", "title": "GPT 3.5 Turbo vs GPT 3.5 Turbo Instruct", "url": "https://www.markhneedham.com/blog/2023/09/29/openai-gpt-chat-vs-instruct/", "published_at": "2023-09-29T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af334e35ef5", "title": "FAISS: Exploring Approximate Nearest Neighbours Cell Probe Methods", "url": "https://www.markhneedham.com/blog/2023/09/14/faiss-approximate-nearest-neighbors-cell-probe/", "published_at": "2023-09-14T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af335d254d8", "title": "kcat: SASL - Java JAAS configuration is not supported", "url": "https://www.markhneedham.com/blog/2023/09/12/kcat-sasl-java-jaas-not-supported/", "published_at": "2023-09-12T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af33656d899", "title": "How to run a Kotlin script", "url": "https://www.markhneedham.com/blog/2023/09/07/how-to-run-kotlin-script/", "published_at": "2023-09-07T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af336cac66c", "title": "Quix Streams: Process certain number of Kafka messages", "url": "https://www.markhneedham.com/blog/2023/09/05/quix-streams-process-n-kafka-messages/", "published_at": "2023-09-05T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af3375fdf42", "title": "JupyterLab 4.0.5: Scroll output with keyboard shortcut", "url": "https://www.markhneedham.com/blog/2023/09/03/jupyterlab-scroll-output-keyboard-shortcut/", "published_at": "2023-09-03T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af33798c15f", "title": "pyarrow: pyarrow.lib.ArrowNotImplementedError: Filter argument must be boolean type", "url": "https://www.markhneedham.com/blog/2023/08/23/pyarrow-filter-argument-boolean-type/", "published_at": "2023-08-23T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af33854201a", "title": "Python: TypeError: Instance and class checks can only be used with @runtime_checkable protocols", "url": "https://www.markhneedham.com/blog/2023/08/21/python-typeerrr-instance-class-check-runtime-checkable/", "published_at": "2023-08-21T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af338b8c599", "title": "JupyterLab 4.0.5: Adding execution time to cell", "url": "https://www.markhneedham.com/blog/2023/08/20/jupyterlab-time-cell-execution/", "published_at": "2023-08-20T00:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af3393c2dfa", "title": "Apache Pinot: Experimenting with the StarTree Index", "url": "https://www.markhneedham.com/blog/2023/07/28/apache-pinot-experimenting-with-startree-index/", "published_at": "2023-07-28T11:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af339fd7ce5", "title": "Python/Poetry: Library not loaded: no such file, not in dyld cache", "url": "https://www.markhneedham.com/blog/2023/07/27/poetry-library-not-loaded-no-such-file-dyld-cache/", "published_at": "2023-07-27T11:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af33a85065e", "title": "OpenAI/GPT: Returning consistent/valid JSON from a prompt", "url": "https://www.markhneedham.com/blog/2023/07/27/return-consistent-predictable-valid-json-openai-gpt/", "published_at": "2023-07-27T01:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af33aba5a5e", "title": "How to delete a Kafka topic", "url": "https://www.markhneedham.com/blog/2023/07/26/how-to-delete-kafka-topic/", "published_at": "2023-07-26T04:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af33b0fb53a", "title": "Confluent Kafka: DeprecationWarning: AvroProducer has been deprecated. Use AvroSerializer instead.", "url": "https://www.markhneedham.com/blog/2023/07/25/confluent-kafka-avroproducer-deprecated-use-avroserializer/", "published_at": "2023-07-25T04:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af33b6effbe", "title": "VSCode: Adding Poetry Python Interpreter", "url": "https://www.markhneedham.com/blog/2023/07/24/vscode-poetry-python-interpreter/", "published_at": "2023-07-24T04:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af33c3d8865", "title": "Docker: Failed to create network: Error response from daemon: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network", "url": "https://www.markhneedham.com/blog/2023/07/20/docker-network-could-not-find-non-overlapping-address-pool/", "published_at": "2023-07-20T04:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af33cf4f8f8", "title": "Plotly: Visualising a normal distribution given average and standard deviation", "url": "https://www.markhneedham.com/blog/2023/07/19/plotly-normal-distribution-average-stdev/", "published_at": "2023-07-19T04:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af33d52c13d", "title": "Redpanda: Configure pruning/retention of data", "url": "https://www.markhneedham.com/blog/2023/07/18/redpanda-prune-retention/", "published_at": "2023-07-18T04:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af33d6610b2", "title": "Puppeteer: Button click doesn't work when zoomed in", "url": "https://www.markhneedham.com/blog/2023/07/17/puppeteer-button-click-not-working-after-zoom/", "published_at": "2023-07-17T04:44:37+00:00" }, { "id": "01a087a0-5df6-718b-8ce9-7af33e420d11", "title": "Puppeteer: Unsupported command-line flag: --enabled-blink-features=IdleDetection.", "url": "https://www.markhneedham.com/blog/2023/07/13/puppeteer-unsupported-flag-enabled-blink-features-idledetection/", "published_at": "2023-07-13T04:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf0e8b36e", "title": "Redpanda: Viewing consumer group offsets from __consumer_offsets", "url": "https://www.markhneedham.com/blog/2023/07/12/redpanda-consumer-group-offsets/", "published_at": "2023-07-12T04:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf17b7253", "title": "Quix Streams: Consuming and Producing JSON messages", "url": "https://www.markhneedham.com/blog/2023/07/11/quix-streams-consume-produce-json-messages/", "published_at": "2023-07-11T04:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf23e8ab5", "title": "Python: Re-import module", "url": "https://www.markhneedham.com/blog/2023/07/07/python-reimport-module/", "published_at": "2023-07-07T04:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf2c5791b", "title": "ClickHouse: How to unpack or unnest an array", "url": "https://www.markhneedham.com/blog/2023/07/03/clickhouse-unpack-unnest-array/", "published_at": "2023-07-03T04:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf31e5202", "title": "Detecting and splitting scenes in a video", "url": "https://www.markhneedham.com/blog/2023/06/30/detecting-splitting-scenes-video/", "published_at": "2023-06-30T04:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf32d4e6e", "title": "Python: All about the next function", "url": "https://www.markhneedham.com/blog/2023/06/28/python-next-function-iterator/", "published_at": "2023-06-28T04:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf3b5187e", "title": "Python: Get the first item from a collection, ignore the rest", "url": "https://www.markhneedham.com/blog/2023/06/27/python-get-first-item-collection-ignore-rest/", "published_at": "2023-06-27T04:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf4610521", "title": "Running a Hugging Face Large Language Model (LLM) locally on my laptop", "url": "https://www.markhneedham.com/blog/2023/06/23/hugging-face-run-llm-model-locally-laptop/", "published_at": "2023-06-23T04:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf5424861", "title": "LangChain: 1 validation error for LLMChain - value is not a valid dict (type=type_error.dict)", "url": "https://www.markhneedham.com/blog/2023/06/23/langchain-validation-error-llmchain-value-not-valid-dict/", "published_at": "2023-06-23T02:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf6391d53", "title": "GPT4All/LangChain: Model.__init__() got an unexpected keyword argument 'ggml_model' (type=type_error)", "url": "https://www.markhneedham.com/blog/2023/06/22/gpt4all-langchain-unexpected-keyword-ggml_model/", "published_at": "2023-06-22T04:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf653bf39", "title": "Chroma/LangChain: 'NoneType' object has no attribute 'info'", "url": "https://www.markhneedham.com/blog/2023/06/22/chroma-nonetype-object-no-attribute-info/", "published_at": "2023-06-22T02:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf6f27205", "title": "Chroma/LangChain: Index not found, please create an instance before querying", "url": "https://www.markhneedham.com/blog/2023/06/21/chroma-index-not-found-create-instance-querying/", "published_at": "2023-06-21T02:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf7538211", "title": "DuckDB/SQL: Convert string in YYYYmmdd format to Date", "url": "https://www.markhneedham.com/blog/2023/06/20/duckdb-sql-string-date/", "published_at": "2023-06-20T02:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf7d25d1d", "title": "Hugging Face: Using `max_length`'s default (20) to control the generation length. This behaviour is deprecated", "url": "https://www.markhneedham.com/blog/2023/06/19/huggingface-max-length-generation-length-deprecated/", "published_at": "2023-06-19T02:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf7f28447", "title": "DuckDB/SQL: Transpose columns to rows with UNPIVOT", "url": "https://www.markhneedham.com/blog/2023/06/13/duckdb-sql-transpose-columns-to-rows-unpivot/", "published_at": "2023-06-13T02:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf88b54d5", "title": "GitHub: Get a CSV containing my pull requests (PRs)", "url": "https://www.markhneedham.com/blog/2023/06/12/github-list-pull-requests-csv/", "published_at": "2023-06-12T02:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf89487b1", "title": "Creating LinkedIn Carousel/Slides", "url": "https://www.markhneedham.com/blog/2023/06/08/linkedin-slides-carousel/", "published_at": "2023-06-08T02:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf8b3d9c4", "title": "DuckDB/SQL: Pivot - 0 if null", "url": "https://www.markhneedham.com/blog/2023/06/07/duckdb-sql-pivot-0-if-null/", "published_at": "2023-06-07T02:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf9420628", "title": "Kafka/Kubernetes: Failed to resolve: nodename nor servname provided, or not known", "url": "https://www.markhneedham.com/blog/2023/06/06/kafka-kubernetes-failed-resolve-nodename-servname-not-known/", "published_at": "2023-06-06T02:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abaf9ac3bc1", "title": "Python: Working with tuples in lambda expressions", "url": "https://www.markhneedham.com/blog/2023/06/06/python-lambda-expression-tuple/", "published_at": "2023-06-06T02:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abafa0ee13d", "title": "Python: Padding a string", "url": "https://www.markhneedham.com/blog/2023/06/05/python-pad-string/", "published_at": "2023-06-05T02:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abafa113366", "title": "DuckDB: Generate dummy data with user defined functions (UDFs)", "url": "https://www.markhneedham.com/blog/2023/06/02/duckdb-dummy-data-user-defined-functions/", "published_at": "2023-06-02T02:44:37+00:00" }, { "id": "01a087a0-5df7-704d-98e6-3abafa5de8fd", "title": "Debezium: Capture changes from MySQL", "url": "https://www.markhneedham.com/blog/2023/05/31/debezium-capture-changes-mysql/", "published_at": "2023-05-31T02:44:37+00:00" } ] posts Claim your blog
Back to markhneedham.com
Blog · corpus.blog/blogs/markhneedham.com/posts

markhneedham.com

markhneedham.com

2025

2024

2023