HN user

Wilem82

59 karma
Posts0
Comments33
View on HN
No posts found.

Plus all of these starting points imply the use of new languages, configurations, and programs, in particular, builds.

Oh yeah, true, some people keep saying a language is just a tool trying to convince somebody to use it, but they forget, or omit for some reason, the fact that it's not "just a tool", it's a huge ecosystem that brings additional, enormous mental burden with it - build system(s), libraries popular within that specific ecosystem, language syntax, language quirks, project structure, its own conventions and so forth.

It's much simpler and more efficient (technically and labour market-wise) to write everything in a single language, as much as possible - unless you start going completely against the grain. Like, auxilliary scripts are usually written in cli-centric languages like Bash, as opposed to API-centric like Python, because you get maximum convenience using cli programs and composing them together.

But no, some people casually shoot themselves in the foot by jumping from language to language depending on the task because it's "just a tool". Ripgrep is a just tool. An entire programming language with its ecosystem is not.

MacOS. Project scripts and software are hardcoded for Mac. The alternative is Windows, but making the project dev environment cross-platform takes time. I dislike non-standard keyboard shortcuts for everything, lack of FAR Manager (using Midnight Commander has the same problem as all the different keyboard shortcuts), its constant annoying notification popups that covert part of my windows, its problem with handling non-Apple mice (have to jump through many hoops to make mouse movements sensible, put mouse wheel in the proper direction etc), its windows rounded corners that cut at the application's view area (run Alacritty without status bar, the rounded corners at the left bottom corner will obscure part of the shell prompt), its support for Linux that is significantly worse than in Windows and probably more that I cba to remember.

The other thing that I dislike but can't get rid of is JVM. Mind you, Python, Go, Javascript and so on is worse, but JVM is what I have to work with, unlike the rest of them.

Java was released in 1996. It got generics in 2004, 8 years later. I don't remember anyone panicking and yelling from every corner that the world is ending. Everyone understood the benefits and it was a much awaited feature. And yes, after Java got them, it became easier and more typesafe to use. End of story. And by the way, Java too was a very simple language and generics didn't ruin it.

I’m in a team where every member was forced into macOS against their will, because a lot of project scripts were hardcoded for macOS by a long-gone “architect”. My biggest gripes with macOS, after decades of Windows and Linux:

- Windows has better Linux support than macOS (WSL gives better integration which means Docker is easier to use compared to Minikube via Hyperkit vm)

- macOS doesn’t have the crucial software I need: FAR Manager

- I’ve had terrible experience with Apple’s customer support in the past where they couldn’t fix broken font antialiasing for external monitors

- I’ve been plagued by serious macOS bugs where it would cause 100% cpu load that could only be cured with closing/reopening the lid, and there are still some sleep-related bugs in it, whereas on Windows everything’s fine

- The window manager in macOS lacks basic features compared to Windows: no tiling, but Windows gets it out of the box with Win+arrows

- All hotkeys on macOS are different from the rest of the world (Windows, Linux) for no good reason and it makes switching between computers very difficult. And no, switching Cmd to Ctrl doesn’t solve it

- Rounded window corners make the first character on the bottom line of terminals unreadable

- GUI feels slow compared to Windows

Can I Email? 5 years ago

And how are emails any different from web articles? Both contain structured thoughts represented as structured text, both often contain code and quotations, lists and so on. Why special treatment?

Can I Email? 5 years ago

But, almost everyone does? Would you prefer all web articles to be strictly in plain text, same colour? No font changes between text and code, no colors for quotations, no indented multilevel bullet points? Basically, nothing that markdown can do. In your opinion, those things don’t improve ease of reading, right? What about syntax highlight in code - nobody needs that either, am I getting it right?

Any closed community ends up as a cult, derangement reinforced through the circular patting on the backs. HN already got a bit of a loony reputation (for example, see the comment about being a think tank), and it’ll get even worse behind a paywall.

It's explicitly stated in their comment:

arguing about slight variations of the same mundanities: XML, XSD, IDL, ASN.1, Avro, JSON... Emacs vs. Vim, Weakly vs. Strongly typed, and so on...

There could be a lot of valid and important arguments around these things. Except maybe vim and emacs, who gives a shit about that.

If you think what I said is wrong, you're welcome to explain why. Personal attacks are neither productive nor interesting.

My reasoning is the following:

People would only listen to you if you can prove what you say is right, because nobody is interested in hearing wrong things or unexplained things, they just aren't helpful.

"We should use nodejs!" "Why?" "I don't want to argue, we just should." Is that helpful?

If you don't have the reasoning skills to convince others, you can't present constructive ideas and back them up with an explanation.

If you can't do that, literally, what is your value to the team? Blindly and quietly execute the will of other team members? That would take too much energy from those people, to direct you on every step of the way.

When you hire engineers, you expect them to give more than they take, otherwise they're a drain on the team resources.

Collective problem solving is impossible without arguing. Arguing is trying to improve something, identify mistakes, logical contradictions, basically you're doing the work of a compiler that checks your program for correctness. Would you want a compiler that always agreed with you, whatever you fed into it? Don't think so. Same thing with engineers working together to reach a common goal. You're checking and improving each other's ideas.

Edit: moreover, if you lack reasoning skills to convince others, means you lack reasoning skills themselves. How are you going to solve problems in the first place?

Your statement implies that arguing is something bad. Arguing is presenting arguments that attempt to show (prove) why something is true or false. It's the most important tool (convincing each other) in the progress of civilization. If you don't try to convince each other, the only alternative, in the end, is just shoot whoever you disagree with.

And it also diminishes your value as a team member. If you can't convince others, means the reasons you present are weak and nobody would be interested in listening to you and therefore there's not much reason in having you around.

This thread made me read about conditional types in TS and in general more about its type system. I was ignorant. I agree now that it's advanced. Previously I only heard bad things about it without bothering to study it myself. Turns out, it's not all bad, there is some good as well. Still wouldn't want to work with it, ever; but that's beside the point.

Is this satire? What do you think is advanced about TS' type system and why?

Duck-typing that creates a minefield instead of providing correctness?

The unknown type that does the same?

TS is a step forward from JS, but JS's bar is so infamously low that making something better isn't a big achievement, especially compared to other languages with normal type systems.

Post-Open Source 6 years ago

Hate to break it to you, but the absolute majority of devs have no idea what HN is, or are interested in reading it.

But what about the web browser, the GUI environment, the OS kernel?

Firefox is being rewritten in Rust, which is not oop. Linux kernel is in C, which is not oop.

Eclipse SWT, a very succesful java GUI, uses composition over inheritance.

Bye, Amazon 6 years ago

more importantly amazon probably have better conditions than all other retailers in the world

That's not possible, the US has the worst worker protection laws in the world, it's really quite an undeveloped country in that regard.

Using any kind of management position as justification for anything tech-related won't have the effect you're probably aiming for. Dev going management is always downshifting.

Seriously, go use products like Google Hangouts

Corporate standard at my place of work. I hate Hangouts with a passion. It's the worst messenger, feature- and UI- wise that I've seen for years.

Microsoft Teams (Microsofts's surprisingly better clone of Slack)

No it isn't. Used Teams at another company which adopted it as the standard. Couple of years ago. Feature-wise it was like a proof of concept, very early access.

Additionally, the major revenue source was Business tier use, which Microsoft dramatically improved by integrating it with their other cloud-based business suite applications.

Again, I worked at another company where Skype for Business was the standard and nobody ever used it unless they needed formal IT help or something.

All the teams I'm acquainted with at my current place refuse to communicate on Hangouts and, in violation of corporate policies use something else like Slack or Mattermost.

Managers are supposed to delegate tasks to you, not the other way around.

In software engineering? Not really. They aren't engineers, they can't delegate anything because they have no idea what to do or how to do it.

In SE, the best managers can do is be helpers in non-technical tasks, like manage the attendance system for you or talk to other departments when your issue tracker goes down or if there's an internet connection problem in the office, and so on. Make sure nothing distrupts your work, in other words.

If you are delegating tasks to your manager, (as opposed to your manager saying something like, "I'm going to assign this task to XXX,"

Managers cannot, without any input from the engineers, assign tasks, because they have no idea what the task affects, the impacts, the risks, difficulties etc. Their so-called decisions that touch on the technical side are 99% based on the engineers' input. The engineers say this is critical and explain why and the manager says "oh well, then you and you should fix it asap!".

Sometimes a manager is useful for aggregating the data flowing in and out of the team, as the team's single point of entry for various people, kind of like a reception or secretary in a sense. Again, to let the engineers work on their stuff.

Or, the manager could present some business requirements, although for that you should have a PO, but suppose it's the manager. Even then, they're not delegating as in commanding the people to do something, they're just asking the engineers to work on a solution, something which the manager has no idea how to do. It's like, if I call a plumber to fix something, I'm not delegating the work to the plumber because I have no idea how to do it myself, I'm simply asking the plumber to provide a service. I'm not the plumber's "boss", the plumber is the expert, I'm simply asking their expert opinion on how to proceed.

then your manager isn't really managing

They are never managing anything, at least from my oh I don't know, about 16 years of experience working at companies big and small.

Little bit of a contradiction there. You say collaboratively, yet you share your ideas one on one, instead of with the entire team. It's either one or the other.

Next, assuming the challenges you speak of are technical, the manager is no use talking to because they're not an engineer. The manager of course should know of technical difficulties to understand risks of delays, but that works through inviting them to engineer meetings where the team presents its consensus on the matter.