<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: Drahflow</title><link>https://news.ycombinator.com/user?id=Drahflow</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 16 Jun 2026 01:44:48 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Drahflow" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Drahflow in "Ask HN: What are you working on? (June 2026)"]]></title><description><![CDATA[
<p>Zero to two, depending on how you count, exactly.<p>It's a side-project from our consultancy work. We're two deep technologists and so far entertaining the notion that we're very bad at (product) sales. But we're trying to learn that now.</p>
]]></description><pubDate>Sun, 14 Jun 2026 18:30:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48530857</link><dc:creator>Drahflow</dc:creator><comments>https://news.ycombinator.com/item?id=48530857</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48530857</guid></item><item><title><![CDATA[New comment by Drahflow in "Ask HN: What are you working on? (June 2026)"]]></title><description><![CDATA[
<p>Continuing to work on a high-performance observability / log analysis SaaS:<p><a href="https://logging24.com/landing_a/" rel="nofollow">https://logging24.com/landing_a/</a><p>The basic idea is to make Regex-scans so fast/cheap that "a metric" can be anything numeric in the text and "tracing" is useless because you can just log (and filter) more things. Turns out Regex at >200GB/s solves a lot of problems.<p>Metric cardinality explosion is immediately a non-issue, histograms have arbitrary resolution, and you can get from histogram pixels back to the underlying logs. And no need to instrument everything thrice for logs, metrics and traces.<p>The next big feature I'm aiming for is needle-in-a-haystack searches. The data block headers support it already, but the scan engine doesn't yet use it.</p>
]]></description><pubDate>Sun, 14 Jun 2026 18:06:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=48530548</link><dc:creator>Drahflow</dc:creator><comments>https://news.ycombinator.com/item?id=48530548</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48530548</guid></item><item><title><![CDATA[New comment by Drahflow in "Observability 2.0 and the Database for It"]]></title><description><![CDATA[
<p>> in cost and resource usage<p>Nah, it's fine. Storage of raw logs is pretty cheap (and I think this is widely assumed). For querying, two problems arise:<p>1. Query latency, i.e. we need enough CPUs to quickly return a result. This is solved by horizontal scaling. All the idle time can be amortized across customers in the SaaS setting (not everyone is looking at the same time).<p>2. Query cost, i.e. the total amount of CPU time (and other resources) spent per data scanned must be reasonable. This ultimately depends on the speed of the regex engine. We're currently at $0.05/TB scanned. And metric queries on multi-TB datasets can usually be sampled without impacting result quality much.</p>
]]></description><pubDate>Fri, 25 Apr 2025 11:50:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=43792620</link><dc:creator>Drahflow</dc:creator><comments>https://news.ycombinator.com/item?id=43792620</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43792620</guid></item><item><title><![CDATA[New comment by Drahflow in "Observability 2.0 and the Database for It"]]></title><description><![CDATA[
<p>The point that the trinity of logs, metrics and traces wastes a lot of engineering effort to pre-select the right metrics (and labels) and storage (by having too many information triplicate), is a good one.<p>> We believe raw data based approach will transform how we use observability data and extract value from it.
Yep. We have built quuxLogging on the same premise, but with more emphasis on "raw": Instead of parsing events (wide or not), we treat it fundamentally as a very large set of (usually text) lines and optimized hard on the querying-lots-of-text part. Basically a horizontally scaled (extremely fast) regex engine with data aggregation support.<p>Having a decent way to get metrics from logs ad-hoc completely solves the metric cardinality explosion.</p>
]]></description><pubDate>Fri, 25 Apr 2025 08:24:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=43791438</link><dc:creator>Drahflow</dc:creator><comments>https://news.ycombinator.com/item?id=43791438</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43791438</guid></item><item><title><![CDATA[New comment by Drahflow in "The Tao of Programming (1987)"]]></title><description><![CDATA[
<p>I'd be curious how you think about my favorite version: <a href="https://pastebin.com/raw/dXdZXnux" rel="nofollow">https://pastebin.com/raw/dXdZXnux</a></p>
]]></description><pubDate>Mon, 09 Nov 2020 08:38:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=25032637</link><dc:creator>Drahflow</dc:creator><comments>https://news.ycombinator.com/item?id=25032637</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25032637</guid></item><item><title><![CDATA[New comment by Drahflow in "Ask HN: How do you organize everything you want to do?"]]></title><description><![CDATA[
<p>I had basically the same problem as OP some years back. Then I wrote down, for each and every task, how much I'd value having already completed it (including how much I'd value having experienced doing it), and how long I estimated it'd take. This immediately gives value / hour. Add some categorization (e.g. to only work on work tasks during the week), and voila: Auto-prioritization. Helped a lot with getting the actually important things done and get reminded to do useful long term stuff when idle time arose.<p>FWIW, I'm currently rebuilding it as a web-app, if you want to try: <a href="https://quuxtodo.com/" rel="nofollow">https://quuxtodo.com/</a></p>
]]></description><pubDate>Sat, 12 Jan 2019 15:46:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=18891633</link><dc:creator>Drahflow</dc:creator><comments>https://news.ycombinator.com/item?id=18891633</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18891633</guid></item><item><title><![CDATA[New comment by Drahflow in "Show HN: Hire.Bid – marketplace for on-demand work"]]></title><description><![CDATA[
<p>I usually try leave work-time flexible in contracts. Would be cool to have "up to X hours/week" as availability option.</p>
]]></description><pubDate>Sun, 30 Jul 2017 19:49:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=14887474</link><dc:creator>Drahflow</dc:creator><comments>https://news.ycombinator.com/item?id=14887474</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14887474</guid></item><item><title><![CDATA[New comment by Drahflow in "Ask HN: My school needs a data storage solution"]]></title><description><![CDATA[
<p>My school used the products from <a href="https://iserv.eu/" rel="nofollow">https://iserv.eu/</a> They sell a complete software solution for servers at schools.</p>
]]></description><pubDate>Sun, 13 Sep 2015 20:50:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=10212750</link><dc:creator>Drahflow</dc:creator><comments>https://news.ycombinator.com/item?id=10212750</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10212750</guid></item><item><title><![CDATA[New comment by Drahflow in "Show HN: Self-hosted stack-based programming language"]]></title><description><![CDATA[
<p>;) Yes. It works exactly as you envisioned it. You can do it with pretty much everything, actually:<p><pre><code>  |dump =*clap
  [ "pa" |dump /tsch < > 0.0 ] ==slow slow clap
  # [
  #   "pa"
  #   <function: 00006000001CCD00>
  #   "tsch"
  #   <scope: 00006000004B3360>
  #   +0.0e0
  # ]</code></pre></p>
]]></description><pubDate>Tue, 30 Jun 2015 20:58:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=9808380</link><dc:creator>Drahflow</dc:creator><comments>https://news.ycombinator.com/item?id=9808380</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9808380</guid></item><item><title><![CDATA[New comment by Drahflow in "Show HN: Self-hosted stack-based programming language"]]></title><description><![CDATA[
<p> I think it's a good thing (tm) that
{ x sin } could be valid code with x pushing the value of x whereas sin is executing the value of sin.<p>Theoretically speaking, I need at least the deff and defq distinction, otherwise { } could not be invoked during "parse" time. The defv case could in principle be removed, but as * needs to execute (otherwise nothing ever will), execution would need to be the default or I would need to decide based on dynamic type. The first option would mean a lot of superfluous {} (or | actually) around normal data variables, the second one would destroy the nice similarities between arrays, strings and functions with integer domains.</p>
]]></description><pubDate>Mon, 29 Jun 2015 14:00:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=9798077</link><dc:creator>Drahflow</dc:creator><comments>https://news.ycombinator.com/item?id=9798077</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9798077</guid></item><item><title><![CDATA[New comment by Drahflow in "Show HN: Self-hosted stack-based programming language"]]></title><description><![CDATA[
<p>There are semicolons :) They do sequential function composition:<p>{ /foo dump } /f defv
{ /bar dump } /g defv<p>f g ; /h deff<p>h    # "foo" "bar"</p>
]]></description><pubDate>Mon, 29 Jun 2015 08:29:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=9796960</link><dc:creator>Drahflow</dc:creator><comments>https://news.ycombinator.com/item?id=9796960</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9796960</guid></item><item><title><![CDATA[New comment by Drahflow in "Show HN: Self-hosted stack-based programming language"]]></title><description><![CDATA[
<p>The storage is exactly the same, the difference is only in what will happen if the name is encountered somewhere.<p>{ 2 } /putTwoOnStack deff<p>{ 2 } /putClosureOnStack defv<p>putTwoOnStack dump      # 2<p>putClosureOnStack dump  # <function 0006002514AE5><p>putClosureOnStack * dump # 2</p>
]]></description><pubDate>Mon, 29 Jun 2015 07:13:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=9796783</link><dc:creator>Drahflow</dc:creator><comments>https://news.ycombinator.com/item?id=9796783</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9796783</guid></item><item><title><![CDATA[New comment by Drahflow in "Show HN: Self-hosted stack-based programming language"]]></title><description><![CDATA[
<p>It is self targeted snark allright. Not just not doing it with LISP, but also ignoring pretty much everything I learned about compiler building in university.</p>
]]></description><pubDate>Mon, 29 Jun 2015 07:09:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=9796771</link><dc:creator>Drahflow</dc:creator><comments>https://news.ycombinator.com/item?id=9796771</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9796771</guid></item><item><title><![CDATA[New comment by Drahflow in "Show HN: Self-hosted stack-based programming language"]]></title><description><![CDATA[
<p>The README claims easy Domain-specific-language creation. Here is a concrete example how code which utilizes these features looks like: <a href="https://gist.github.com/Drahflow/c463717d5c72e114ac63" rel="nofollow">https://gist.github.com/Drahflow/c463717d5c72e114ac63</a></p>
]]></description><pubDate>Sun, 28 Jun 2015 23:45:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=9795640</link><dc:creator>Drahflow</dc:creator><comments>https://news.ycombinator.com/item?id=9795640</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9795640</guid></item><item><title><![CDATA[New comment by Drahflow in "Show HN: Self-hosted stack-based programming language"]]></title><description><![CDATA[
<p>Define "inspired". I became aware of Forth while implementing Elymas. But the decision to make it stack based was actually because I was too lazy (after some attempts) to implement a correct LALR-parser-generator.</p>
]]></description><pubDate>Sun, 28 Jun 2015 23:41:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=9795624</link><dc:creator>Drahflow</dc:creator><comments>https://news.ycombinator.com/item?id=9795624</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9795624</guid></item><item><title><![CDATA[Show HN: Self-hosted stack-based programming language]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/Drahflow/Elymas">https://github.com/Drahflow/Elymas</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=9795314">https://news.ycombinator.com/item?id=9795314</a></p>
<p>Points: 86</p>
<p># Comments: 23</p>
]]></description><pubDate>Sun, 28 Jun 2015 22:11:16 +0000</pubDate><link>https://github.com/Drahflow/Elymas</link><dc:creator>Drahflow</dc:creator><comments>https://news.ycombinator.com/item?id=9795314</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9795314</guid></item><item><title><![CDATA[Germany gets Internet Censorship]]></title><description><![CDATA[
<p>We know officially have a secret DNS blacklist.<p>:(</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=664871">https://news.ycombinator.com/item?id=664871</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 19 Jun 2009 09:24:15 +0000</pubDate><link>http://www.zeropaid.com/news/86441/german-mandatory-dns-blacklist-blasted-by-critics-protests-emerge/</link><dc:creator>Drahflow</dc:creator><comments>https://news.ycombinator.com/item?id=664871</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=664871</guid></item></channel></rss>