Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You are replying to someone who builds C programs for 6 OS and 2 architectures without an #if ;)


Love a great “do you know who you’re dealing with” HN moment.

Justine’s APE [0] project is one of the few things to induce in me true, nostalgic, nerdful glee in the last few years.

[0] https://justine.lol/ape.html


Ahh geez. I see stuff like this going on in the background and I wonder what I'm even doing in my life, pushing pencils in comparison to actually, truly solving problems.I'd love to tackle more stuff like this, but I feel trapped chasing what I need to pay the bills (said pencil pushing).

At the same time, companies seem so quick to layoff that I question how I even grow to the point where I'd be trusted with such problems. Do I really just need to do a 2nd full time duty in the open source community to get that growth?


The perpetual inner turmoil for talented engineers :). I accepted a while ago that there's more to life than coding and career, so I don't do much outside of work - 40-50 hours a week of engineering is enough for me. But I try to focus on getting the best job possible that fits what I like to do.

Obviously spending 20+ hours a week on interesting OSS is going to get you more interesting roles over time, and generally OSS stuff is way more fun because you can pick what interests you. But you have to decide if it's worth the cost - do you really want to spend 60 hours+ a week just doing coding / engineering? Maybe you do, but in that case you'd probably be doing it already.


I rarely write code after work for my own use. or others. I spend time with my family. A family that started by me realizing there was more to life than billing clients 14 hours a day.

It's ok to not be building some new thing in your off hours. That's a choice they made for their own reasons. Doing what you do is also a choice and both are valid.


Go indie on the side then full time


I've definitely thought about it and I imagine it's my end game. But I'm hesitant if I'm truly ready and have the right skills for that. Would that self growth be better than contributing to something larger first (perhaps building more connections on the way)?


At some point, you’re just gonna have to go for it. Jump in and see what happens.


Contributing to OS I’m not sure what that’s a path to exactly


There's Many intentions behind it. In rough order of importance;

- working on a medium-large repo size exercises more skills than just jumping into anything alone. Growth is my biggest factor for the next few years.

- OS introduces me to a community of passionate devs. Who can be anything from mentors to expand my horizons, to friends to future contacts.

- I'd choose to contribute to tools I would probably use for my own projects. So I can dig into repos early and know it intimately for the time I'd need to branch for my own project

- potential clout in certain communities can open other doors.

- Resume material is never bad if everything else falls through

It's not my end game but I think it'll help in many ways. And Personally I always had a certain respect for the OS community and want to give back, and hopefully pay if forward. .


Good luck. Most OS contribution is thankless and leads nowhere so be careful with your time and timidity

I contribute to repos I use in my projects, but I’d never start with them before actually finding a use for them


I'll keep that in mind. Maybe it will be yet another venture of "I want to connect with people but no one else does" but nothing ventured...

And it would be a soul crushing world if I simply submitted to the fact that we're more connected than ever, but simultaneously I can't find literally anyone else to connect with without money being involved. I have at least a good decade in my heart left to fight that mentality.


Make money (without wages), then you have ownership of your time for pursuing interests


That's the hopeful end goal. I unfortuntately need a lot of time and learning to make a product worth paying for, though. being self-sufficient is liberating but terrifying unstable in the beginning. Need to establish proper safeaguards first.


It might be easier/quicker than you think


any skills you lack you can hire for. Do it!


If you don't try, you'll never find out.


> pushing pencils in comparison to actually,

> truly solving problems

By picking a problem you have a vested interest in, you'll get further than solving someone else's problems in which you don't


If you are not living the life you want then you are a failure. Face the reality of your situation. While others do what they want you do what you are "supposed" to do, and you know how this feels. Good luck.


> If you are not living the life you want then you are a failure.

What a rude and profoundly dumb statement. Are all the ones who bust their arses out of necessity failures or do they simply want to endure pain? Caring for a handicapped child, parent, being trapped in a poor country, etc.

I'd be curious to know where most of you around here who put desires above all else are coming from.


I don't understand where you are coming from. I've met cab drivers in the third world that are successful, because they live the life they want. I've met investment bankers in the first world that are failures, they are rich but can't do what they want because "N reasons", trapped as you put.

A parent that cares for a disabled child is only a failure as long as he does not want to do it but has to. In this case he is not only a failure but a horrible person.

I volunteer to care for old people 1h per month and I do not consider this a burden or entrapping or nothing like that. In fact I've met my first wife like this.


> A parent that cares for a disabled child is only a failure as long as he does not want to do it but has to. In this case he is not only a failure but a horrible person.

> I volunteer to care for old people 1h per month

I'm sorry, it does not render what you're doing irrelevant, but the comparison is laughable.

Caring for a disabled children is a full time job. I can't imagine that most were hoping to be in that situation when they conceived. It doesn't prevent them from being good carers for the child they love. If you meet some of these parents, ask them. Then you can tell them they are horrible people because as opposed to them you voluntarily go to chat with an oldie for 1h a month.

Have some empathy.


>A parent that cares for a disabled child is only a failure as long as he does not want to do it.

I’ve seen the parents of severely disabled children. The daily work, financial cost, and social cost is immense. They don’t give up their children often out of duty and sympathy not because they ever wanted to live a life like that. They are burdened and entrapped and it’s not simply a matter of mindset.

Not even the disabled children would be keen to agree with you that their self-sacrificing parents are failures and horrible people if they feel they’ve been burdened and entrapped. THEY feel burdened and entrapped themselves. People in a bad situation can sympathize with people’s circumstances for what they are. They might resent the parent being open about their feelings, but not for having them at all.

As for why the 3rd world cab driver does not feel this way, a cab driver in the third world is often doing relatively well compared to their peers, they may have grown up in worse circumstances, and cab driving is something relatively easy to give up for a few years and then pick back up no worries. That’s not nessecarily true of the investment banker or the parent of the disabled child.


This sounds rather stoic. But people do not all have the same philosophy of life.

Your definition of what constitutes a "failure" doesn't have to be the same as someone else, and that's OK.


I agree with that, and I am comfortable with the prospect of others not putting themselves first, therefore opening up the possibility of them putting my interests first.


>If you are not living the life you want then you are a failure.

"For what it’s worth... it’s never too late, or in my case too early, to be whoever you want to be. There’s no time limit. Start whenever you want.... I hope you live a life you’re proud of, and if you’re not, I hope you have the courage to start over again."

My courage definitely wavers, but the stuff I'm "supposed" to do will hold me back if I try to what I want first. If I can't do that first, I'll at least set the breadcrumbs as I climb out of that pit.


Here's an alternate framing for you: if you are living the life you want, then you are a failure. You have settled, you have ceased to strife, you're no longer growing and evolving and aspiring.

It's a condition of certain kinds of life, to tolerate unbearable dissatisfaction. Many things have come from this drive, many astonishing people have shared it, and they'll never settle. They'll die still not 'done', their dreams unreached… because those dreams were able to scale, those stars remained beyond their reach.


> If you are not living the life you want then you are a failure.

Nah, not how it works.


Ok but sidenote, that Greek-letter titling is emotionally upsetting, even if the title is SR-accessible (κύδος for that though).


Yeah I read it as "Astmally pdrtable echesmtable". People shouldn't do this.


"Astmally pdrtable echesmtale" is a very aesthetically pleasing name for what this, though. You just made me like it more...


If you're going down that route, make sure to take a look at this source file for it[1], which is an absolute work of art not just for the code but for the artistic presentation, including elaborate inline logos.

[1] https://raw.githubusercontent.com/jart/cosmopolitan/1.0/ape/...


Wow… some think Java is portable… this is so nice!



Also for the casually dressed


I love all of the domain experts and accomplished people hanging out with the rest of us on HN. :)


holy shit!

> In the above one-liner, we've basically reconfigured the stock compiler on Linux so it outputs binaries that'll run on MacOS, Windows, FreeBSD, OpenBSD, and NetBSD too. They also boot from the BIOS. Please note this is intended for people who don't care about desktop GUIs, and just want stdio and sockets without devops toil

they also boot from the BIOS.... does this mean that I can achieve my dream of booting straight into a BBC BASIC emulator on bare metal(ish)?


You might want to take a look at the current no. 2 of the HN best list:

https://news.ycombinator.com/item?id=38101613


thank you so much!

Justine is a genius.


Can cosmopolitan replace the whole llvm toolchain required by GraalVM’s native-image? Currently cross building with native-image is a pain, especially compared to golang. (Or resource intensive as you need to compile it on each platform/architecture you want.)


It’s probably not the best form to abstract away the OS-distinctions, as every abstraction will hide important details from the underlying OS. E.g. certain JDK native methods could be more efficiently done for, say, windows, then through a libc-like abstraction library.


I took a quick look at cosmopolitan.h: https://justine.lol/cosmopolitan/cosmopolitan.h and counted 886 occurrences of "#if" (including #if and #ifdef)


cosmopolitan.h is a concatenated rollup of hundreds of header files, shipped as part of the "amalgamation" variant of our release, and those sub-headers had #ifndef _FOO_H guards at the top and bottom. The rest of the #ifs are required by standards so we don't clobber the user's control of their namespace, e.g. `#ifndef _GNU_SOURCE`. What you won't see is the annoying stuff that checks for CPU, OSes, endianness, etc.


In fairness, my understanding is that APE manages that by making the differences invisible to the application. I'm not sure whether that makes it more or less applicable. (More impressive, obviously, but not simpler)


How? I’d be curious if you have a blog post.


Then you can appreciate how many #if macros it would save if you just targeted 1. ;)


Sounds like it wouldn’t save them a single #if, if they are already at 0…


I know, it was a joke, but it seemed to have very solidly wooshed.


It doesn't count if all your platform code is abstracted away by libraries.




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

Search: