HNHacker News
TopNewBestAskShowJobs

jordanbeiber

978 karma · joined November 11, 2018

submissionscomments
jordanbeiber··on Talking to your customers: a disruptive Agile framework
Ken Schwaber on SAFE - unsafe at any speed:

https://kenschwaber.wordpress.com/2013/08/06/unsafe-at-any-s...

> Keep the values, keep the principles, think for yourself. A core premise of agile is that the people doing the work are the people who can best figure out how to do it.

jordanbeiber··on The Dhall Configuration Language
Say sql database:

Teams have agreed to use postgres for sql, this is by agreed convention.

A tooling team implement hashicorp vault and build a pg module/deployment that is packaged and accessible through whatever tooling you build.

This makes a datasource of type pg sql available to all teams in a couple of minutes.

These modules/deployments are governed by a bunch of conventions, but those are of no special concern to consuming dev teams.

Use “something” to keep track of service upstream/downstreams: consul, a database, or something else.

When a service is connected to a database, say using consul upstreams you have the job gen api inject the appropriate env vars according to an agreed upon convention.

Now dev teams have an option to deploy incredibly secure pg databases, and by simply setting a service as downstream it will automatically receive rotating connection strings.

There’s no configuration to be managed by dev teams except keeping a service graph up-to-date.

Lot of conventions above, and a tooling dev team with a lot of infra and tooling expertise.

I believe that for scaling dev teams you should look at tooling like a product domain and treat it as such.

jordanbeiber··on The Dhall Configuration Language
Wholeheartedly agree - convention before configuration wins with tooling even at modest scale.

Larger team(s) using free form yaml configuration and templating quickly becomes messy.

Setting a boundary at “configuration” and exposing configuration options to dev teams through settings works really well.

It requires you to have a tooling team with a few developers, but it scales!

jordanbeiber··on Netboot.xyz: your favorite operating systems in one place
I’ve spent a lot of time doing that stuff at reasonable scale, now more than 20 years ago. Lot of fun!

When discovering gpxe/ipxe it got real interesting - now we could make web calls in pxe boot mode that let us automatically select os image based on asset tag from our cmdb. Role based app deployments to servers, and app streamed to clients. Those were the days… We built ci/cd not even knowing it was a thing.

When cloud started to be pushed I was like: “so pretty much what we’ve built here” (barring the promise of elastic scaling - we had barcodes preped from vendor batched to cmdb before delivery though). I wasn’t yet aware that most places didn’t use software to manage compute, end to end.

jordanbeiber··on Data Race Patterns in Go
If they still use cadence/temporal[0] extensively this kind of blurs the concept of technical ”services”.

We’ve started to use it (temporal) a bit for general automations, and it’s pretty great. Monorepo with a lot of different activities (“microservices”) makes sense.

The activites are orchestrated in workflows (much like DDD “sagas”) and scheduled via temporal. This gives awesome introspection and observability.

[0] https://temporal.io/

jordanbeiber··on Broadcom to acquire VMware for $61B
No hypervisor for cgroups (docker & friends), no. Which is why something like LXD/LXC outperforms hypervisor virtualization by quite a bit.

I was on a team that ran performance critical stuff for a reasonable sized ecommerce business - moving from vmware to bare metal was fantastic on every level from api’s to performance and reliability.

The enterprise spirit is stong in vmware.

jordanbeiber··on Learnings from 5 years of tech startup code audits
Conways law.

The teams and management structure will immediately become a technical debt.

If we let the product ”decide” where boundaries actually exist and team up accordingly there’s a chance to scale and maintain a bit of velocity.

It requires constant introspection, monitoring and scrutiny though. Something I’m constantly thinking about is how to scale that beyond 20-25 developers. Gitlab have a nice section[0] in their handbook on releases and flow of small bits and pieces, and internalizing something like that together with clear domain boundaries could be a ticket.

Basically - never try to resource optimize, always figure out what good flow looks like and find ways to keep it flowing.

[0]https://about.gitlab.com/company/culture/#freedom-to-iterate

jordanbeiber··on Solid-state cells will cut EV charging time and increase volumetric density
A couple of times a year, this is acceptable to me.

I have taken my kia e-niro on 1000km roundtrips, and this is totally acceptable as you have to stop for at least one meal, possibly two.

The convenience of an EV is fantastic - but I’m lucky to live in a building where charging is available.

jordanbeiber··on Solid-state cells will cut EV charging time and increase volumetric density
An EV can probably cover 99,9% of trips made in densely populated areas. Very few trips are 350km roundtrip. I’ve had EV’s for the past four years and we rent an ICE when we’re going on ski trips and such. The continued saving on gas more than pays for it.
jordanbeiber··on Ask HN: Why can't I learn anymore?
Take one full day every other week where you play around, learn and explore. If you have not been able to do this at least 5 times last quarter - why not? What can we do to allow for that to happen.

This is an example of an actual goal I have for members of my team - it is Specific, Measurable, Attainable, Realistic/Relevant and Time-bound. It's also tangential to the OP's topic here in a couple of ways.

Good things happen when you allow for slack, but we often put too much pressure on ourselves, and won't allow it.

I'm looking at it as a bit of "lucky lotto":

https://danlebrero.com/2021/06/30/cto-dairy-lucky-lotto-chao...

jordanbeiber··on How product teams should set deadlines
Retros can be great though, to be fair. If approached as a way to adapt ways of working - e.g ”we’ve had to many pointless meetings that could have been asynchronous slack messages.”
jordanbeiber··on Tools for a Culture of Writing (2021)
We’ve started to do this when it comes to stuff that is architechtural significant, for example team A decides to event-source foo. Or team B opts to write microservices. Also - anything infosec related goes through an ADR process.

Rule of thumb: are we, or someone else, going to second guess this decision in a year or two? If it feels likely an ADR is in place.

jordanbeiber··on How Nix and NixOS get so close to perfect
Configuration of applications are usually exposed as properties by package maintainers. What I like about nix is the complete ”as code” approach - I usually look in the the package repo for the properties. A couple of times I’ve had to escape hatch and write to a config file using a nix expression.
jordanbeiber··on How Nix and NixOS get so close to perfect
I probably appeals most to developers as sharing application development environments with shell nix files is totally awesome.

I must say that using nix on my primary workstation makes it feel like an appliance. The system generation roll-back have saved me a lot of times when an application update brings a regression.

jordanbeiber··on The only thing we should be talking about is the climate crisis
I’m gonna be THIS guy, though: first - there’s more to our environment than co2.

Prolonging life and reducing negative health impacts are another bonus.

Yes, there is still an environmental cost of the production of EVs but these vehicles don’t emit CO2 or greenhouse gases and so their lifetime carbon footprint is much lower.

For example, a recent Reuters study found that a Tesla Model 3 would need to be driven for 13,500 miles (21,725 km) before it does less harm to the environment than a Toyota Corolla:

https://www.reuters.com/business/autos-transportation/lifeti...

jordanbeiber··on Ask HN: Hybrid/Remote software team rituals
Interesting read - I love questioning “the process” and drilling down in ways of working.

I am, almost an involuntary, manager of 6 different dev teams, and I often say that my aim to reduce the “management” part of my job to a shared duties whiteboard.

Having this as an utopian goal I really strive to remove anything that will hinder team autonomy.

Transparency, communication and ownership is crucial to this mission. Always team, never individuals!

jordanbeiber··on Ask HN: Hybrid/Remote software team rituals
Seems like your place of employment have a bunch of cultural and work process issues to sort out, to be honest.

The diary entries are supposed to replace other forms of communication - not be an addition.

My place of work strive for autonomous teams within specific business domains. You describe yourself as kind of a bottleneck, as things are expected from you in various projects, via email no less.

We’re facing completely different work environments, and as such you see a daily or weekly log as an additional burden. I see it as replacing tones of emails and meetings.

Again - it’s not required here, but as people have noticed the use and asynchronous discussions arising from these log entries, it’s taken a hold. I do them myself as a manager, as my team deserves to know what I’m up to.

jordanbeiber··on Ask HN: Hybrid/Remote software team rituals
> Waste of time unless you’re an obsessive micromanager. Other team members either don’t read these entirely or just skim them.

This is probably true if you work in complete isolation.

If, however, you are a part of a larger team or organization a lot of value can come out of this type of transparency - it removes the need for a lot of meetings and is a great tool in an asynchronous work environment.

Just two minutes ago one of the devs in a team I manage picked something someone from a different team logged about, and decided to initiate a discussion about a potential conflict.

I agree that it should not be mandated though, but should come from the fact that people see it as valuable.

There's also a cultural aspect of it - it brings life to an online community that have to be built, and it works to fill the need of casual interactions during lunch or other spontaneous gatherings that no longer occur with regular cadence.

jordanbeiber··on Why Single Sign on Sucks
It’s just bad practice having accounts scattered through bunches of systems that shouldn’t be used anymore.

It’s often a licensing issue, and definitely a security issue.

Either you maintain this manually - proper time consuming chore at larger companies with many systems and applications.

Or write automations to manage it. Better, but still a lot of work and not always technically possible.

Or you hook as many of these systems as possible up to an SSO solution backed by some kind of identity provider.

This grants many benefits for everyone during the lifecycle of systems and its users - sysadmins, it-support, infosec but perhaps most of all the end-users.

As a manager myself I first and foremost think about how the on-boarding works: is it smooth, and are new hires gaining access to the systems they need without 15 calls to the service desk.

jordanbeiber··on Pair Programming Antipatterns
In, for example, an enterprise setting you rarely want individually clever and creative solutions.

You generally want domain expertise shared in a team, and continuously molded to perfection over time.

Mobs and pairs can really shine here, but it all depends on the individuals.

In teams where it works well it’s an enormous value add, in my experience, and the hive mind you reach after a year or two within a team is fantastic.

As a dev manager I let the teams decide, but looking at team flow over time, it looks hard to beat a well functioning pair or mob team. IMHO & YMMV, and so on.

jordanbeiber··on Nix: An idea whose time has come
Yes, I’t a matter of perspective I guess.

Having managed many thousands of hosts over the years, I’ve longed for something like nixos. Managing largeish scale infra is not what I do these days, but nixos still appeals to me, and I use it for a few pi’s, a nas and my workstation.

I’ve never tinkered less with my machines, and I love it.

With nixos ad-hoc tinkering is not “the way”, and using a shell.nix for different project folders is just awesome. I imagine this could help scale dev teams as well.

jordanbeiber··on Nix: An idea whose time has come
Linux, niche?! Idk where you’ve been, but Linux is ubiquitous and runs everywhere.

It’s about scale mainly.

A nixos host can be viewed as a solid state environment, in some respects. At least from a systems management perspective.

If you scale up to more than one host, that you want to keep in a completely manged state, nothing really beats a model like nixos (or guix, although I lack experience).

Having the complete system state of n machines, where n > 1 nixos is hard to beat. I have extensive experience with tools such as ansible and salt, but the state management of nix is just unbeatable. It’s, IMO, “how it’s supposed to work”.

And with nixos you usually don’t have to nuke anything - a new system generation is enough.

jordanbeiber··on Against Pair Programming
Resource optimization vs. Flow.

It all comes down to measuring outcomes over time. Doing agile is doing right-ish things at the right-ish times, including ways of working.

Use retros - are we being efficient over time? Why and when? Why not and when not?

My teams tend to flow in and out of pairs, mobs and single contributions, all depending on task at hand and circumstance.

Flow! Are you flowing? How do you know?

Over time I’ve noticed that really well gelled pair and/or mobs deliver more consistently, over longer periods of time. YMMV.

jordanbeiber··on Scientist busts myths about how humans burn calories
About Phelps - he need to build, maintain and condition a whole lot of muscle mass.

He’s incredibly far from a normal human - he’s a true specialist.

Lots more energy goes in to that, compared to losing excess fat and living a “normal” human hunter gatherer existence.

The whole system change once you go google scale, so to speak, and phelps is gmail.

In the words of Ido Portal: we’re human first, movers second and specialists last.

I see relevance in this research in the human/mover perspective.

jordanbeiber··on Scientist busts myths about how humans burn calories
I think a good way is to take any chance to move around.

Ido Portal, for all his eccentric weirdness, knows things:

> The body will become better at whatever you do, or don’t do. If you don’t move, your body will make you better at not moving. If you move, your body will allow more movement.

I’m personally thinking in terms of micro-habits that eventually form a lifestyle, and it’s all about total lifetime reps, if you will.

For example, I have a height adjustable desk, and have replaced the chair with a pilates ball. I still stand, or sit on my knees, more than sitting down on it.

I believe there’s a problem with some of the ergonomic setups we use - if you keep moving, and shift around you shouldn’t need it. If you do, you’re already “losing it” and should probably be changing things up more frequently during the days. Now this is easy to say, and for some people, probably not true.

I’m basically continuously fighting the path of least resistance. I’m in war with the comfy a* brain!

jordanbeiber··on Acute aerobic exercise to recover from mental exhaustion
Having practiced submission wrestling and bjj for years - it is incredible strenous and requires conditioning to handle at all.

Judo, with it’s focus on grappling standing up is ridiculously hard on the body, and is not something you just pick up late in life and chill with. You’d break in all sorts of ways.

Carmack seems to have a serious interest, starting with wrestling in highschool.

> My wife for Christmas once got me a year of privates with Carlos Machado which put me up several levels. There was a period there where I’d have Judo with one of my coaches one day, then privates with Carlos the other day.”

https://bjjtribes.com/john-carmack-details-his-bjj-and-judo-...

jordanbeiber··on Let's Rewrite Everything
Joel Spolsky from 20 years ago:

https://www.joelonsoftware.com/2000/04/06/things-you-should-...

Very good post, that holds a lot of experience. Unfortunately these things have to blow up in your own face, often more than once, for a lesson learned.

> It’s a bit smarmy of me to criticize them for waiting so long between releases. They didn’t do it on purpose, now, did they?

Well, yes. They did. They did it by making the single worst strategic mistake that any software company can make:

They decided to rewrite the code from scratch.

jordanbeiber··on Citrix to be acquired for $16.5B, will be merged with Tibco
Building new things is seen as business risk, I reckon.

This is why startups or VC backed things can explode, and innovate, but once you IPO, innovation is not what’s important - it’s about perspective I guess.

When the death spiral of anti-innovation starts, people such as talented developers start to drop off, and in the end you’ll have a slow, bureaucratic mess of an org, sustained by the inertia of an already existing customer base.

“How about we yank up them licensing fees?!”, or my favorite “Let’s rename a product suite!” (Citrix, as a case in point, is notorious for this…)

This be the enterprise IT lifecycle.

jordanbeiber··on Citizen developers are rapidly becoming the vanguard of corporate digitisation
Having worked quite a bit with no/low-code abstractions and “workflow automations” I’ve seen a few problems arising over and over:

- ownership and its boundaries becomes blurred

- maintainability over time

- lack of systems thinking and architecture

These are things we struggle with in organizations with dedicated development teams!

When parts of critical apps or workflows become like “xls in sharepoint” - PoC’ing is dreamy, anything beyond that potentially very painful.

Just my 2c, although I’m keeping a watchful eye on this segment.

jordanbeiber··on The Big DevOps Misunderstanding
Broken processes and missing self-service, as you point out, is why creating a platform team is important for these types of places. They might not know it yet, although some are trying.

It doesn’t make the infra technology more or less interesting?

← PreviousPage 3 of 16Next →