HNHacker News
TopNewBestAskShowJobs

hashhar

1,785 karma · joined June 18, 2016

Software Engineer working on Trino (formerly Presto SQL) with an interest in everything open-source and distributed.

https://trino.io/

https://www.linkedin.com/in/hashhar

I can be found most places as hashhar.

submissionscomments
hashhar··on Why you should learn SQL
You might find https://trino.io/ interesting. It allows you to bolt on a MPP SQL execution engine on top of any data source including pre-built connectors for Druid and Kafka.

It's all ANSI SQL and the best part is you can combine data from heterogenous sources. e.g. You can join data between a topic in Kafka and a table in Druid or even between Kafka, S3 and your RDBMS.

Disclaimer: I'm a maintainer of the project.

hashhar··on Fourth police officer who responded to Jan 6 attack dies by suicide
Suicide is something that happens due to a cause, generally mental health issues or extreme physical pain. “died by suicide” removes culpability from the person who has lost their life and allows a discussion about the disease or disorder from which they were suffering.

Consider a case where someone got shot. Should the headline read, "died by stepping front of a gun" or "shot dead by a gun"?

hashhar··on MacType: Better Font Rendering for Windows
Audio management better on MacOS?

There is no system level volume mixer, you can't route audio between apps, you can't even monitor an audio output device. To do anything sane with audio on MacOS requires external applications like Loopback or Blackhole or any of the virtual cable applications.

hashhar··on Deduplicating Archiver with Compression and Encryption
Restic doesn't implement compression and most probably never will (since compression when combined with encryption has been known to make the encryption "weaker").

Borg's "encryption" doesn't instill confidence in me.

Restic ships as a static binary so you can shove the version you used to create the backup and will be able to restore it forever (assuming we still run x64 machines).

Borg requires a server side component so cannot natively backup to cloud object stores. Restic can.

Borg OTOH is very lean and doesn't take a lot of RAM compared to Restic.

You cannot go wrong with either. I tried both and found Restic much easier to run and manage and the memory usage wasn't an issue for me (~4TB backups).

hashhar··on The undiscovered country: Can suicide be predicted?
Thanks for sharing this - I haven't yet looked but the description itself makes me feel bad that we don't let people make decisions for themselves.

I feel the only reason we don't let people chose that path is to make ourselves feel good and feel "guilt-free".

I recently had a situation where someone in my family was diagnosed with a life threatening condition but the dilemma was that if you chose to undergo treatment their life will turn to shit. If you don't then they might suddenly die one day - albeit happy and normal.

I felt a lot of guilt trying to find reasons to convince people why the 2nd option was better. If you think rationally the only reason to pick the 1st option is selfishness. For the person who has undergo the treatment the 2nd option is hands down the better one.

hashhar··on The undiscovered country: Can suicide be predicted?
> People more readily mentally visualize somebody without a leg, somebody with open fractures. Not so much for mind stuff, > it's not concrete enough to most until it turns physical (i.e. you're a bloodstain on the floor). That's why > some comments go along the lines of "I can understand suicide for physical pain but not for mental one". I > would suggest that a broken self hurts more than an open fracture, and lacking certain central abilities to > stabilize the self leaves you much more legless than if you lost your physical legs.

100% agreed. People have felt physical pain of very wide ranges before so they have some "scale" on which they can measure it. e.g. stubbing toe to a fracture to a chronic pain. But people thankfully don't have similar breadth in the level of mental pain they have experienced. So they cannot imagine a "mental pain" ever being equivalent to getting your leg amputated without anesthesia.

I like how Mike Shinoda talks about it - if you woke up with a bad back tomorrow you might take some rest; if it was worse the next day then you take some painkillers and the next day you might visit a doctor. But we don't think similarly for mental health.

If you are not feeling good you may try to go through the day anyway; next day it's worse so you should think "I should take it easy today"; the next day you might visit the doctor.

Another issue which people cannot seem to understand is that someone not taking mental health seriously and saying things like "you are overthinking", "it's not as bad", "knock it off", "you're a downer" etc end up invalidating the other person's existence (since that's what life is like for them at the moment and people are essentially saying your life isn't real), make them feel like a burden, make them feel that the other person's life is worth more than their own, that they aren't useful and that nobody cares if they didn't exist anymore.

Imagine:

Your leg got crushed and I tell you "it's not that bad", "stop being a baby", "get over it", "you are making a big deal out of this". There is no solution for your leg so it hurts the same every day and I keep saying things like that every day. At some point you'll break. Combine the invalidation with the pain you are already feeling and you'll be like "no one understands me", "there's no one to support me", "i'm a burden" etc and maybe one day you'll be gone.

hashhar··on The undiscovered country: Can suicide be predicted?
The lack of empathy in the comments is scary. No wonder the situation is so bad.

Let me present a scenario which might seem more relatable since it seems people understand physical pain but have no "scale" of what mental pain could be like.

You have a chronic pain (maybe one of wrists is broken in a way that there is no solution). No painkillers help. Every doctor you go to doesn't have a quick-fix. People around you keep telling you "you're imagining things", "be spiritual", "it isn't as bad as you think", "it'll go away". Nothing you try seems to help. You wake up every day feeling the pain and it keeps getting worse with no end in sight.

EDIT: Missed one crucial component. The pain is so much that you cannot have normal social interactions because 80% of your energy is spent trying to cover up the pain. You feel exhausted all the time due to this and don't have the energy or the motivation to do anything.

Image living this for even a year (where this is what life looks like for some people for the last 20 years or more) and then tell me you wouldn't say no to "anything to make the pain go away".

hashhar··on The undiscovered country: Can suicide be predicted?
TL; DR -- You have a chronic pain. No painkillers help. Every doctor you go to doesn't have a quick-fix. People around you keep telling you "you're imagining things", "be spiritual", "it isn't as bad as you think", "it'll go away". Nothing you try seems to help. You wake up every day feeling the pain and it keeps getting worse with no end in sight.

Image living this for even a year (where this is what life looks like for some people for the last 20 years or more) and then tell me you wouldn't say no to "anything to make the pain go away".

---

Hear me out.

Let's say you wake up tomorrow with a bit of a headache. You take an aspirin and go about your day.

You wake up tomorrow but it's still there. You visit a doctor who tells you to "take it easy" and you go about your day again.

You wake up the next day and it's still not better. You begrudgingly get out of bed and go about your day. Someone tells you that you seem a bit irritable today. You then try to be aware of it and end up spending considerable mental energy trying to be "sociable". You get back home a bit exhausted.

You wake up and it's worse. Your brain seems to amplify little things up to 100. You spilled some milk and you think the entire day will be like this. You feel "let's stay in today". A friend comes over, you end up exhausted trying to put on a normal face and overthink about how come it looks so easy for your friend to plan a night out today? They invite you and you accept hoping it might help.

You visit the party and you feel a bit okay while in the moment. You go back home and you feel exhausted and sleep.

the next day is even worse. Your brain tells you why bother getting out of bed - it's not like anything nice is going to happen to you today. you fight it and get out of bed but you can't find your slippers - you feel the day is going to be shit again but you go out anyway.

Repeat previous paragraph x 1 year. Now the next day your brain convinces you there's no point in getting out today. You stay in, skip a few meals and it's night. You put on a movie and you enjoy it. Once it's over the feeling comes back. You get frustrated - you pick out some substances to help you "feel less". Maybe this feels a bit better.

You repeat this for a few months.

You are now so irritable and so envious of others that your personal relations start to suffer and you lash out on others. Slowly your circle shrinks.

Now it's easier to not get out of bed.

By now you've had the same day for the last 5 years and you can't see it getting any better. You go to a therapist. If they are good maybe you both figure out some things together that help you conquer small things - like getting multiple slippers one for each room and your brain no longer needs to panick if it can't find the slipper.

But sadly most of the people aren't so lucky.

You try many medications, substances but nothing seems to last. You want a quick fix but there is none to be found (unlike for physical pain). 10 years have gone by with the same morning every day - each a bit worse than the last. Now you think "This isn't going to improve I think. Nobody has answers. There are no solutions. Nothing seems to help. There is no sunshine.".

Your inner voice tells you about a few other things you haven't tried yet. And that's how we lose you.

So forgive me for saying this but people like you who have no empathy and are so willing to invalidate how many people feel on a daily basis don't deserve to be making decisions for others.

hashhar··on The terminal is on life support. Is it worth saving?
Bash has had on an average 1 to 2 releases every year for the last few years.
hashhar··on No More Movies
That goes for every role. Bad lighting will kill thr movie, bad audio mixes will kill it and on and on.
hashhar··on No More Movies
You can come up with the best story you have but if I as an audio engineer create a mix where you can't legibly hear dialogue you'd walk out of the theater in anger.

If the cinematographer has constant camera shakes in every shot - even a dialogue scene - then also you can salvage the movie.

For some not so extreme examples think about what happens if the actors are shit - The Room is a good example. The story is good but the acting is what made it into a "so bad - let's troll this" movie.

hashhar··on No More Movies
What makes the writers more special than cinematographers, audio engineers, set designers, editors.

Each of these skills can be learned and each of these also have some level of personal creativity and discovery that can't be learned and is intrinsic to a person.

hashhar··on Git vs. Fossil: what you should have done vs. what you did
Agreed. It's useful either way to have some sort of "smoke-test" version of the entire test suite so that you can have reasonable confidence that things are working and if needed you can still run the full in-depth suite.

Thanks.

hashhar··on Git vs. Fossil: what you should have done vs. what you did
Awesome, for some reason I couldn't think of the workaround of committing to a temporary branch.

> Hour-long test suite runs are a problem in and of themselves.

I'm not sure I agree. Let's say I have a data integration system that has 70 modules. Each module have some integration tests and some baseline benchmarks.

At the time of development I'm only concerned with the 1 or 2 modules I change whose tests can finish in < 5m easily.

But when I push the change I want to be sure nothing else broke. Maybe because the change was in a base module used as a library by some other modules. Maybe I forgot to run tests on 2 of the dependent modules. So running the entire suite on merges (and optionally on PRs if required) is a necessity in my opinion.

Thanks for the link though - I'll take a look.

> You either need multiple levels of testing so you get some feedback quickly, or you need some sort

> of parallel build system that breaks the tests up so that the whole set completes in a reasonable

> amount of time. Without that, you're going to have people either sitting around waiting on test

> runners or skipping the tests entirely.

100% agreed. With most of these points you can now ignore my previous paragraph. By a 1 hour test suite I mean the wall-clock time of a single build-test cycle on CI runners. i.e. to run ~130 test suites in parallel against various containerised databases and some DBaaS (like maybe Redshift, BigQuery etc.) takes 1 hour where each individual module takes 5 to 10 mins. Some may take longer depending on the depth of things you are testing.

> Effort and resources spent on a massively parallel CD buildbot sounds like a good

> way to get things done to me. Computers are cheap; developer time is expensive.

100% agreed there again. In my opinion the organisations that treat CI improvements as technical debt and not as first class citizens of the software development flow are doomed to move slowly and have a hard time getting things done.

hashhar··on Git vs. Fossil: what you should have done vs. what you did
Didn't know that. Thanks a lot for sharing this info.

So I can take a look at some prior work of how it gets used in large projects and make sense of it.

hashhar··on Git vs. Fossil: what you should have done vs. what you did
> We don't look at this difference as a workaround in Fossil for autosync, but instead as a test-first philosophical difference: fossil commit is a commitment. When every commit is pushed to the parent repo by default, it encourages a working style in which every commit is tested first. It encourages thinking before acting. We believe this is an inherently good thing.

I wonder how this works with tests that cannot be run locally (or ones that I'm not willing to sit through for the whole 1 hour the test suite runs for?)?

Eager to hear from Fossil practicioners on this.

The ideals do sound very good - but they remind me of the difference between an academic and a practicioner. One gets things done while the other advances the state of the field. Depends on what you like.

hashhar··on Show HN: Open-Source Chrome Extension for auto-grouping tabs by URL patterns
I've got the perfect gift for you - https://addons.mozilla.org/en-US/firefox/addon/tst-more-tree... A companion extension to TST by the original author.
hashhar··on CVE-2020-9771 is not fixed correctly (2020)
Wow. A "wontfix" for such a critical bug?

I just checked and there are quite a few apps that I've had to give full disk access to - some of which include applications running remote code or reading data from untrusted usb devices device.

Wonder what could go wrong.

hashhar··on Blender and the Rabbids
Nice to see more professional commercial projects picking up Blender. It helps to see what are the things missing or suboptimal for "expert" users of the system.

Blender and OBS Studio are very good examples of FOSS software that are the best at what they do and can easily offer competition to even the commercial alternatives.

Most of all their design and UI language is consistent - something very rarely seen in FOSS software.

And they have incredible depth of features 90% of which are overkill for the casual user but the experts sure do appreciate them.

And the best part is the well-thought of extensibility and API story. Both of them have a very good community of plugins and extensions which add very useful features without feeling out of place.

hashhar··on Audacity may collect “Data necessary for law enforcement, litigation” and more
You don't need to change anything at all.

If you build from source all the telemetry, crash reporting and network features are disabled by default.

If you want to disable them explicitly each of them is behind a helpfully named compile-time flag.

hashhar··on Audacity may collect “Data necessary for law enforcement, litigation” and more
There is a lot of flamebait on HN these days. People just regurgitate talking points they see elsewhere without any context.

In this case the wxWidgets fork has existed for a very-very long time and has nothing to do with the acquisition.

hashhar··on Things I wish Git had: Commit groups
A pragmatic middle ground is learning fixup and autosquash and making the story mode before merging the code.

Your story mode == commit mode provided you can divide at a good enough granularity. This is generally not a problem though.

hashhar··on Apple and Intel first to use TSMC 3nm
Hardware getting 100x faster isn't a good reason to make your software 100x slower so that the user-experience feels the same as from 20 years ago.
hashhar··on I do not agree with Github's use of copyrighted code as training for Copilot
Why is this noteworthy? Who is this person? Am I missing something?

I agree that there needs to be talk about licensing and copyright but with so "less/no content" there can be no meaningful discussion other than aimless banter.

hashhar··on Beets: the music geek’s media organizer
If possible you can help other lazy people like me by adding album art and correcting the information in the MusicBrainz or Discogs catalogs.

It's very difficult to find print media nowadays and so all the liner, covers and booklets never get seen by people in the age of streaming music. Music is so depersonalised in streaming. I used to open the booklet and liner notes while putting on an album and it was a nice way to enjoy the album with some context.

hashhar··on Beets: the music geek’s media organizer
There are commits pretty frequently but yes no new releases have been cut it seems. I contribute in my spare time as and when I find annoyances. I'll check with the maintainers if there's some reason for the hold up.
hashhar··on Beets: the music geek’s media organizer
I've been there. Got a bunch of files overwritten in the very beginning when trying to create my taggerscript because their names ended up being the same within the same structure.

Thanks for reminding, I'll file an issue against Picard and see if it's possible to add some kind of safety toggle to prevent overwriting.

EDIT: My workflow to reduce chances of file overwrites is to create a staging directory from where Picard can read files and keep the destination directory something else entirely.

So I have something like D:\Music\_TO_IMPORT where new RIPs land (or anything I want to re-import) and D:\Music\Collection which is where Picard writes it's output.

hashhar··on Beets: the music geek’s media organizer
Beets combined with MusicBrainz Picard is the killer music organiser.

Picard can perform tagging, cover art, filesystem organization and fingerprinting of untagged files. Beets can then add juice on top with lyrics, smart playlists, last.fm integration, deduplic ation etc.

You can find my workflow at https://github.com/hashhar/picard-beets-config (not up to date and still a wip).

hashhar··on Beets: the music geek’s media organizer
Picard is the best. Beets is a little too opinionated.

I've recently started using both though. Picard does the initial discovery and tagging. Beets then adds other features on top like syncing my collection to MusicBrainz, adding lyrics etc. You can find a brief description of my workflow and some tagger scripts at https://github.com/hashhar/picard-beets-config

hashhar··on MIT and Harvard agree to transfer edX to ed-tech firm 2U
I'm sad that all education endeavours eventually turn for-profit and then the goals get misaligned.

Produce as many courses at as minimum cost as possible. Enroll as many people as possible without regards for completion percentage. Create an economy where random people are incentivised to create courses and then the course quality tanks.

I wish this turns out differently.

Even Udemy and Coursera have become commericialised with edX the last major standing.

← PreviousPage 4 of 21Next →