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

It's actually astonishing that it took mozilla folks the guts of 20 years to get around to this glaring UX gap.


Which bugzilla # is it. I can only find decades old requests for such a feature that are closed as WONTFIX.


This same conversation plays out every time someone mentions profile switching that is responded with "container tabs".


This is insanely overdue.


When the hell will firefox have a decent profile manager?? It's the one thing that is preventing me from switching over. No, container tabs are NOT it.


It's not a feature I use, but if you launch with "firefox --ProfileManager" it pops up a profile selection window. Maybe that's in the ballpark of what you want? https://support.mozilla.org/en-US/kb/profile-manager-create-...


The switching UI/UX is atrocious.


The fact that GitHub don't provide a better solution here has to be actually costing them money with the network usage and extra agent time consumed. Right?


GitHub has perverse incentives to not fix this problem because they charge customers based on usage (by the minute), so they make more money by providing slower builds to end-users.


They've also just completely refocused to AI in the last two years thanks to the microsoft/ChatGPT situation.


Plenty of marketplace actions will install things and/or mutate the runner. It's a matter of time before someone does something or there's a build that doesn't cleannup after itself (e.g. leaving test processes running) that ruins the day for everyone else.


Selh-hosted runners can be ephemeral too. With such either mount the cache as a disk or bake docker layers/images into the runner image.


This requires a lot of work from a dev inf team, though. Not as straightforward for an average team.


I won't disagree. It should be easier imo. I guess this is why a cottage industry has sprung up addressing such e.g. https://news.ycombinator.com/item?id=39930908


Now I've seen everything...


It's actually pretty easy.

Setup GitHub app. Install the arc helm charts. Install a buildkitd statefulset.

Update parans on build to use buildkitd.

That's not to say there aren't better caching strategies, but a really basic ephemeral setup is right there.


runs-ons supports custom images - https://runs-on.com/features/byoi/ and caching to S3 - https://runs-on.com/reference/caching/

I haven't used it yet but these two features make it the clear favourite for me in alternate github action runners


The trick is to do these sort of engagements as a fixed price contract. You could have probably done an assessment in a hour or two. Then you charge on what you estimate is the value to the company.


I should have, but it would have been obvious that I pulled a fast one on them as the fix was really quite simple. Instead of building a Hadoop cluster I replace a sql sub query with a bitmask. It really only took an hour to figure it out but they let me charge the whole day.


Ok, it doesn't sound that bad to me? You learned something about consulting, got paid 1600$ for one hour work, got good recommendations and now have time for another interesting opportunity.

Don't waste your time and clients money on pretending to do work that you don't. Its ethically wrong (maybe even criminal) and it sounds like you would be bored to death wasting your talent.

Don't blame the company for not wasting its money either. It did pay for the whole day and gave you good recommendations.

You could do fixed price. Or split the difference (on both sides of the estimate), which provides good incentives for both parties.


It took 3 months to get this first contract, I was trying to break into a new space. Shortly afterwards the government gave many millions of grants to all my potential customers in the country to spend on consulting with a brand new company that was spun out of the government so the entire potential market dried up overnight. The customers didn’t care it was free money. This spinout then tried to hire me where they correctly pointed out that there is now no alternative to working with them and gave me a low ball offer. I left the country instead.


The problem is it takes typically takes days or even weeks of unpaid work to find the next paid job. If you get 6 months contracts that unpaid time is easy to deal with (and much of the unpaid work is really half an hour here easy to put in after hours while in the middle of the longer contract). Thus a 1 day job needs to pay a lot more perhour than a 6 month contract as the costs to get that contract needs to be paid from than 1 day - a fair price for a 1 day job is likely in the $20,000 range.


>but it would have been obvious that I pulled a fast one on them as the fix was really quite simple.

If they were ready to have you on for 6 months, You'd still probably be one of the most honest contractors if you stretched that out to a week, or even month. It's a shame honestly isn't always rewarded proportionately to suggesting an entire rework of their infrastructure.


I really did think they’d have more work for me.


Even with this I would argue that fixed cost would have been the way to go. They were losing $X every day for that six months that it wasn't working. They hired you to fix it, and even if you charge them way more than your day rate you're not solely charging them for the change - you're charging them for "knowing which screw to turn".

The hardest part of getting into contracting was the guilt of feeling "I'm charging too much for a simple fix!". If the fix was so simple and the client didn't find it in those six months then maybe your assumption that the fix was simple and obvious was incorrect. Regardless, your fix provided value, and you should be compensated for the value that you provided, not just the number of hours worked.


How much was it costing them?

Also, can you describe the problem? It sounds interesting.


It was $200 an hour for a total of 8 hours. They had a team of 5 working for six months on it and they planed to spend another six months on it.

The UI had options to check some categories and exclude others, this was mapped to sql with a nested query IN (…) and not in (…). I noticed that there were less than 64 categories and always will be so I figured pack the category membership into a 64bit ints and use bitwise operations. The UI query generation would map to use bitmasks instead. They didn’t even let me implement it, just agreed that it would work and took it from there. I think they were quite embarrassed by it. It ended up being 10K faster.


If you are interested in having self-hosted auto scaling github actions runners but don't want to manage your own webhook handling infrastructure, https://cirun.io is worth a look.


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

Search: