HNHacker News
TopNewBestAskShowJobs

drej

1,651 karma · joined July 8, 2016

submissionscomments
drej··on Buy Don't Build
I used to have a boss who took this logic to an extreme and basically preached “always buy, never build”

Problems mounted - cost, security, integration issues, performance, ... - we couldn’t do anything about any of that, because we just wrote glue code to combine all the SaaS stuff.

I think about that job from time to time and I have two theories as to why this guy was like this - a) lack of trust/knowledge his engineers can build stuff, b) bragging about using a shiny-new-tech is better than talking about writing a Python script that saves data to Postgres.

All in all - good points in the article, but there is more to the decision (as hinted in the summary), building stuff is not just about scratching one’s itch.

drej··on Ask HN: What's the best paper you've read in 2020?
1) The original MapReduce paper https://static.googleusercontent.com/media/research.google.c...

2) Snowflake and its tiered storage, among other things http://pages.cs.wisc.edu/~yxy/cs839-s20/papers/snowflake.pdf

drej··on Apple’s M1 silicon is all about platform control
There's a huge green quote: "Apple has confirmed that Boot Camp support isn’t coming to Arm-based Macs."

And it comes right after the same sentence is uttered in the article... and is followed by "unless".

All in all, pretty weird form of journalism.

drej··on CSVs: The Good, the Bad, and the Ugly
That incorrect parsing of fields wih newlines is real. Here’s a demonstration how you can essentially inject made up data into someone’s analysis if you know they will use the most popular Apache project and the de-facto standard tool for big data processing (with default settings): https://kokes.github.io/blog/2020/06/12/high-performance-dat...
drej··on Supercharging TensorFlow.js with SIMD and multi-threading
As for traditional TensorFlow, the easiest way we found to improve performance (easily 2x) was to find/create builds tailored to our machines. Using Python, we had prebuilt wheels, which have (understandably) low feature requirements. If you find/build your own (e.g. if you have AVX-512), you can easily get pretty detect performance gains.

(Yes, there are unofficial wheels for various CPUs, but, not sure if that passes your security requirements.)

drej··on End of Life for Azure Notebooks
"On January 15th, 2021 the Azure Notebooks public preview site will be retired and replaced with integrated services from Visual Studio, Azure, and GitHub. Learn about your options and Microsoft's other notebook experiences at https://notebooks.azure.com/Content/alternatives.html."
drej··on A gentle introduction to the Wikidata Query Service
This is a case of a smaller Wikipedia (a country of 10M people, 400k articles or so). I've talked with our local Wikimedia orgs and there are basically two arguments:

1. It would be fairly difficult to implement an infobox that would load all the data properly (e.g. party membership, by-elections, complex elections etc.) 2. Some people would be sad to see their thousands of manual edits being replaced by an automated source of information.

drej··on A gentle introduction to the Wikidata Query Service
I'm a big believer in Wikidata as an independent and free source of facts, but there are two major flaws in this:

1. It's super tricky to get the queries right. SPARQL is so unknown by the data community, so it's hard to get help. Plus there are super sudden quirks that lead to erroneous results (e.g. not all relationships are shown if you filter the data _some way_ but no in a _slightly different way_). 2. Wikidata facts are often _not_ leveraged by Wikipedia itself. This leads to divergence between the two datasets, sadly the more popular one is also the one that's unstructured. Unless we properly tie these two services, we won't get an up-to-date linked database.

I have worked fairly hard on updating Wikidata with local facts (politics, mostly) over the past year or so and the two issues noted above have consistently dampened by motivation to continue.

drej··on CSV Reader Benchmarks: Julia Reads CSVs 10-20x Faster than Python and R
> In the Python ecosystem there are a dozen different versions of each thing that make different trade-offs and specialize in different ways. When you're picking one, you have to spend a week evaluating all the possible CSV parsers (for example).

It saddens me to read this weird statement. It saddens me as I was a rather early adopter in Julia (v0.3.2, if I remember correctly) and really believed its mission. I don't quite understand why various ecosystems cannot peacefully coexist without these untrue and completely avoidable statements.

drej··on CSV Reader Benchmarks: Julia Reads CSVs 10-20x Faster than Python and R
Lack of composability? What? Of course you can use one parser for everything, what’s stopping you from doing that. Separating IO from business logic and composing the two is a pretty standard practice. Not sure I follow the argument here.
drej··on CSV Reader Benchmarks: Julia Reads CSVs 10-20x Faster than Python and R
Except that it can. I hardly ever use something other than stdlib’s csv. It’s a perfectly good csv parser for production use.
drej··on YouTube Channels to Level Up Your Programming Skills
If you write Python, look up Anthony Sotille (youtube, twitch, github, twitter).

He does multi-hour streams as well as 10-minute explainers. Great stuff.

drej··on Tables: Tracking work for teams
This looks very similar to Notion (https://www.notion.so/).

The one big difference being that I believe Notion will outlive Tables - especially as Tables is already touted as an incubated project.

drej··on A Picture of Java in 2020
Personally, I've tried various IDEs for Python and Go and found them to be too clunky and bloated for comfortable use.
drej··on A Picture of Java in 2020
What if I understand what an IDE gives me (especially one from JetBrains) and _that's why_ I'm choosing VSCode/Sublime/vim? (Not for Java.)
drej··on Apache Tika – a content analysis toolkit
https://en.wikipedia.org/wiki/List_of_Apache_Software_Founda...
drej··on Show HN: Jet – in-memory, fault-tolerant, distributed stream processing
I remember a presentation by Kyle Kingsbury (the Jepsen guy), where he talked about the various inconsistencies he found in databases. He mentioned Zookeeper and said "I found no issues, which I consider a personal failure" :-)
drej··on Show HN: Jet – in-memory, fault-tolerant, distributed stream processing
Regarding the two licences, one for the library itself, one for the connectors - what does it mean for users, in practice? Thanks.
drej··on We Can Do Better Than SQL
Narrator: we cannot
drej··on Two Features of JavaScript that you might not know
Yes, it's often used for a XOR operation (bitwise exclusive or).
drej··on Compiler Explorer
If you are wondering how it works, here is Matt Godbolt himself explaining it. Surprisingly simple and cheap. https://www.youtube.com/watch?v=bSkpMdDe4g4&feature=youtu.be...
drej··on Demo of OpenAI's GPT-3 generating tweets given a word
> “‘Barack Obama is a fine president’ – Peter Thiel on Joe Rogan interview”

Phew, AI has not won just yet :-)

drej··on A new and improved Twitter API
Keeping my fingers crossed for removal of OAuth and other complications accessing the API. I hate using libraries for this, all I want is a simple token-based REST API, something like Facebook and many others have had for years.
drej··on AWS Copilot
I probably missed it in the blogpost and github readme, but is there a good way to "export" this into a CloudFormation/Terraform template? After all, this seems to spawn a few things (networking, mostly), so I want to make sure I can automate any further deployments.

Thanks!

drej··on Rust Is Surprisingly Good as a Server Language
Not OP, but these things don't have to be synchronous. I sometimes have entr running in a separate terminal, which tests and builds on every save. I don't wait for it to happen, but I do see it if it errs.
drej··on A Few More Reasons Rust Compiles Slowly
This article made rounds recently: speeding up Rust compilation by replacing/removing dependencies. https://blog.kodewerx.org/2020/06/the-rust-compiler-isnt-slo...
drej··on Speeding up function calls with lru_cache in Python
Functools’ lru_cache also has good methods for getting more info about the cache’s utilisation (.cache_info() I think), which is quite helpful when found in logs.
drej··on Dell XPS 13 Developer Edition with Ubuntu 20.04 LTS pre-installed
What’s the story with full disk encryption on Ubuntu these days? Last time I checked (a while ago) it was a bit clunky, but now I’m considering a Linux desktop after 10 yrs of macOS and filevault, so checking my options. Thanks!
drej··on Gocker: Docker implemented in 1.3k lines of Go
Check out this Liz Rice talk on implementing container tech from scratch. Very clear. https://www.youtube.com/watch?v=8fi7uSYlOdc
drej··on The Go Compiler Needs to Be Smarter
A frustrating thing about inlining in Go is that there's a fairly arbitrary cost model and you sometimes end up fighting it (lookup George Tankersley's talks on YouTube). There have been tons of discussions about whether or not it should be user configurable, if inlining hints should happen at the call sites or function definitions etc.

It's quite a nice discussion that helps people understand the toolchain. It also goes to show that while a self hosted build system is nice, you forgo decades of gcc/llvm optimisations. https://github.com/golang/go/issues/17566

← PreviousPage 2 of 10Next →