HackerTrans
TopNewTrendsCommentsPastAskShowJobs

aljgz

1,198 karmajoined 6년 전
I'm a passionate software engineer. In my past experience I've created software that won robocup championship, a desktop publishing system, sales software, goldsmith accounting, a software similar to Oracle Hyperion and was in charge a a few microservices with tens of millions of users and thousands of requests per second. Currently working at a Big Tech firm, still working on small personal projects. [email protected]

Submissions

Trying to Be Responsible

chatgpt.com
1 points·by aljgz·3개월 전·1 comments

Ask HN: Best way to create a searchable knowledge base?

22 points·by aljgz·9개월 전·23 comments

comments

aljgz
·4일 전·discuss
New cars are UX nightmares. I'm driving an electric Toyota bz4x. Lovely mechanics, but the general UX (some are because of Android Auto) is terrible. The remote's lock/unlock don't do anything when the car is on. Example: I'm by the trunk and it won't open unless I go back to the driver's door and unlock the doors. App's remote function has too many conditions to do anything. For instance, I'm resting in the back seat and want to turn on the car for some air conditioning, but it says: the doors should be locked, the key fab should be out of the car to start the car.

I'm listening to an audio through a webpage, as soon as I change the volume it starts my last music. This is really annoying. I should guess the right volume, unlock my phone, resume my audio. Old physical volume knobs only changed the volume, not start one of the few apps they know about.

Oh and if I've been listening to loud music and now someone's in the car, I can't lower the volume without starting the music. I want to start with a low volume and then increase it.

These are some of the many stupid UX decisions. I would still not drive an old car. Especially ICE. But would pray that the equivalent of Frame.work appears, I can get an open source car with an open source infotainment.

With Chevrolet starting to sell DIY EV packages and the general simplification of the mechanics of EV cars, I believe such a thing would eventually happen.
aljgz
·4일 전·discuss
That is, until you have silent corruption of data because the admin tool is not aware of the new field you added to the website, and it's not written with forward compatibility in mind. (Have seen this lots of times)

Or a downstream service is overwhelmed and suddenly all the retired you added to different places DDOS your own service. (Also have seen this lots of times)

Some quality problems you can fix later. With others, once they happen, there's no "later"
aljgz
·11일 전·discuss
Agree about Windows Server. You can run SqlServer on Linux though. I'm not aware of your specific addons, but the Sql Server itself works perfectly well on Linux.
aljgz
·11일 전·discuss
Indexed views are much faster than trying to achieve the same result with triggers. Triggers have serious concurrency limitations, and you do recalculations even when the fields you depend on are not touched.

Indexed views are not much worse than indexes. Of course, when they refer to other tables there are underlying data lookups, but in our experience when we moved from triggers to indexed views, large scale data ingestion went way faster.

Where we used it: While revamping a large scale sales program, we stored the warehouse in/out in one table, and several things like current stock were calculated using indexed views.

Bonus: Using Snapshot concurrency control, you can do many things concurrently, and only when they both updates to a certain product in the same store you'll get the second transaction failing (which could be retried on the backend).

The fact that they are completely in-sync with your data is amazing.
aljgz
·11일 전·discuss
I've used Postgres, Oracle, MsSql Server, and MySql in serious projects, no extensive experience with Sqlite, which I know is an amazing player.

These days, I do myself a favor and always avoid Oracle and MySql/MariaDB.

Postgres is amazing, and the two big things I wished it had:

1. lightweight connection; connection bouncers improve the situation, but you still have an unreasonably high memory footprint per concurrent connection.

2. Synchronously updated materialized views (Sql Server calls them indexed views). These are incredible tools in complex data situations. I saw a project struggle with complex technical implementations that would be elegant, trivial and always correct with indexed views.

Sql Server can be costly, but in many cases the benefits it provides are totally worth the cost.

Choosing the data store carefully prevents lots of future trouble.
aljgz
·12일 전·discuss
Dehumidifiers will end up being more efficient in one mode. When the manufacturer creates the new ones, a firmware update moves all legacy devices to the less efficient mode.
aljgz
·22일 전·discuss
I feel the same.

Sometimes, I work against this and start conversations.

Rarely people are annoyed. Too often, they seem happy someone breaks their shell, they just don't want to be that person who takes the first step.

Every time I see a new person I still feel the same.
aljgz
·24일 전·discuss
Tangentially, Regarding pair programming (as a special case of thinking together):

Programming is serializing ideas into the computer language. Communicating them with someone else first serializes them into human language, which is already much less abstract compared to the thought cloud in your head.

In the case of an effective pair programming collaboration, you also get to debate approaches, discuss details, alternate between coding and watching.

It also helps that the presence of someone else helps avoid many common distractions. Reading non-urgent private messages and checking out HN (I'm no longer so addicted to any other platform to check it out at work).
aljgz
·24일 전·discuss
I might be soon moving to Europe and would need to get a new car, replacing my (mostly) beloved Toyota bz4x. Well I guess VW is out.
aljgz
·25일 전·discuss
I'm happy with my XReal one Pro. Wired, dumb, no way to lock me into an ecosystem like when I bought Oculus Quest and then had to deal with Facebook's bullshit

Did I mention much cheaper?
aljgz
·25일 전·discuss
It's really complex. This attack was bad for the Iranian Government, their proxy war allies, and for the American people. In the region, however, it disrupted a rapidly escalating disaster. What comes after this is hard to predict, but what would come from the existing situation was hard to avoid. Second and higher order consequences might eventually be good for the people living in that region.
aljgz
·25일 전·discuss
I've extensively used Windows, Mac, and Gnome. KDE is by far the greatest. Each decision is great, everything not matching my preference is configurable.* It's fast, intuitive. It's the way our tools should've been: enabling and liberating us, not limiting us and try to get a tax of anything we do.

*The only exception: I wish I could have the same status bar shown on all monitors.
aljgz
·25일 전·discuss
https://en.wikipedia.org/wiki/Sarcasm
aljgz
·28일 전·discuss
I'm Iranian
aljgz
·28일 전·discuss
"We create products and services that we are proud of"

This was one of the 3 core values in the best company I ever worked for. One I would never leave, if the region was not heading for a disaster.

Good architecture transcends the software: enables people to be their best, evolve the software to better match the reality of its reason for existence.

In an effective organization, people constantly exceed their own expectations. They debate alternatives, understanding the reality of momentum, but aiming for an infinitely long living product.

They identify the "main problem", find ways to best solve that.

A good architecture does not do much more than what's needed, but avoid unnecessary assumptions that would block future development.

It is vague, philosophical, pragmatic, challenging, rewarding.
aljgz
·2개월 전·discuss
When expressed, sounds like a trivial principle. It's surprising how rare it is to see people actually do this. Not only with tech stack: choosing cars, laptops, staying in a toxic relation, the list goes on
aljgz
·2개월 전·discuss
Not showing the price was not "my problem". It was the sign of a product packed with traps, footguns and all kind of things that would go wrong and the blame goes to the user.

No thank you
aljgz
·2개월 전·discuss
Years ago, I joined a company, took over a dev team and was asked to launch the product in 3 months.

They were using AWS, so I logged in the account to add a few more machines. Right there, in front of my eyes, were the signs of an adversarial, abusive relationship.

The UI to fire up a new machine did not show me the price. I had to look up the price in another table that did not have the specs.

I had to have the two tables open, cross check the specs and price.

If I had learned one thing from my past life was that if you see the signs of an abusive relationship, you have the option to walk out, and you don't, all that follows is your own fault.

Created a DigitalOcean account, moved everything over. Set up our CI/CDs to deploy there, and spent the next two months on the product, launching one month earlier than promised.

Some years before that I saw a video online where a person digs a hole near a river and puts a pipe connecting the river and the hole. The fishes push themselves hard in the pipe to get to their trap. Choosing the path of least resistance, and never backing off from a mistake: recipes to end up like those fishes. The video left a big impression on me.
aljgz
·2개월 전·discuss
Pedantically, they're wrong, but the two are closely related.

They both use the parent's hash together with the contents of the block/changes in the commit to compute hash of the current block/commit.

Git supports many parallel branches, while Blockchain uses decentralized consensus mechanisms to keep the entire network in agreement and resolve branches as soon as possible. So yes, the mathematical problems in the two are different, but the data structure is very similar.

Source: my last job was creating developer toolsuits for Blockchain.
aljgz
·2개월 전·discuss
It's not just you. I interpreted it similarly