Hacker Newsnew | past | comments | ask | show | jobs | submit | more hackit2's commentslogin

> "you're too poor for us to give a shit"

That is kind of the point that is part of the healing process is to understand to be your own judge of your own life and make changes to benefit you.


If that was all there was to it then why do white people in the USA have 10x as much wealth as black people? Are you saying that white people are 10x better at going on the healing process, being their own judge, and making changes that benefit them?


LLM's are a chicken and egg problem. That is to say that unless you have the corpus of terms or vocabulary of the domain then you're going to get very generic, boiler plate responses out of the model. It is a big reason why experts can leverage LLM's better than your average person off the street because they can use the lexical terms that is specific to that domain.


LLMs are a stone soup problem. They are only worth talking to if you believe they have something valuable to say.


The main benefit of a therapist is they give you the vocabulary to express a emotional state or thought process. Once you have the vocabulary to communicate your emotions then it will helps alleviate or eliminate the Cognitive dissonance.


There are many benefits to a therapist. Understanding a problem is not the same as solving it, and many problems are not cognitive dissonances.


Most of the problem isn't the problem people are trying to solve. It is more about injecting a better mental model and then re-framing it from another perspective, that is the problem but it isn't the problem people think they have.


I don't think the science supports any psuedotheories like this. All talk therapy is approximately equally effective, suggesting that it's the act of sitting down and talking that provides the benefits rather than the specific content of the therapy or intent of the therapist.


Yep. My wife is a person centered counsellor. The core of this approach is that the therapist is not the expert in the client, and provides no direction to the client. They just provide a space for the client to explore their issues.

Other modalities can be much more directive to the client, but are equally effective. Some may work better for different people, but not for all of them.


In defense of Java blocking calls, in the 1990s to the 2010's the industry mostly considered Asynchronous programming as coordinating multiple threads over know yield points - such as using atomic locks, or mutexs. The main push by the industry was all about abstractions and OOP, and moving away from static C/C++ programming languages to dynamic programming languages such as Java/Python/Visual Basic or C#.

It is only until recently with the popularity of Node.js, Python and the explosion of the web that the developer have to deal with single threaded languages that blocking calls are a significant impact to the users experience. This push for Async in the web has had a cascade effect to system programming languages where old time developers are only first learning about it.


Could you clarify the "static C/C++" vs "dynamic Java" distinction? I'm used to thinking of "static" and "dynamic" in the context of type systems, but do the terms have overloaded meanings in concurrency/parallelism?


The push for async as we know it started in .NET, initially with F# and then popularized by C#, with the pattern then adopted by JS, Swift, Python, Rust and other languages. The implementations, however, are wildly different.


I thought F# was a derivative of OCamel that focused exclusively on immutable data structure and functional programming, instead of mutable/imperative languages.



It was also pushed by the C10K movement.


True, one great thing that did come out from it is that the language needs to natively support asynchronous programming with syntactical sugar otherwise you get an explosion of libraries/frameworks that solve the problem with their own problems. How-ever this is a chicken/egg problem, did everyone really need async or did it come about because the proliferation of frameworks to solve this common pattern?


You could make the proposition that sequential code is inherently asynchronous in modern operating systems, because the kernel inherently abstracts the handling of blocking/unblocking your process.


Sure, but doesn't that remove the usefulness of the words?


Yes and no. From a practical point of view considering sync code as async is useless as sync and async code have very different usability characteristics and it is useful to have different names for the two domains.

On the other hand, form a more abstract, theoretical level, it is important to know that there is almost always an event loop at some point deep in the stack and sync code is just sugar over async and you can always transform from one to the other.


Yes and no, the concept that is being communicated is that your program inherently is asynchronous how-ever the context switching/block/unblocking is abstracted away from you so you can focus on what is important to you - which is solving your problem. Once you communicate that concept then it makes it a lot easier for people to create new mental models that better reflects reality. Then they can structure their programs that can take advantage of it.


I would say that's a leaky abstraction. (The OS hiding the details of async by blocking your threads and context switching, although this is how many programs operate.)

The problem comes when you have a critical section where you need to hold a mutex (lock): If you're working with "proper" async code, you can safely call any non-async code from within the lock. (C# enforces this, because a lock statement can not contain the await keyword.)

When any method you call can block on IO, synchronous programming (IE, using the OS to become async), can leak and make you hold your mutex longer than you should.

---

That being said, many of us build our careers programming threaded code that relies on the OS to block. So at this point we're splitting hairs.


When most people talk about async code it is with single threaded (hence the need not to block the event executor) applications (web-browsers, nodejs ect.). How-ever on the other end of the delirium when people talk about mutex's (locks) they're talking about multiple threadeds working in parallel which you inherently need to consider if the code you're calling is going to either direct or indirect acquire the same lock or like you pointed out calls a api that blocks. In the single threaded environment the only cognitive load you need to worry about is one or two yield points, how-ever in a parallel system your main concern is mutex's, race-conditions, or dead-locks.


The trick with synchronization/parallelism systems is to only communicate over a known yield point this is normally done via queues. It is the only way you get deterministic behavior from your sub-systems or multi-threaded environments.


It is a gross abuse of the state to hold a person past their sentence. The whole point of criminal law is presumption of innocence. If that wasn't the case you would have to prove beyond a reasonable doubt to the state that you didn't commit the crime they're charging you with. This is exactly what is happening here.


He’s not innocent. He is a repeat offender. And he will almost certainly victimize another innocent person. This isn’t about “beyond a reasonable doubt” - we are well past that. It’s about sentencing based on historical record, to keep the public safe. Think of it as being similar to a sentence that is longer but with the possibility of early release. This just has a default of earlier release, if there is evidence that there wouldn’t be danger to others.


He is not innocent for the crime he committed (encroaching on someone else's entitles, and freedoms), how-ever you cannot (assume) or induct that he will commit a crime which you have no evidence that a crime has been committed (presumption of innocence). Yes the offender has history of repeated offences but those offense would be weighed accordingly if he offended again for another crime and would be sentence accordingly.


It isn't a good idea to circumvent corporate environment networks. they're there for a reason, and doing it shows a lack of professionalism and dis-respect for the organization process, procedures, and security. Yes it takes weeks/months to get access, then it takes weeks/months to get access. You don't want to be held liable for opening a backdoor to confidential information, or compromising their security.


Exactly. It's not a good idea to bypass policies at work. Just because you don't know why the policy is there or you disagree with the reason, it doesn't mean you can ignore the policy.

If you can't get your job done, then escalate the issue to your manager. You not being able to get your work done because of other teams is the kind of problem they're supposed to be solving.


If you let me ssh on that server and I am allowed to ssh from there elsewhere that is not bypassing anything. You allowed me to do that unless it says somewhere that tunnels are not allowed. The question is mainly for which purposes you allowed me to use these things and whether I comply with that. E.g. if I was given a ssh route to reach the some internal LDAP system for software development reasons and I abuse it to stream cat videos on youtube that is on me. But if I use it to reach another internal server that I use for software development, then it is on them.

The alternative would be asking a babysitter for each connection you are making. Sounds like a good way to never get work done.

Also: A good sysadmin will have lines in their /etc/ssh/sshd_config that prevent me from tunneling if they don't want me to do it.


This is the approach I take too. If I need it and I can do it then I'm going to. If you don't want me to then block me.

I must say I've had some raised eyebrows over that approach but if the alternative is not getting my shit done then I'm gonna do it unless explicitly forbidden.


I think that statement is pretty short-sighted.

Bypassing corporate policy at work is risky. You might bring down negative consequences on yourself or your workplace. You have to understand what you are doing. You have to understand likely reactions.

But also, bypassing corporate policy can have benefits. If I'm more productive or get a reputation as the guy who gets things done or don't get seen as a complainer or just generally produce results because I bypassed a policy, those are all benefits. If I can transform "hey boss, it's gonna be another week on this project because I'm waiting on a policy exemption" to "here it is", that's a benefit.

You have to weigh whether the benefits outweigh the risks for you.


Depends on what you mean by bypassing. If it is a workaround that is not prohibited but rather just not known by ICT and most users, there's as good as no personal risk.

If on the other hand, it is sabotaging or disabling safety systems, e.g. exposing the internal network to outside the corporation or writing passwords on a paper lying on your desk, then you can get blamed.

My experience is that this will always be a kind of cat and mouse game and that is just fine. It keeps ICT sharp while there always are possible ways to cut some corners if things need to move forward. Alternatives would mostly be ultimate chaos or crippling bureaucracy.


I do agree, but I'm not sure people are actually thinking about the potential risks. Because it's easy to say "what risk can there possibly be?" but it's hard to actually answer that dismissive question.

Also, the if there is risk analysis it may be overly focused on the short term. I've worked with "here it is" kind of people... and had to deal with the messes they leave behind. Those people get praised in the moment at the expense of the future (some of those cases were actually recognized eventually and the people were let go).


Sometimes they are. Sometimes that reason is long forgotten, or isn't really valid anymore, or is an overprotective measure and not really a good reason in the first place. Quite often it doesn't justify waiting weeks or months to get it changed.


    [...] they're there for a reason [...] Yes it takes weeks/months to get access, then it takes weeks/months to get access.
Not exactly. Everyone has to evaluate for themselves how legit the rules are and act accordingly. More often than not, boilerplate rules are thoughtlessly applied and there is no pragmatic process to handle the exceptions to those rules.

Admittedly, it's a risk to break such rules. One has to be an adult and use good judgement. It's OK, most of the time.


Many corporate networks show a lack of professionalism and a disrespect for the people the network was designed for.


In many corporate cases, SSH tunneling is the desired way of accessing a closed by default port on a firewall. Very often from a predefined bastion host.

If you don't want to open a range of IPs, it allows only people with their ssh key registered on either a selected bastion host or the server to open a specific port.

It can also be a way to authenticate users. For example if you want to secure the access to an open source version of an app for which only the proprietary enterprise tier allow authentication by ldap/AD/oauth2. You can have ssh authenticate against LDAP/AD/oauth2 and leave the app running without authentication enabled or with a single user. As long as you don't need RBAC/privilege separation or some kind of auditing of what each user does on the app this is a particularly valid solution.


I will do everything by the book if your company gives me a person that can help me within half an hour. If every request needs days to complete and then doesn't work and then I have to make another request – if I wouldn't know better I would call it sabotage.

From the CIA simple sabotage field manual: Insist on doing everything through “channels.” Never permit short-cuts to be taken in order to expedite decisions.


New version of https://xkcd.com/303/ ?

"Waiting for corporate to punch a hole through three firewalls for me to get access to the test server :P"

I was on a project once where a consultant had dropped their laptop and it had taken a week or two to get fixed. After that everyone had to use a laptop provided by the client. When we scaled up the project with 3 more developers the project manager who had set up this policy discovered that the lead time for 3 dev laptops meant that the new developers got to be bored for a month at a fairly high hourly rate.


Can you cite any examples of damage resulting from personal browsing over an SSH tunnel that the worker was held liable for?


That is an awfully specific question. Here are a few examples of what could happen though:

- Malicious code on a webpage compromises your computer.

- You download unauthorized software to install, which possibly even comes from a known-bad source.

- Your employer could have trouble establishing that their patent is legitimate because you accessed documentation from a competitor.

Even if the worker avoids liability for costly mistakes, the company will be set back. You can also be fired for breaking rules like that even when there are no actual damages.


> where in the end it turns out a lot of issues are just people not talking to each other or misunderstanding each other?

What makes a huge difference is how you frame your interactions. If you extrinsic your interactions you're all-ways going to come away with a lack of agency, stress and/or frustration. if you intrinsic your interactions, you're going to be more in control, accountable, and over-all indifferent to other people.

For example well at work, I'm being compensated to participate in the organization to work towards its goals, wants, needs and/or desires. Those have nothing to do with me, nor do i really care about it. I will engage with people at work, colleagues and managers, how-ever if later they don't volunteer engage back - such as being cordial, I don't re-engage because I consider it to be intrusive.

Now let say you have co-workers who have a glaring communication problem. It it pretty obviously that you can do anything about it. So you engage their manager of lack of communication, and lack of professionalism. If their manager doesn't want to rectify the problem then you communicate it with your manager but at the same time be professional about it that you do not have the capacity to deliver on the deliverables within your current roles. This opens the door to opening a dialog to reviewing your remuneration or compensation package that includes the new responsibilities.


I bet these things would have worked themselves out on their own. The main thing is to have an ultra crisp vision.


People use their job as an identity - and via extension some use religion, one of the lessons you learn later on in your life is that your identity isn't your job, achievements, money, anything. You identity shouldn't be dependent on any of those things.


While this does seem rather zen, what would it look like?


Defining yourself by what you enjoy in life, not what you do so you can afford it. I dont veiw myself as wage slave doing job X for a faceless heartless megacorp, instead veiw myself as a Father Husband, Gamer, Flyfisher and Bookworm that enjoys reading greek philosophy, ancient through medeviel history and science fiction and fantasy novels.

I came to this conclusion back in high school by just observing my workaholic father and grandfather. They when asked about themselves would talk about their job first. My grandfather gave everything for his employer moving around the country for his employer. In they kicked him to the curb when they felt the financial squeeze just a few years his before retirement, never mind he had devoted his life to them sacrificing his family life to them. And worked for them for over 40 years. My father is from the same bolt of cloth you ask him about himself and he starts talking about his job and what projects they are working on. When I was growing up he worked 80 hour weeks, now that his children are grown he work more. He deals with depression and burnout but is to afraid to quit. He complains of loneliness and lack or friend but spends all of his time working and is afraid or retiring even though stress from his job is killing him. Neither of them could see themselves separate from their occupation. Neither really got to do their hobbies or have a healthy social life or family life Seeing them growing I thought fuck that. I wont be my job and have been happier for it.


The key is to not over invest in work. Work is not life. Work is something you do to enable you to do the things, that are you life.

I enjoy programming. I program for a living. But, I also have riders on my employment contract that allow me to code outside of work, and enjoy that.

For others, it will be gaming, sailing, anything. The key is to fill that void that your work identity leaves behind with things that you do and control.

In doing so, you take control of your life. I am not perfect here, but because I can balance several different things... none of them control me fully, I control me.


I've found pg's essays to be a little hit or miss, but I really like his "Keep Your Identity Small"[0]. After reading it I realized that a lot of things that I had made into my identity were not useful or positive, and only created conflict or stress or anxiety.

I like the idea of identity including mostly abstract things. Like, for example, if you donate to charities or spend time volunteering, don't hold "philanthropist" as a part of your identity; instead think of yourself as "generous" or "giving".

Instead of a "computer programmer" I think of myself as someone who likes to solve problems or likes to build things. The nice thing about that is it's more flexible, and unlocks creativity and enjoyment in places I don't expect, when I find that I can also solve problems or build things that have nothing to do with computers.

And identity should be a frank evaluation; your identity might include some things you consider negative. That's fine; you might be working on those things, or not, or whatever.

I'm far from perfect, of course. There are still things I consider part of my identity that maybe I shouldn't, because they constrain me or because they can cause conflict. But that's something to work on another day.

[0] https://paulgraham.com/identity.html -- though I disagree that discussions about Javascript don't devolve into religious arguments


Strictly speaking, the Zen answer is something like you don't have an identity. But in practice, you get a lot more out of basing an identity on the community(s) you want to be part of.

It is good to be a little picky. I don't see basing an identity on a professional community as being clever - that community isn't going to do much for its members except maybe help them find a job from time to time.


You're missing the point that providing some basis for one's identity is only one aspect of why people draw meaning from a job - as GP points out, it is more about providing purpose and a sense that one is contributing to something

Though I do wonder - what, in your opinion, should one's identity be based around?


How you choose to react to situations, and how you choose to act in your life is what defines your identity. Not the results you gained by effort or achievement or lack thereof.

> that one is contributing to something

I feel sorry for people who measure their self based on some consumerism yard stick, it is pathological.


Contributing to something can be helping at the local church, or other things of value.

I don't consider the urge to help others a negative one. But one shouldn't measure. It is doing the thing to do it for whatever your reasons are, that matters.

If I choose to build something to help a kid walk, I am contributing to many things. And yet, I may get paid nothing, and not even care.


> I may get paid nothing, and not even care.

Even if you did get paid, it doesn't take away from what you're doing.


It does and it doesn't.

Without an interchange of value, you can focus on the thing as the thing, instead of as a value exchange.


I don't believe these are mutually exclusive, but I agree that that's a fine line to walk.


> I feel sorry for people who measure their self based on some consumerism yard stick, it is pathological.

I mean, if you think this sums up every job everyone has, then I feel sorry for you. Many people are doing laudable work that has nothing to do with "consumerism"


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: