Live data from Hacker News

“It's The Future”

circleci.com

501–510 of 536 posts

Re: “It's The Future”

#501

Earlier quoted context omitted.

"it's backed by Google" is the reason I avoided Go for years and is still the only reason I'm nervous using it.

If it's free software it won't just disappear. If it's proprietary and hosted by an org that isn't making real money from it, that's a different story....

Is the development open though (serious question, I don't know how they do it with go)?

Look at android, it's a closed project that the occasionally release some source code for. If google decided to drop android then it's a critical blow because there isn't much of a community around it.

Re: “It's The Future”

#502
post #475

Earlier quoted context omitted.

I think the buzzword abuse exists because of people who don't want to take the time to learn to real skill, and just want shortcuts to sound smart and relevant. I am very skeptical of people who are "BizDev" or "Project Managers" or "Managers" or "Scrum Master" they generally don't know what they're talking about and rely on buzzwords.

I'm wondering why you have managers in scare quotes. Are you suggestion that they aren't really managers or that managers as a position is just some sort of fraud? Also Project Manager and Scrum Master are just positions that describe roles and responsibilities an organization / on a team. The people filling those roles needn't be clueless.

I feel people in those positions are just people who want a job in tech / startup and have gotten there not because they deserve those positions but because, they've given up on learning the skills and resorted to becoming a "manager". At least from my experience this is what I've seen. They generally don't really add any value because they don't have any skills, don't know how to do anything.

The positions I mentioned above are usually the position people who failed at picking up any valuable skill seem to resort to.

Re: “It's The Future”

#503

Earlier quoted context omitted.

Thanks for providing that - I just notices that your shell instructions don't include completion. I use the following in zsh: https://gist.github.com/lorenzhs/ad6c009f5748d333b73376e07ae... With that, I can do "gi " to get a list of all possibilities.

I'm literally in the process of switching to zshell over the next few weeks. Since it's more than a 1-liner, could I just add that to the Advanced CLI instructions[1] section and credit you? [1] - https://github.com/joeblau/gitignore.io/wiki/Advanced-Comman...

I didn't come up with that, but I don't remember where I found it. So don't credit me for it :-)

Re: “It's The Future”

#504

The article perfectly summarizes my frustration and sentiment. These days I hear these buzzwords all time. I work as a consultant for an enterprise product and most people whom I meet they somehow catch these buzzwords and blurt it out in front of everyone during meetings and discussions to either showoff that they know technology and things that are in the market these days(also latest iphone, apple news, tesla, spa…

[deleted]

Re: “It's The Future”

#505
post #87

Earlier quoted context omitted.

The problem with microservices is that your state is spread over multiple systems. You completely lose the concept of transactional integrity, so you will have to work around that from the start. The advantage though is that APIs (system boundaries) are usually better defined. Perhaps one should use the best of both worlds, and run microservices on a common database, and somehow allow to pass transactions between ser…

The problem with microservices is that your state is spread over multiple systems. Then again, sometimes it's advantageous to identify parts of your system where aspects of state can be safely decoupled. And in which having them reside in disparate systems (and yes, sometimes be inconsistent or differently available) might actually be a better overall fit. You completely lose the concept of transactional integrity, s…

> Then again, sometimes your state changes not only don't need to be transactional; it can be disadvantageous to think of them that way.

I'm curious; in what kinds of situation would this apply?

> Depends, depends, depends.

Flexibility is usually an important requirement. Often you cannot freeze your architecture and be done with it. I think a transactional approach could better fit with this.

Re: “It's The Future”

#507
post #499
post #126

Earlier quoted context omitted.

> You take your monolithic app and you split it into like 12 services. The non-web world has been doing this with message queueing for about 15 years. Maybe more.

Don't be so quick to assume micros services involve message queuing. For most it seems to just be an elaborate RPC mechanism (unfortunately).

Oh yeah, there's certainly other ways of doing it. My own experience is just that message queuing seems to be the default loosely-coupled RPC mechanism for larger orgs (from before the term 'micro services' was popular).

Re: “It's The Future”

#508

Earlier quoted context omitted.

I'm literally in the process of switching to zshell over the next few weeks. Since it's more than a 1-liner, could I just add that to the Advanced CLI instructions[1] section and credit you? [1] - https://github.com/joeblau/gitignore.io/wiki/Advanced-Comman...

I didn't come up with that, but I don't remember where I found it. So don't credit me for it :-)

Turns out I copied it from oh-my-zsh: https://github.com/robbyrussell/oh-my-zsh/blob/master/plugin... - I edited your wiki page accordingly.

Re: “It's The Future”

#509
post #490
post #366

Earlier quoted context omitted.

Everything in a computer is a stream of bytes... My shell scripts often use tools like jq and jshon to deal with JSON structures, etc. File hierarchies can also be very pleasant data structures. The kinds of scripts I write would be awkward to have as compiled JVM programs, I think. Shell is just way more ergonomic for me for many tasks.

Everything in a computer can be interpreted as a stream of bytes. For most things an object is a better interpretation.

You could then also criticize for example HTTP or even TCP for making you turn everything into "bytes".

Shell doesn't enforce any particular interpretation of data. Pipelines simply connect one program's output to another's input. Interpretation is up to the programs.

Re: “It's The Future”

#510
post #249

Earlier quoted context omitted.

> You introduce a whole new set of failure modes due to going over the network. A thousand times yes. Distributed systems are hard . > Debugging is more difficult since you now can no longer step through your program in a debugger but rather have an opaque network request that you can't step into. Yes . Folks underestimate how difficult this can be. In theory it should be possible to have tooling to fix this, but I'v…

> No organisation should have more than one regular-use repo (special-use repos, of course, are special). Multiple repos are a smell. Totally agree with everything else, but gotta completely disagree on this last point. Monorepos are a huge smell. If there's multiple parts of a repo that are deployed independently, they should be isolated from each other. Why? Because you're fighting human nature, otherwise. It's tot…

> It's totally reasonable to think that once you excise some code from a repo that it's no longer there, but when you have multiple projects all in one repo, different services will be on different versions of that repo, and your change may have changed semantics enough that interaction bugs across systems may occur.

But having multiple repos doesn't prevent the equivalent situation from happening (and, I think, actually makes it much likelier): no matter what, you have to have the right processes in place to catch that sort of issue.

> You may think that you caught all of the services using the code you refactored in that shared library, but perhaps an intermediate dependency switched from using that shared library to not using it, and the service using that intermediate library hasn't been upgraded, yet?

That's the sort of problem which happens with multiple repos, but not (as often) with a single repo.

> Explicit can be `grep`ed, implicit cannot, so with the multi-repo approach you can write tools to verify that all services currently in production are no longer using an older, insecure shared library, or find out exactly which services are talking to which services by the IDLs they list as dependencies.

A monorepo is explicit, too, even more explicit than multiple repos: WYSIWYG. And you can always see if your services are using the same API by compiling them (with a statically-typed language, anyway).

The beautiful thing about a monorepo is it forces one to confront incompatibilities when they happen, not at some unknown point down the road, when no-one know what changed and why.

Post reply on HN