<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: snidane</title><link>https://news.ycombinator.com/user?id=snidane</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 09 Apr 2026 13:52:39 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=snidane" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Henry George vs. Silvio Gesell – land value tax or land nationalization]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=BkwNxSkn1kk">https://www.youtube.com/watch?v=BkwNxSkn1kk</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42095668">https://news.ycombinator.com/item?id=42095668</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 09 Nov 2024 17:40:50 +0000</pubDate><link>https://www.youtube.com/watch?v=BkwNxSkn1kk</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=42095668</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42095668</guid></item><item><title><![CDATA[New comment by snidane in "Get me out of data hell"]]></title><description><![CDATA[
<p>The architecture is sound - typically called ELT these days. Dump contents of upstream straight into a database and apply stateless and deterministic operations to achieve the final result tables.<p>SQL server is where this breaks though. You'll get yelled by DBAs for bad db practices like storing wide text fields without casting them to varchar(32) or varchar(12), primary keys on strings or no indexes at all, and most importantly taking majority of storage on the db host for tbese raw dumps. SQL Server and any traditional database scales by adding machines, so you end up paying compute costs for your storage.<p>If you use a shared disk system with decoupled compute scaling from storage, then your system is the way to go. Ideally these days dump your files into a file storage like s3 and slap a table abstraction over it with some catalog and now you have 100x less storage costs and about 5-10x increased compute power with things like duckdb. Happy data engineering!</p>
]]></description><pubDate>Sun, 03 Nov 2024 13:02:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=42032817</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=42032817</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42032817</guid></item><item><title><![CDATA[New comment by snidane in "Get me out of data hell"]]></title><description><![CDATA[
<p>Looks like the classic mistake of every data team. Every single office person works with data in one way or another. Having a team called 'data' just opens a blanch check for anyone in the organization to dump every issue and every piece of garbage to this team as long as they can identify it as data.<p>That's why you build data platforms and name your team accordingly. This is much easier position to defend, where you and your team have a mandate to build tools for other to be efficient with data.<p>If upstream provides funky logs or jsons where you expect strings, that's for your downstream to worry about. They need the data and they need to chase down the right people in the org  to resolve that. Your responsibility should be only to provide a unified access to that external data and ideally some governance around the access like logging and lineage.<p>Tldr; Open your 'data' mandate too wide and vague and you won't survive as a team. Build data platforms instead.</p>
]]></description><pubDate>Sun, 03 Nov 2024 00:37:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=42030334</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=42030334</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42030334</guid></item><item><title><![CDATA[Hong Kong's Arts Hub Turns to Selling Land to Stay Afloat]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.bloomberg.com/news/articles/2024-09-03/hong-kong-s-west-kowloon-cultural-hub-turns-to-selling-land-to-stay-afloat">https://www.bloomberg.com/news/articles/2024-09-03/hong-kong-s-west-kowloon-cultural-hub-turns-to-selling-land-to-stay-afloat</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41475639">https://news.ycombinator.com/item?id=41475639</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 07 Sep 2024 18:50:59 +0000</pubDate><link>https://www.bloomberg.com/news/articles/2024-09-03/hong-kong-s-west-kowloon-cultural-hub-turns-to-selling-land-to-stay-afloat</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=41475639</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41475639</guid></item><item><title><![CDATA[New comment by snidane in "Why Americans Stopped Moving"]]></title><description><![CDATA[
<p>In post Czechoslovakia if you moved out of your hometown, you lost valuable networks. Healthcare and childcare were always connection based - you needed to know the local doctor, teacher, homebuilder - to get connected with specialists, skip the queues, get preferred treatment, faster processing of documents, etc. Once you part with your network, you start to build new one from scratch which takes many years. Unlike in US which is more market based - as long as you have the money you can recreate similar lifestyle elsewhere in the country.<p>Second, there was never really a need to rush to move to another location offering better opportunities. As consequence of the 1990s policies the local capital vanished into the hands of western entities and with it the opportunities worth moving for. The post 2000 capital which moved to the region just found spots with cheap labor to build new factories or logistic centers to keep the German powerhouse running. With an unfair advantage of cheap eastern energy, cheap eastern workers across the border and cheap euro currency as a result of sharing it with the unproductive european south.</p>
]]></description><pubDate>Mon, 02 Sep 2024 06:33:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=41423110</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=41423110</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41423110</guid></item><item><title><![CDATA[New comment by snidane in "Pipe Syntax in SQL"]]></title><description><![CDATA[
<p>This style is familiar to those writing dataframe logic in df libraries with sql semantics - spark, polars or duckdb relational (<a href="https://duckdb.org/docs/api/python/relational_api.html" rel="nofollow">https://duckdb.org/docs/api/python/relational_api.html</a>).<p>It definitely makes things easier to follow, but only for linear, ie. single table, transformations.
The moment joins of multiple tables come into the picture things become hairy quick and then you actually start to appreciate the plain old sql which accounts for exactly this and allows you to specify column aliases in the entire cte clause. With this piping you lose scope of the table aliases and then you have to use weird hacks like mangling names of the joined in table in polars.<p>For single table processing the pipes are nice though. Especially eliminating the need for multiple different keywords for filter based on the order of execution (where, having, qualify (and pre-join  filter which is missing)).<p>A missed opportunity here is the redundant [AGGREGATE sum(x) GROUP BY y]. Unless you need to specify rollups, [AGGREGATE y, sum(x)] is a sufficient syntax for group bys and duckdb folks got it right in the relational api.</p>
]]></description><pubDate>Sun, 25 Aug 2024 01:53:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=41343664</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=41343664</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41343664</guid></item><item><title><![CDATA[New comment by snidane in "DuckDB Community Extensions"]]></title><description><![CDATA[
<p>What do you need non-columnar layout for? Do you expect thousands of concurrent single row writes at a time?<p>If you use embedded duckdb on the client, unless the person goes crazy clicking their mouse at 60 clicks/s, duckdb should handle it fine.<p>If you run it on the backend and expect concurrent writes, you can buffer the writes in concatenated arrow tables, one per minibatch, and merge to duckdb every say 10 seconds. You'd just need to query both the historical duckdb and realtime arrow tables separately and combine results later.<p>I agree that having a native support for this so called Lambda architecture would be cool to have natively in duckdb. Especially when drinking fast moving data from a firehose.</p>
]]></description><pubDate>Sat, 06 Jul 2024 12:30:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=40890045</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=40890045</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40890045</guid></item><item><title><![CDATA[New comment by snidane in "SEQUEL: A Structured English Query Language (1974)"]]></title><description><![CDATA[
<p>Does anybody know what is the relation between SQL as SEQUEL and then the competing language QUEL from Ingres db?<p>It always looked to me as if somebody back then in the database wars tried to word play on each other, one way or another.<p><a href="https://en.m.wikipedia.org/wiki/QUEL_query_languages" rel="nofollow">https://en.m.wikipedia.org/wiki/QUEL_query_languages</a></p>
]]></description><pubDate>Tue, 14 May 2024 12:24:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=40354440</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=40354440</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40354440</guid></item><item><title><![CDATA[New comment by snidane in "Rejected from YC. Reason: Because I don't have a cofounder"]]></title><description><![CDATA[
<p>Two people already form a 'company' and the hard part of convincing somebody else of your idea has already been accomplished. You can argue growing from 1 person to 2 is the most critical part of company growth. With 2+ cofounders this critical part is already figured out making it much less risky proposition than a single founder who hasn't convinced anybody else to join them yet.</p>
]]></description><pubDate>Sat, 11 May 2024 15:43:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=40328793</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=40328793</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40328793</guid></item><item><title><![CDATA[New comment by snidane in "Csvlens: Command line CSV file viewer. Like less but made for CSV"]]></title><description><![CDATA[
<p>How does one output properly csv quoted rows? It seems thr csv flag works only for parsing inputs.</p>
]]></description><pubDate>Sat, 06 Jan 2024 18:51:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=38894070</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=38894070</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38894070</guid></item><item><title><![CDATA[New comment by snidane in "Csvlens: Command line CSV file viewer. Like less but made for CSV"]]></title><description><![CDATA[
<p>There is sc-im, which is the closest you'll get to a full spreadsheet app in terminal with vi controls.<p><a href="https://github.com/andmarti1424/sc-im">https://github.com/andmarti1424/sc-im</a></p>
]]></description><pubDate>Sat, 06 Jan 2024 18:49:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=38894048</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=38894048</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38894048</guid></item><item><title><![CDATA[New comment by snidane in "Did English ever have a formal version of "you"? (2011)"]]></title><description><![CDATA[
<p>As someone coming from a culture with T-V distinction [1], I always wished we dropped one of the branches like English did in the past.<p>The informal T vs formal V causes confusion in conversation with semi-strangers. Eg. At work you never really know which way to speak to someone at a watercooler. If you choose the informal T you make them your equal. Ehich might be perceived as insulting to them, since they might want to keep a perception of superiority to you for eg. being older, more tenured, etc. Often you'd rather choose not to even engage in a conversation and just keep your thoughts to yourself. Better than ending up in a inferior position when choosing the safe V, or risking insulting someone when using the informal T form.<p>This felt to me like one of the reasons why English became the dominant language for business over time. Together with simplified morphology (you only need to learn the plural by adding 's' at the end, vs. 5+ other tenses of each word) it just ended up being much easier to pick up and less risky to engage in conversations and therefore higher chances of adoption by non-speakers.<p>[1] <a href="https://en.wikipedia.org/wiki/T%E2%80%93V_distinction" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/T%E2%80%93V_distinction</a></p>
]]></description><pubDate>Sun, 24 Dec 2023 20:37:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=38756612</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=38756612</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38756612</guid></item><item><title><![CDATA[Teip: CLI to apply sed and Awk over rows and columns of a file]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/greymd/teip">https://github.com/greymd/teip</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=38747186">https://news.ycombinator.com/item?id=38747186</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 23 Dec 2023 19:18:44 +0000</pubDate><link>https://github.com/greymd/teip</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=38747186</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38747186</guid></item><item><title><![CDATA[New comment by snidane in "Qsv: Efficient CSV CLI Toolkit"]]></title><description><![CDATA[
<p>This looks great!<p>Please consider removing any implicit network calls like the initial "Checking GitHub for updates...". This itself will prevent people from adoption or even trying it any further. This is similar to gnu parallel's --citation, which, albeit a small thing - will scare many people off.<p>Consider adding pivot and unpivot operations. Mlr gets it quite right with syntax, but is unusable since it doesn't work in streaming mode and tries to load everything into memory, despite claiming otherwise.<p>Consider adding basic summing command. Sum is the most common data operation, which could warrant its own special optimized command, instead offloading this to external math processor like lua or python. Even better if this had a group by (-by) and window by (-over) capability. Eg. 'qsv sum col1,col2 -by col3,col4'. Brimdata's zq utility is the only one I know that does this quite right, but is quite clunky to use.<p>Consider adding a laminate command. Essentially adding a new column with a constant. This probably could be achieved by a join with a file with a single row, but why not make this common operation easier to use.<p>Consider the option to concatenate csv files with mismatched headers. cat rows or cat columns complains about the mismatch. One of the most common problems with handling csvs is schema evolution. I and many others would appreciate if we could merge similar csvs together easily.<p>Conversions to and from other standard formats would be appreciated (parquet, ion, fixed width lenghts, avro, etc.). Othe compression formats as well - especially zstd.<p>It would be nice if the tool enabled embedding outputs of external commands easily. Lua and python builtin support is nice, but probably not sufficient. i'd like to be able to run a jq command on a single column and merge it back as another for example.<p>Inspiration:<p><pre><code>  - csvquote: https://news.ycombinator.com/item?id=31351393
  - teip: https://github.com/greymd/teip</code></pre></p>
]]></description><pubDate>Sat, 23 Dec 2023 18:45:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=38746827</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=38746827</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38746827</guid></item><item><title><![CDATA[New comment by snidane in "Qsv: Efficient CSV CLI Toolkit"]]></title><description><![CDATA[
<p>Out of core computations. While your python and R script will choke after reading few hundred megs, my compiled binary cli will keep streaming through many such files with memory usage sitting somewhere near zero.</p>
]]></description><pubDate>Sat, 23 Dec 2023 18:05:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=38746424</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=38746424</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38746424</guid></item><item><title><![CDATA[Put the OS in the Database]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.forbes.com/sites/johnwerner/2023/08/15/put-the-os-in-the-database-performance-cybersecurity-and-endurance-in-the-cloud/">https://www.forbes.com/sites/johnwerner/2023/08/15/put-the-os-in-the-database-performance-cybersecurity-and-endurance-in-the-cloud/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=37189147">https://news.ycombinator.com/item?id=37189147</a></p>
<p>Points: 2</p>
<p># Comments: 2</p>
]]></description><pubDate>Sat, 19 Aug 2023 14:28:43 +0000</pubDate><link>https://www.forbes.com/sites/johnwerner/2023/08/15/put-the-os-in-the-database-performance-cybersecurity-and-endurance-in-the-cloud/</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=37189147</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37189147</guid></item><item><title><![CDATA[New comment by snidane in "Miller: Like Awk, sed, cut, join, and sort for CSV, TSV, and tabular JSON"]]></title><description><![CDATA[
<p>Great tool.<p>BUT, leaks memory like crazy.<p>Despite documentation stating the verbs are fully streaming.<p>> Fully streaming verbs
> These don't retain any state from one record to the next. They are memory-friendly, and they don't wait for end of input to produce their output.<p><a href="https://miller.readthedocs.io/en/6.7.0/streaming-and-memory/#fully-streaming-verbs" rel="nofollow">https://miller.readthedocs.io/en/6.7.0/streaming-and-memory/...</a></p>
]]></description><pubDate>Thu, 16 Mar 2023 12:53:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=35181222</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=35181222</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35181222</guid></item><item><title><![CDATA[New comment by snidane in "I don't read web articles anymore, but I read books"]]></title><description><![CDATA[
<p>Another trick is to search the book title on youtube. There is a fair chance the author wants to promote the book and delivers the entire message in one hour speech in their own words instead of in hundreds of fluffed pages in the book. You can decide if you would like the buy book after watching the video.</p>
]]></description><pubDate>Mon, 09 Jan 2023 20:42:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=34315734</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=34315734</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34315734</guid></item><item><title><![CDATA[New comment by snidane in "ChatGPT won’t replace search engines any time soon"]]></title><description><![CDATA[
<p>Google made terrible mistakes with their main cash cow of search.<p>They removed the important feature to search only forums, ie. human generated content, and promoted SEO spam to the top instead. Public forums became undiscoverable and people moved to walled gardens of facebook and similar instead.<p>Then Google killed the search by trying to make it some AI answering robot. Now they ignore what you even ask it and just return to you what they think you'd want.<p>All that people were asking for was a better search engine and all we got was an inferior version of a chat bot.</p>
]]></description><pubDate>Sun, 08 Jan 2023 03:49:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=34295843</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=34295843</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34295843</guid></item><item><title><![CDATA[New comment by snidane in "Measuring an engineering organization"]]></title><description><![CDATA[
<p>You need to have a vision, then measure time of being blocked.
If you're blocked, you're not progressing towards the vision. If you have a team of sufficiently competent people, you should expect to achieve your vision eventually.<p>Problem of many organizations is they are progressing without a vision and have no idea when progress gets blocked. Since nobody  really measures blockage, workers typically drop the thing that got blocked and go chase metrics on something else and don't tell anyone.</p>
]]></description><pubDate>Wed, 04 Jan 2023 04:23:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=34242023</link><dc:creator>snidane</dc:creator><comments>https://news.ycombinator.com/item?id=34242023</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34242023</guid></item></channel></rss>