HackerTrans
TopNewTrendsCommentsPastAskShowJobs

proper_elb

no profile record

Submissions

Ask HN: Stuck in a support role, facing burnout at small, great startup

11 points·by proper_elb·il y a 3 ans·20 comments

Show HN: Mastodon Quick Start in 280 Characters (Including This Title)

11 points·by proper_elb·il y a 4 ans·3 comments

comments

proper_elb
·il y a 2 ans·discuss
I think 'joy' would be a fitting term, perhaps? Here (https://www.1517.org/articles/cs-lewis-on-joy) C.S.Lewis defines it well, and distinguishes it from 'pleasure' and 'happiness'.
proper_elb
·il y a 2 ans·discuss
Thank you for your insights!

I think it makes sense that this feature would not be planned in your library - as I understand, its goal is to support developers to write better money-related logic, which is sometimes related but different from simulating as accurately as possible.

I just noticed a potential misuse of your API: Transitve relationships: "A" = 2.0000 "B", and "B" = 3.0000 "C", then implicitely, "A" = 6.0000 "C". Can the user now define "A" = 7.0000 "C"?

That would be wrong - but not trivial to prevent, and practically speaking, it is okay I think.

Thank you for your time and for this exchange, wish you good success and fun with kotlin money! :)
proper_elb
·il y a 2 ans·discuss
More precision and/or more safety. Will depend on the domain/audience/... the software is being written for.
proper_elb
·il y a 2 ans·discuss
First, congrats on the library and thank you for sharing it!

1) A hint about potential prior art: F# (and/or C#?) have a first-class unit system (physical units I think), which sounds a bit similar to monetary calculations. However, physical unit are easier to model than monetary unit I think.

2) Currently, I am building something tangentially related in Rust: A backtester (test trading strategies on historical and/or simulated data) with focus on accuracy. So one thing I included already is that Assets (like etfs) are valued in a currency.

If I may be so bold: How would you approach these questions / where could I read more about that? 1) When simulating, can I always assume that the exchange will work? (For assets, that is not always the case, sometimes one has to wait a bit until there is a buyer, or there might not be a buyer at all) 2) Is there public domain data in exchange rates? 3) If I have to choose, which exchange rate should I pick? The lower one, higher? What would make the most sense in the context of trading etfs, stocks, options, crypto etc.? 4) How to approach rounding, is there a best practise? 5) I assume it is best to immediately substract taxes in every transaction, even if they are formally defined annually, right? 6) Would you model inflation? I currently plan to ignore it and present it at the very end: "Your portfolio has a final value of X.X ¥. Adjusted for inflation, that would be Y.Y ¥ today (2024-10-08)."
proper_elb
·il y a 3 ans·discuss
To add to this: A bit similar to Lisp, due to the different compiler plugins, Haskell is more like a family of dialects. One can be pretty vanilla about what the types should protect against, but one can also build arcane type-magic buildings that rely on the newest PL research.

Simple, vanilla Haskell is approximated more and more by the mainstream languages: Optional types, andThen().orElse() and friends and other things - which I am really happy about!

Why not use a more mainstream langauge then? For me, there are at least 3 hard reasons:

1) The stuff mentioned above is old, battle-tested and deeply embedded into the language and the community - it feels ergonomic to use.

2) IO-being-a-library is a paradigm that produces programs that I love to maintain, also when others written them.

3) Haskell has nice interfaces that I miss in mainstream languages, Functor and Monad for example. My prediction is that in around 5 years, mainstream languages will start to offer these kind of interfaces - starting from "Wait, what else can we do with andThen() and optional chaining and so on?"
proper_elb
·il y a 3 ans·discuss
Heh, I don't think that will ever really change. What changes in my experience is your knowledge and confidence when it comes to translating requirements into maintainable technology. The real world stuff seems to be always messy. My attitude is to try to locate areas of potential unknown risk, plan how to deal with the known risk and then hack away, knowing that no matter how much time spent, the plan will be flawed. During this whole process, communication is really important (i.e. 30% feedback, where I just write comments of what I would change in the codebase and then talk about it with a collegue)
proper_elb
·il y a 3 ans·discuss
Spot on.

> Even when you understand it's wrong, or at least heavily negatively biased, fighting those interpretations feels like trying to swim upstream in a terrific current.

Achieving it still feels like the end of "A beautiful mind", where there are people hanging out in the room that are not there. They sound like they are they, they feel like they are, they smell familiar. But they are not real and will disappear some wonderful day, as they always do. So you just nod to them and go on with your live.
proper_elb
·il y a 3 ans·discuss
Having stock related to real estate is more common than you think, might even try it yourself ;)
proper_elb
·il y a 3 ans·discuss
Yes (did not doubt that), but this is of course only one part of the puzzle. Remember that the assumption of the post you responded too suggested incentives tied to real estate (stock in real estate sector might already be enough), and not about salary/stock in OpenAI. What about other engagements, promises made and so on? Has he declared that incentive-wise there is nothing else than OpenAI going on for him?
proper_elb
·il y a 3 ans·discuss
> some of our best people are remote, and we will continue to support it always, so please don't let hating SF stop you from applying to OpenAI!

What is a strong sign of conviction? Putting your money behind it. Which is exactly what is not happening here - not only keeping, but being open to increasing the remote working force. So is Sam Altman telling us that... OpenAI is not doing innovative work anymore? Or not valuing collaboration highly?
proper_elb
·il y a 3 ans·discuss
Obviously the "indirect" part of the post you are responding to applies.

Your last sentence seems to indicate that you know more than us - if so, enlighten us please about the incentive situation of Mr. Altman. (Whose products I value quite a lot, I will say)
proper_elb
·il y a 3 ans·discuss
> However, if your work is about innovation and collaboration, then it's going to be more effective to spend time together.

Not convinced yet, at this point it just seems to be anecdotes, and pretty nebolous ones at that. I would be open to listen to this position if it was backed up by actual examples like "So we were working on Product X and team Y struggled with remote work in that and that way." Creativity/Innovation is not something fuzzy, but something very real that will result in deadlines not met, lower morale and so on - I will start to consider Altmans et al.'s position once I hear those non-fuzzy experiences. (As someone working in a small startup doing innovative products, and collaboration being crucial).
proper_elb
·il y a 3 ans·discuss
You raise a good point, and I would answer it with agree and disagree:

Agree: Yes, you are correct, merely observing that a code path was never executed in the last 6 months is not the same as understanding why the code path was created in the first place. There might be the quite real possibility of an infrequent event that appears just once in every two years or so (of course, this should also be documented somewhere!).

Disagree: Pragmatically, we have an answer if the code path was not executed after 6 months use in production and test: We know that, with a very high probability, the code path was created either by mistake (human factor) or intentionally for some behavior that is no longer expected from our software. To continue the Fence metaphor, regarding Sensenmann: After 6 months, we know about the Fence that 1) it has no role to play in keeping the stuff out that we want out (that was all done by other fences that were had contact with an animal at least once) and 2) that it might have been used to keep out flying elephants or whatever, but no such being was observed in the last 6 months (at least the fence made no contact with it, which it then should have!) and probably went away.

That said, having a human in the loop is probably a good idea.
proper_elb
·il y a 3 ans·discuss
> A further counterpoint: if you follow the Fence proponents' logic to its conclusion you can never remove any code which is clearly an absurd situation.

No, that would only be the case if one would never understand any code. Chesterton's Fence consists of two parts ("understanding some code" as a precondition to "removing some code"), and leaving one or the other part out makes it some other thing than what Chesterton's Fence means.

> The real blame lies with the person who built the apparently useless fence and didn't put a sign on it explaining why it shouldn't be removed.

Chesterton's Fence is not about blame, or the past in general - it is about how to deal with things that are in the present. (Although I agree that the original fence-builder should have left a note or two!)
proper_elb
·il y a 3 ans·discuss
A broader, tangential question: Can you give me feedback on this table I generated (with AI) for thinking about computing history? For context, I am a fullstack software dev of the younger variety and 3 years of experience. The table has long lines and looks a bit unwieldy due to lack of scrolling, I looks nicer in an editor :)

- Am I correct in that the Personal Computer Era is the most foundational period when it comes to stuff that I use today? I feel that if a fairy would appear and grant one the possibility of knowing two periods by heart instantly, it would be the Personal Computer Era and the Internet Era.

- How do you think about computing? What lessons are there to learn from the past?

- Other thoughts?

Much appreciated!

  | Period                         | Years                  | Description                        | Technological Advancements      | Impact on Society        | Computing Paradigms         | Software & Programming         |
  |--------------------------------|------------------------|------------------------------------|---------------------------------|--------------------------|----------------------------|--------------------------------|
  | Mechanical Computing           | 17th century - 19th century | Early mechanical devices           | Pascaline, Stepped Reckoner, Analytical Engine | Pioneering era          | Mechanical computing     | Pre-programming era           |
  | Electromechanical Computing    | 1930s - 1940s          | Relay-based machines               | Complex Number Calculator, Harvard Mark I, Z3 |                        | Analog computing         |                              |
  | Electronic Computing           | 1940s - 1950s          | Early electronic computers         | ENIAC, Manchester Mark 1, EDSAC, EDVAC | Mainframe era        | Digital computing        | Assembly & early programming languages |
  | Transistor Era                 | 1950s - 1960s          | Transistor-based computers         | IBM 700 series, DEC PDP series  | Minicomputer era      | Digital computing (2nd generation) | High-level programming languages |
  | Integrated Circuit Era         | 1960s - 1970s          | Microprocessors, integrated circuits | Intel 4004, 8008, FORTRAN, COBOL, BASIC | Personal computer era | Digital computing (3rd generation) | Object-oriented programming |
  | Personal Computer Era          | 1970s - 1990s          | Personal computers, GUIs           | Apple I & II, IBM PC, Commodore 64, Macintosh, Windows | Networked computing era | Digital computing (4th generation) | Web & scripting languages |
  | Internet Era                   | 1990s - present        | World Wide Web, internet-based technologies | Web browsers, search engines, e-commerce, social media | Mobile & ubiquitous computing era |                      | Mobile & platform-specific languages |
  | Mobile and Ubiquitous Computing Era | 2000s - present   | Smartphones, tablets, IoT devices  | iPhone, Android, IoT devices   | Cloud computing & AI era | Quantum computing       | Domain-specific languages & frameworks |
proper_elb
·il y a 3 ans·discuss
Sorry for the assumption and thank you for your answer! Regarding time, I work similar. In work-life, it gets a bit more muddy (basically the time talking walks expands and turns into time spent in meeting, talks, support etc.)

I would encourage you to ask here on HN and maybe also over at reddit (i.e. https://old.reddit.com/r/cscareerquestions) for feedback on landing a software dev job. Getting the foot in the door can be tough, after that it get easier. I wish you best of success in landing a job! :)

Edit: It might be a good idea to mention your current job search in your most visible comments here in this thread. Also, you could mention it on your website! ;)
proper_elb
·il y a 3 ans·discuss
If you don't mind: What would you working on it look like, on a typical work-day look like, hour wise? Raise up at 5am and hack away for 2h, or come back from day job and straight into the fun thing, or wait a bit and than hack away... What worked for you?

Lately, I seem to manage 1-3 days of coding on my hobby project after work, provided I have some features where I can see meaningful success within 90 minutes of coding (+ the same time for debugging or researching new libraries, if needed)
proper_elb
·il y a 3 ans·discuss
This would be my 2023 list: Python, C, LISP, Fortran, Haskell, Prolog, SmallTalk. Also likely Rust, it might replace C in my list and is quite similar to Haskell in some ways, particularly when it comes to turning runtime errors to compile time error.
proper_elb
·il y a 3 ans·discuss
> My point was just that as a profession, they aren't currently setting a very high bar.

I think I know where you are going, but I will be going offline for today soon, so I will be just leaving some thoughts regarding the matter. My background: Masters in CS, with a minor in Psychology. I have a psychology-ish circle of friends, some doing research, some doing therapy. I also have my fair share of negative experience with therapists due to some... uncommon combination of phenomena that require attention.

- One common mistake is confusing psychology (along with the more or less recent reproducibility crisis) with therapy (which is a profession that aims to help people, with some methods being grounded in psychology, some partially so, some other not at all).

- It would be weird for me to not acknowledge that there are some bad apples amongst therapists and how much it can suck being treated by one. Then again, I do not thing that the field of software development is any less diverse in the quality of output we deliver. Identifying software engineer that fulfils ones need is almost an art, maybe quite similar to finding a suitable therapist.

- "Finding a suitable therapist should not be an art!" Yes, would it not be nicer if everyone instantly found a suitable therapist? It would, but that is not the reality we live in. If even finding someone who can code a decent program that meets your relatively well-defined business needs, how much harder is it to find someone who treats multiple humans, with their unique problems, biographies and current lives?

- I am totally with you about the scaling issue! I am not against E-therapy and the usage of AI in it, but I think it has to be done with caution - not out of despair.
proper_elb
·il y a 3 ans·discuss
I don't doubt that experience, and I also have the comparison between humans and GPT and see where you are coming from. However, the advice still stands, in my eyes. If we recommend to check even simple python for correctness, how much more should we tell people to not trust LLMs when it comes to much more complex and influential things like therapy?

Also, you and some others might be able to understand the limitations of LLMs. It is the general public that I am worried about.