HNHacker News
TopNewBestAskShowJobs

zten

343 karma · joined October 2, 2014

I do some stuff.
submissionscomments
zten··on Apple Mac Studio
It exists as a proprietary product. Final Fantasy 14's Mac "port" is using Crossover, which slaps some magic on Wine. Definitely not a AAA graphics title but you could run it today. On a 16" MBP with the top spec M1 Max, it will get about 30-50fps with medium detail and I think I tested it at 1680x1050 - which feels like a miracle, almost, but gets trounced by an Intel i9 + AMD Vega 56(?) MBP running Windows from a few years ago. If the right APIs were available and an aarch64 binary were published instead, it would probably be a different story.
zten··on Apple and Major League Baseball to Offer “Friday Night Baseball”
Yeah, for example if you're watching a Sox/Yankees game and you're out of market and thus eligible to use mlb.tv you can select between either the NESN or Yes stream. Unless ESPN picked up the game for the night, and then you just can't watch it.
zten··on What it's like to ride 900 km in a day
From my experience of doing two trips across Iowa, the challenge has almost nothing to do with cycling. For many people, RAGBRAI is a challenge in taming their alchoholism. The bike riding is easy if you don't drink.
zten··on Self-driving Waymo cars clog up dead-end San Francisco street
They do. It dead ends at a one-way downhill with a contra flow bicycle lane to climb the hill. Other vehicles are expected to divert to 14th Ave instead.
zten··on Show HN: Identify car crash editorial anti-patterns using NLP
> My point is you look like a novice in the eyes of the other drivers because the only information they have is that you're having a harder time than everyone else passing the cyclist(s).

In my experience, this is because the other drivers are just rolling the dice and passing on blind curves or passing in the same lane with barely any clearance. It's not an example of good driving ... but it is predictable.

zten··on Bigger vehicles are directly resulting in more deaths of people walking
But that parking is usually legal. Nothing to tow over, unless the intersection specifically has markings ("daylighting") prohibiting parking.
zten··on Microsoft announces Windows 11
A buddy of mine with a Subway franchise is finally being prodded by corporate to upgrade his Windows 7 hardware. They still have support for Windows 7 for a little while, but not long -- it's apparently done by August 31st this year. And, their upgrade path is Windows 10 LTSC, which will expire in 2026.
zten··on The home computer as a cultural object is physically vanishing (2007)
Ah, cool. I was too focused on the GPUs! edit: which... actually appear to be the desktop-named parts! I swear this wasn't always the case...
zten··on The home computer as a cultural object is physically vanishing (2007)
iMacs are usually laptops in all but name. To hit the same thinness with a giant heat-producing screen, most of the parts are their mobile equivalents.

Edit: on slightly closer inspection, this isn't true for the 27" models!

zten··on AT&T lobbies against nationwide fiber, says 10Mbps uploads are good enough
If only it were 300. It’s unfortunately 30. Higher speeds are for Comcast Business.
zten··on Citus 10 brings columnar compression to Postgres
https://github.com/awslabs/amazon-redshift-utils/blob/master...

The compression actually works as advertised, but that document outlines why you don't want to have the sortkey skew from other columns. The disk I/O balloons as it goes and fetches a larger number of blocks from the other columns that match what you're filtering in the sortkey.

zten··on AWS Babelfish: The Elephant in the PostgreSQL Room?
In the case that you're using MySQL 5.6-compatible Aurora RDS, you need to enable a special flag to get lock-free nullable column additions.
zten··on Apache Arrow 3.0
The important part to focus on is _between processes_.

Consider Spark and PySpark. The Python bits of Spark are in a sidecar process to the JVM running Spark. If you ask PySpark to create a DataFrame from Parquet data, it'll instruct the Java process to load the data. Its in-memory form will be Arrow. Now, if you want to manipulate that data in PySpark using Python-only libraries, prior to the adoption of Arrow it used to serialize and deserialize the data between processes on the same host. With Arrow, this process is simplified -- however, I'm not sure if it's simplified by exchanging bytes that don't require serialization/deserialization between the processes or by literally sharing memory between the processes. The docs do mention zero-copied shared memory.

zten··on Why isn't differential dataflow more popular?
It's easy to get into situations where you're paying massive costs with serialization, deserialization, and network I/O, and I believe graph operations with Spark are one of those situations. I would be curious if running Spark in local mode with a single thread would actually improve the runtime, or if it would reveal other issues with the Spark graph libraries.
zten··on Cincinnati is home to the largest unused subway system in the world (2016)
Whoops. Wasn't actually trying to say that. But thanks for the explanation.
zten··on Cincinnati is home to the largest unused subway system in the world (2016)
This is kind of what I was trying to get at. People have made a choice, because they were forced to make one, and they chose detached suburban living. It has good and bad points, for sure.
zten··on Cincinnati is home to the largest unused subway system in the world (2016)
Yeah, I understand it's not a good pattern of development for huge metro areas. But someone managed to get the laws on the books to basically require the US to develop in this way, and people aren't fighting _too_ hard to change it. It's not hard to imagine, then, that there might be some competitive advantages to a car-centric lifestyle for individuals to live in that situation even if it's worse for the collective.
zten··on Cincinnati is home to the largest unused subway system in the world (2016)
I agree. If you wait until traffic is bad enough, then transit might end up getting pushed -- but it's just to appease people who want to maintain their car-driven lifestyle. Everyone currently sitting in their car on the freeway doesn't think they're the "other" person who should be taking the bus or train. The next step is outright fighting any growth, if they already haven't been.
zten··on Cincinnati is home to the largest unused subway system in the world (2016)
Huh, I came back and found my comment to be more polarizing than expected...

I am unsure where the preference lies. I don't always think there's a preference, but you can get forced into it by other economic factors. Young people move into a city, getting adapted a mass transit lifestyle, but they move to a more car-centric area when they inevitably get priced out of car-free living downtown or on a popular rail/bus line because they want to start a family. Personally I don't really want to give up being able to walk outside and down the street to go to restaurants and shop or connect to transit easily, but it would be short-sighted to say that everyone has the same preferences as me.

There's benefits to living in a detached house with a yard. The price is usually being tethered to a car in the US. If you pick a low density area you're probably not going to have an oppressive commute and running errands will be easy (if predictably lengthy, but knowing it'll always be a 20 minute drive and not 20-60 minutes based on traffic is valuable) because there's large roads and every business was mandated to build a large parking lot.

The problem comes when inevitably other people make the same decision and development happens and more people move in. A Californian pattern of development (and in the many areas of the country that have since copied this pattern) is incredibly hostile to good public transit, but due to the geometry of cars, you inevitably have to do _something_... it's just probably going to suck and get underused. So, an alternative strategy emerges: fight tooth and nail against growth.

zten··on Cincinnati is home to the largest unused subway system in the world (2016)
I think people are usually pretty happy with living in those areas. They like being able to drive and park at things easily. It’s just the kids who are less thrilled with needing the mom and dad taxi.
zten··on To find great remote employees, prioritize candidates with strong writing skills
Take this too far and you end up writing broetry.
zten··on Snowflake S-1
Two things I could wish for:

- Performance from tables not cached on the warehouse instance is awful. That the price you pay for shutting a warehouse down.

- I wish it were cheaper. If you run queries against a warehouse 24/7, preventing from auto-shutdown, you better hope it's tiny. And even then, the cost might incentivize you to employ a different strategy entirely.

The other stuff you mention is them building a moat around your data lake. They're pretty good at that. I'd happily get locked into Snowflake for the moment. Redshift really does look like an amateur hour product in comparison to the tools you get with Snowflake.

Even then, as good as Snowflake is, our internal users went from complaining about the performance of Looker and Redshift to complaining about the performance of Tableau and Snowflake. I don't know if you can ever please anyone in this space...

zten··on Developer won’t get hit by a bus, they’ll get hired by Netflix
I appreciate the fixes to what I said. I mistakenly thought Microsoft offered a more generous RSU package.

What I wanted to emphasize, mostly, was that there exists a tier of companies that offer stratospheric compensation primarily through equity, but there are many more people working at other publicly-traded companies that offer RSUs that are worth closer to what you might consider to be a yearly bonus.

zten··on Developer won’t get hit by a bus, they’ll get hired by Netflix
> Is this really a thing?

There's outrageous equity offered by like 5 companies. Everybody else is getting stock option grants worth 5-10% of what Facebook, Amazon, Apple, Google, and Microsoft are offering (the situation is a little different for Netflix).

> Am I a giant dumbass for staying in Colorado?

Probably not, Colorado is great.

zten··on Apache Arrow 1.0
> And the API is barely above exposing the file-format. Nothing like "load this parquet file" into some object which you can then query for it's contents - you're dealing with blocks and sections and other file-format level entities.

Yes, it's just a building block. The easiest way to use Parquet on Java is to use Spark's integration with it, because it provides the query engine for you. But, if I'm not mistaken, it's much bigger than Pandas.

I also strongly dislike the Hadoop coupling (hey, it's called parquet-mr for a reason...), but it's more or less an invisible annoyance if you use Spark in an environment like Amazon EMR.

I think you'll get a lot of confused responses from people if you want to try to build an application that reads Parquet directly. It's the disk format for a bunch of distributed database engines. They'll wonder how you plan on querying it.

zten··on Etcd, or, why modern software makes me sad
> When I read these anti-kubernetes articles, of which there is one every couple of months, I think of an analogy with tailors. I mean, a made-to-measure garment is strictly superior to what you can buy from Old Navy. If you take a tailor into Old Navy you would probably get a similar rant about how badly made the clothing there is. I also recognize that everything that Kubernetes/Docker is doing could be replicated more simply and with greater craftsmanship.

But down in reality, most companies are probably running their own made-to-measure deployment and operation schemes with lower quality and consistency than Old Navy.

zten··on Weighing a Car with Tire Pressures
Well, a lot of this is driven by the gravel racing gang... the people partying at gravel events are already happy running 40+mm width, or MTB tires, on very wide rims. But there's also a growing segment of people who have figured out that you can have a bike that's a little bit more comfortable off pavement by going wider, without totally compromising speed on the pavement, and it also makes tubeless less likely to blow up in your face.

Zipp and ENVE seem to be in some kind of internal width arms race with the release of the Zipp 303-S, and the ENVE SES AR series rims. I was exaggerating a little bit :) You'll still find many, many road bikes with disc brakes maxing out with clearance for 32mm width, but that's an improvement over their rim brake cousins. But look around in the growing "all-road" segment and you'll find wider tire clearances on road geometry frames showing up.

I am unsure if this hookless is the same hookless that is from way back in the day. With the way things go in the bike industry (cyclically, no pun intended), I wouldn't be surprised if it were.

zten··on Weighing a Car with Tire Pressures
25 is already oldschool. Newest aero rims are designed for 30+, running absurdly low pressures with hookless tubeless tires.
zten··on Large-Scale Transactional Data Lake at Uber Using Apache Hudi
Ah, so the thing I was attacking was the "if it fits in RAM, it isn't big data" meme. AWS is happy to sell you on the idea that you can use S3 as the persistent storage and then bring up the compute whenever. If you bring up the compute on-demand, then the network link matters, whether it's EBS spoon-feeding you data or you using multiple VMs and the right object storage strategy in S3 to suck the data out as fast as possible.

You pay a premium to have this stuff loaded up on faster hardware. If you look at how Redshift works on their compute-optimized nodes, everything's sitting in local NVMe SSDs (a slightly different strategy is used on ra3 nodes). They handle the fact that this is ephemeral with automatic backups. Cluster restores aren't exactly fast. I actually agree with you; if you've got some monster SSDs attached, which are comparatively cheap, why focus on the RAM... I believe there are reasons to do that sometimes, but not everything demands quite that level of performance.

For this point:

>> You _could_ write something on your own that just forks out a bunch of threads in a single process to rip through the data, but why?

> Because it's simple and easy. I wrote one in a few days. Not much code.

I think it depends on what formats you're using and how it's laid out on disk. A lot of people reshape their data into a table-like structured or semi-structured format, and that makes it a candidate for putting it into a database like Postgres or Redshift, and other times it makes more sense to bring the database to the data (the Hadoop ecosystem of stuff.)

For example my company still has stuff that writes out row-like objects into S3, and it's not too hard to write a single process job that spawns threads, reads the input files, and does some computation on those. They're on S3, so throughput kinda sucks, and copying it to local SSD only makes sense if you want to make multiple passes. But the Parquet format alternative of this data is tremendously faster to work with and genuinely easier to use, and the only barrier to entry is that you run Spark on your local machine and commit to using Spark with Elastic MapReduce to do processing for this data. Sure, you might only end up filtering through tens or hundreds of gigabytes; terabytes is usually rare. But part of that is because you only read 10-20% of every input file to do the work. It also integrates extremely well with other stuff we're using - it's even easier to just use Snowflake against the same data set, for example.

Sorry, I think I'm rambling at this point and not presenting a really coherent argument.

zten··on Large-Scale Transactional Data Lake at Uber Using Apache Hudi
Answer the question about how to process a few TB on a multicore server, and you might still find yourself using Spark, or something like it.

If you start from the assumption that you've been ingesting data and storing it in a compressed columnar format like Parquet or ORC, then you're already locked into a solution that exists in the Hadoop ecosystem. This turns out to be an effective way to deal with terabytes of data because depending on the query you want to execute, the file format (and a smart partitioning structure) helps turn your problem of reading terabytes into one of reading gigabytes. And, everything in Hadoop land is generally a query, so you're going to need a query engine like Hive, Impala, Spark, etc. AND, you probably need something like Hive metadata so that you're not crawling some directory structure for the schema and input files every time you start up a new process to run a query.

You _could_ write something on your own that just forks out a bunch of threads in a single process to rip through the data, but why? Think about what you're effectively implementing - a bespoke query engine that runs one query plan. Spark has already written an API and a query engine (multi-process distributed, unlike whatever you're likely to hand-roll) and lots of input/output code. You can spark-submit --master local[*] and use up all of the cores and ram everything into one monster JVM if you really wanted to.

Finally, you could stuff all of this in memory, but at what cost, and what are you going to use to do it? (Worse, what happens if the VM goes down - those terabytes are going to take their sweet time reloading over a network link.)

← PreviousPage 3 of 6Next →