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

I have a lot of books that get suggested to me that are on your list, on topics like Stoicism and Self-help, but I ignore most of them. Many feel like reading them would just be rehashes of early books I have read on the topic with nothing new to contribute.

I like that your approach was to actually read these anyways, most of the time you rate them low because there was nothing new, gives me an idea of what to avoid. Thanks for posting the list!


Can confirm that review, my first MBP was the 2015 model with El Capitan, it has been nothing but sheer joy for me. I don't even have to deal with temptation because everything that has come out since has been terrible.


> Have I just made something public in order to test it? > > If yes, consider instead writing higher level tests that each each test more of the code.

This is one that I struggle with in JS with React.js components. If you have a little helper component in a file that isn't exported but used in the same file by a component that is exported, it is sometimes difficult to test that non-exported component. Because of how enzyme shallow rendering works you don't get the full tree so that component, if sufficiently nested, might not ever be touched. This forces me to export the component just to test it.

example: https://imgur.com/a/gqgcS


I run into the same problem with React and it bugs me from a testing standpoint.

Extracting code from a big component to helper functions and extracting those functions from the component can lead to cleaner code, and it makes it much easier to test the behaviour of the helpers directly than having to render the component with enzyme.

A good example of this is moving state changes to pure functions [1] which makes them much easier to test, but you'll need to export those functions to test them.

1: https://twitter.com/dan_abramov/status/824310320399319040


that is a really cool technique, thanks for the link!


I use CircleCI because it allows 1 free private repo. Personally though I do not like Circle too much, it has a lot of cool features but the UI loads so slowly because they have so much stuff going on. They use the UI skeletons technique to make the load time appear to be faster but it is still very apparent how slow the load time is.

I have hit numerous bugs with their website as well where stuff doesn't load, builds kick off into infinity, when I transferred a repo everything broke, ack!

Furthermore, I am frustrated with their pricing, they go from free to $50/mo for the next upgrade tier, that seems like a crazy jump to me. I would gladly pay $10/mo or so for another container or 2x parallelization. The issue is being a single developer I rarely would save any time and the $50/mo is just too steep.

Finally, when I tried to build a justification case for my manager to pay the $50/mo, I wanted to use data from their CircleCI Insights which shows how long your builds are queued on average and some other important data points. But you cannot access these insights from a free account. Seems like that info should be available and prominent to help people understand the cost-savings they might receive by upgrading. I emailed support and asked for a one-time data point for that statistic to build the case as I was considering upgrading and they said sorry, nothing we can do for you. Is their goal to make money and have happy customers? If so they aren't doing a great job of it.

Overall a lot of frustrations with the platform and this just adds more fuel to the fire.


Serious question: why CircleCI over, say, Jenkins or custom_build_script.sh running on a VPS that costs much less, and that you control?


CircleCI, with all its limitations, bugs, and misfeatures, is free, hosted, integrates well with github, extremely simple - and yet has enough built-in functionality to support 80% your use cases.


Drone is a self-hosted alternative, although you still have to do some configuration:

https://github.com/drone/drone

We went from Drone -> CircleCI -> Jenkins in the last two years. Jenkins feel opaque and hard to reason about, periodically dies for no _good_ reason and the UI is atrocious.

Drone itself was fine, as a minimal feature set. I think the docs are offline now, but it's fairly straightforward.


> periodically dies for no _good_ reason

You must be doing something wrong then. I run a Jenkins cluster with hundreds of automated pipeline build/deploy jobs and the master node never dies. (It's also the only node up and running 24/7) You should be offloading your work to build agents.


I’m certain there is a reason, we scaled up and hired an infra team that owns it so it’s out of my domain now.

I was merely a poor steward in the early days out of necessity. My era of tinkering ended once we moved to CircleCI.


For me at least(I don’t use it, but I do outsource “core” parts of personal code) the reason is time. Time I spend setting up VPS’s, updating build software, managing permissions etc etc is home I could spend writing code. Hence why I use gitlab rather than manage a VPS and run a perforce/svn server


Have you setup a new Jenkins deployment recently? While I personally don't really like CircleCI (or most other CI providers), Jenkins is a clusterf@#$ to setup for anything non-trivial IMHO.


Nobody cultivates sysadmin skills anymore. Jenkins and buildfoo.sh aren't turnkey.


Jenkins is also a bloody pain in the ass. Just saying.


Have you tried the declarative Pipeline[1] files? This plus BlueOcean[2] has made Jenkins much more user friendly, although obviously not as much as CircleCI/TravisCI/etc.

[1] https://jenkins.io/doc/book/pipeline/

[2] https://jenkins.io/projects/blueocean/


Ah yes. With Jenkins anything can be customized and made better, you just need this plugin...

To be fair, it was very stable, though UI was awful. Nowadays we use GitLab (selfhosted) and love it.


I haven't tried either, no. They do look nice, but they still only solve part of the problem.

I have only been tasked with fixing setups on Jenkins, and a friend of mine has spoken at length about how difficult things are to set up.

Some of that is based on the difficulty in getting a Jenkins configuration into source control. For CircleCI, I know, the CI configuration goes in a configuration file that gets checked in to the repo.

Another big part is making sure the development environment is sane, and replicating it. When we were dealing with Jenkins, Docker didn't exist yet. I assume that build slaves running inside Docker are a thing now? Because that's another thing that CircleCI gives us.

Honestly, though, this is just a thing that's easier to outsource if you can. Running a Jenkins server on your own is valuable if you have business reasons ("Code cannot go onto a third party server!") or if you're doing testing that involves connected devices (build and deploy to this Android device, then run tests...). But apart from that or a similar motivation, why bother maintaining a server when services are available for fee or cheap?


Agreed. Declarative pipelines coupled with pipeline shared libraries and BlueOcean have completely changed the Jenkins game. Pair that with the EC2 plugin and you have an auto-scaling build cluster!


Jenkins is fundamentally broken. Upgrade any plugin and you risk everything breaking. And you won't necessarily know until you run every corner case of your build system.


After I changed to the LTS release channel, I have yet to suffer from that. I think it has been a couple of years without a hassle.

I do wish Jenkins to be a little less high-maintenance, like say having a postgres backend and a docker image for the master. I hate having a different backup routine for each thing.


Also has a worse UI and setting up iOS testing is a major pain.


Just create build.sh, deploy.sh and run those in steps -> no pain.


“All you gotta do is...”


Why not Shippable? Free for 150 builds/month for private projects, brand new UI created with a focus on usability and perf, integrates with GitHub and Bitbucket, and we're adding metrics very shortly.

Upgrade to an additional container is just $25. \


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: