HNHacker News
TopNewBestAskShowJobs

debaserab2

3,625 karma · joined March 9, 2011

submissionscomments
debaserab2··on GoodJob – a Postgres-based ActiveJob back end for Ruby on Rails
This is exactly why I stuck with DelayedJob after all of these years. The community seemed to flock to Resque or Sidekiq, but I always felt my needs were met just fine with Delayed Job. I never was interested in adding more unnecessary complexity to our dev and staging environments for a trade-off I didn't need (there wouldn't be a significant performance increase for my needs).

I've seen this pattern happen with a lot of Ruby projects: there's a popular Gem that people use that grows over time, then someone writes a blog post about why that package isn't suitable for their needs due to a design trade-off (often introducing a new Gem that is advertised as superior to the previous one) and then suddenly the old Gem stagnates, causing the maintainer to lose interest and updates stop pacing Rails versions. Sometimes the old Gem gets deprecated altogether and maintainers stick a big DO NOT USE sign at the top of the github README, all but guaranteeing there is no further community traction or organization for the project.

Meanwhile those of us using the old project chug along with a forked Gem that we cobble a bunch of patches into to meet our needs because there's no longer a centralized place to contribute to anymore. In some ways it's the double-edged sword of OSS. Maintainers aren't obligated to stay as maintainers of course, but it does get frustrating how quickly the community is willing to drop support of things that a lot people are using in production systems.

It definitely makes me reconsider the "don't reinvent the wheel" advice that is so adamantly thought of as a common sense convention in our craft.

debaserab2··on Is every game of Slay the Spire winnable?
I was about where you were 40 hours in. Then I bought this game on switch so I can take it everywhere with me and have since dumped about 500 hours into the game. I only recently got all characters to A20. Still working on A20 heart kill and a few other achievements.

It's always intrigued me seeing other people pick up the game and master it much more quickly than I did. There's some people that get their A20 heart kill just 100 hours into the game.

I really enjoy the feeling of slowly but steadily gaining knowledge and intuition about the game - in the 500 hours of play there's been no shortage ah-ha moments throughout. Truly one of the best $/entertainment value games I've ever purchased.

debaserab2··on Is every game of Slay the Spire winnable?
That concept is what has helped me get over the A15-20 hump. It's more important to draft cards that shore up immediate weaknesses than it is to draft cards that might pair well with other effects in your deck. Draft for the short-term, not the long term, because stronger short term victories means you can pathfind more aggressively and acquire more gold/rewards.

I'd say that's probably the most important "ah-ha" moment where my winrate really started to significantly improve. That and knowing when to min/max # of combats while pathfinding.

debaserab2··on Is every game of Slay the Spire winnable?
Wow, the author also made a mod that sends game outputs and receives inputs from an external program. This is awesome!

https://github.com/ForgottenArbiter/CommunicationMod

debaserab2··on The Adjacent User Theory
Meeting people’s needs or tapping into human social behaviors and instincts?

I guess it’s all a matter of perspective.

debaserab2··on Building a Developer Cult
That’s not really true though. Both PayPal and Authorize.net had a REST API when Stripe came out.
debaserab2··on Building a Developer Cult
U.K. was probably different, but in my mind both Authorize.net and PayPal were the established players in the US market for online credit card transactions before Stripe.

Authorize.net was (and still is) a "gateway" - you pick the merchant and use Authorize.net for the actual technical layer of processing a transaction - which was kind of a confusing concept, but there were plenty of merchants on authorize.net's marketplace that had much better rates than Stripe. I don't recall there being an onerous application process or the restrictions you mentioned, but it could be that I was shielded from that side of things.

Both Authorize.net and PayPal had pretty gross API's (and documentation) but they were pretty solid once you got them working. Obviously it depends on the nature of your business, but saving even 10 cents per transactions goes a long ways for many and quickly justifies a day or even a week of additional coder time. It wasn't that onerous of a task to implement one of the non-Stripe options.

Paypal of course was it's own beast with it's insanely draconian policies towards account holders, but I never had to deal with that (luckily).

debaserab2··on Building a Developer Cult
There was a long time when Stripe was taking a significantly higher transaction fee than most other merchants for cc transactions yet there still was fervent developer push to use it anyways (Note, this hasn't been true for a few years and was only true during the first year or two of Stripe's life).

People made all kinds of rationalizations to themselves for using stripe at a much higher cost simply because they didn't want to spend a couple more hours using crappier API's or digging through crappier API documentation.

It made no sense to me at the time because while Stripe was nice, it was usually only a matter of a couple hours/days to implement any of the other big payment processors of the time. I guess that shows what the power of cultish developer zeitgeist can do.

debaserab2··on Twitter is dropping coding terms like 'master' and 'slave'
Yet we kill “child” processes all the time, especially those pesky orphaned ones.

No one has a problem with the phrasing above when the context is understood.

debaserab2··on JavaScript for Impatient Programmers
A little learning is a dangerous thing ; Drink deep, or taste not the Pierian spring : There shallow draughts intoxicate the brain, And drinking largely sobers us again.
debaserab2··on Bastions on demand in an AWS VPC
I don't keep an email in my profile but you can find me here: andy@threadsculture.com
debaserab2··on Bastions on demand in an AWS VPC
It was a total no-brainer once we discovered it. Really nice work.

If you're interested in more feedback, I'd be happy to share. As with many things AWS, there were some undocumented rougher edges that took some trial and error to figure. Although the end result was well worth it. Totally understand if you're not on HN to do that sort of thing, though.

debaserab2··on Bastions on demand in an AWS VPC
Alternately you can inventory your instances in AWS Systems Manager and start an SSH session directly from the AWS CLI itself [1] -- no Bastion servers or SSH key management necessary, pure IAM access only.

[1] https://docs.aws.amazon.com/systems-manager/latest/userguide...

debaserab2··on Looking Back at Postgres
> Any time someone replaces their Flask web app with a go or rust version, qed

Wait... are you suggesting that replacing a flask web app with a go or rust version is in support of or against second system syndrome? That sounds like a textbook example to me - I've seen so many second versions get built mainly for the sake of a new technology that miss a lot of the original requirements that the first version solved just fine.

debaserab2··on Looking Back at Postgres
I don't think the fact that someone made a second version without succumbing to second system effect disproves the adage outright; for the vast majority of new programmers it's still worthwhile advice to adhere to.

Like any principle or adage, if you are experienced enough to deeply understand the reason for it, you will know when it does or does not apply.

debaserab2··on Show HN: Kretes – Build full-stack applications in TypeScript and PostgreSQL
> I decided to replicate to some extend what Sun Microsystems did in ’95 with the Self programming language

For those of us unaware of what the Self programming language is/was, what things did you find inspiring that you are using in this framework?

debaserab2··on It’s Time to Get Back to RSS
RSS was already broken and then medium came along and slurped up the majority of independent/longtail blogs (where most of the good stuff really is) and now we're stuck in some awful state that there seems to be no easy way out of. Content needs to be decentralized again before RSS can rule again.
debaserab2··on Serve Videos Instead of GIFs
And as long as licensed video codecs are a thing, the UX for gif's will always be better.

Yes, videos lose quality and sound when converted to a gif. They also lose proprietary encoding and all their metadata (including licensing information).

This makes gif's infinitely more transmittable on the web.

debaserab2··on A first look at Unreal Engine 5
That reminds me of the old trick of using a 1x1 pixel in an empty table cell to ensure that internet explorer would actually expand the table cell to whatever width you set it to (height still needed another trick if i recall correctly).   would work, too, but then the minimum height of the cell would be whatever the line height was set to, and the line-height property didn't behave the same across browsers.

It's funny how old tricks make a comeback. I see a lot of  's in React codebases to preserve whitespace around JSX tags.

debaserab2··on AWS services to avoid
> CF _could be_ a lot better. Like compile time validation, not just in time.

I've recently finished a project using AWS CDK, which seems to do a certain amount of this. Just using TypeScript and having AWS resource interfaces be fully typed goes a long ways for finding a template mistake quickly.

debaserab2··on Write Libraries, Not Frameworks
Aside from the fact that create-react-app itself is pretty much a framework, even if you don't use that and roll it all yourself you end up with a codebase that has many of the same hallmarks of a framework such as directory conventions, common class patterns, a bootstrapping mechanism, etc. There's plenty of messy React codebases out there that screw this up.
debaserab2··on Write Libraries, Not Frameworks
This feels like an apples vs oranges comparison. Libraries tend to be more focused and single purpose (e.g., provide an interface for technology X).

When you begin composing libraries together to do a multitude of things you tend to end up with a defacto framework whether you call it that or not.

Frankly, I'd rather use a framework that has been battle tasted and hardened through open source and is well documented instead of one that is incomplete and lacks conventions built in-house.

debaserab2··on How Stripe Designs Websites (2017)
Here's some things I notice at first glance that contribute to it's incomplete feel, imo:

- Lack of hierarchy among elements

- Inconsistent layout from page to page

- No typesetting, paragraphs are squished together in a dark font

- No indication of what the current page is beyond the browser tab title

- Heavily contrasting colors in certain areas like call to actions (white-on-blue) that will bleed on cheaper displays

These are all things that if fixed would improve usability while adding zero decoration.

debaserab2··on A look at modern PHP
WP is not in anyway static (without plugins) and you will quickly realize that when your site deals with a non-trivial amount of traffic and it completely seizes up.

WP hasn't been a good choice for small business owners for a long time - web security is hard, and hardening a WP install is not simple. There's a ton of options out there that do everything WP does without the overhead: squarespace, weebly, wix, shopify, etc.

debaserab2··on Rules of thumb for a 1x developer
It's amazing that it just took one startup to sway the majority opinion that trivia-as-job-interview is a good barometer of job success.

Not even five years ago this style of interviewing was looked down upon by most.

debaserab2··on Things I wished more developers knew about databases
Keep in mind that full time role used to be a hell of a lot of work. Take the project I'm working on right now: https://gist.github.com/ajbdev/11f494906ebb6aa3f6bdf35f2437e...

In ~50 lines of code I can erect a load balanced set of web servers with my app binary preloaded, secured in a private VPN subnet with an auto-scaling policy attached to it.

15 years ago this project would have meant:

- Racking new hardware somewhere on premise

- Configuring several routers and networking equipment

- Tweaking the different software responsible for the different app layers (load balancing, web servers, etc)

- Hoping we forecasted demand correctly and whatever hardware we racked can handle a traffic spike or growth surge

You needed a lot more expertise back then.

And really you can trade all of what I'm doing for a higher level of abstraction that requires even less knowledge of the underlying technology (netlify, heroku, amplify, etc) if you're willing to pay a little more.

debaserab2··on Things I wished more developers knew about databases
> There's usually not a relationship that goes the other way though, for example, developers don't tell DBAs to pick up code so they can write the models in our language in addition to the underlying SQL. This highlights a trend of increasing responsibilities pushed onto the developer.

Yes, because as a developer you're the one who has the responsibility of implementing the business requirements of the app. There's no trend here; this is the way it's always been. The buck stops with development for a lot of things. The developer is in a unique position to respond to many incidents because they have an intimate understanding of how the business requirements wed with the technology in ways someone like a DBA does not.

DBA's have plenty of responsibilities of their own, such as handling a 3AM alarm that goes off when some part on the application starts hammering the DB from some poorly designed N+1 query problem in the codebase. Often times when the DBA tries to teach the developer it's because he's sick of getting those 3AM wake-up calls.

> But in some cases it's specialists designating what an expert developer should know. It's giving away control in some respects. This turns into new job requirements and a higher barrier for entry. The growth will need to stop at some point.

That's a strange mindset to have. Different jobs have different technologies, and as a developer you learn how to work with them. The specialists aren't designating anything, the job you're responsible for is.

debaserab2··on Things I wished more developers knew about databases
I don't agree. If you're designing data structures in a code base you shoulder some of the responsibility for the persistence characteristics of that data.

There's a lot of devs that think database design is the same as starting a new ORM class and generating a migration file.

> Database, security, accessibility, performance, infrastructure, tooling and productivity, business concerns, workflow processes (agile), language concerns, new things

Yes, these are all things that devs should strive to know as much about as possible. Software isn't easy. It takes a long time to become an expert. 10 years sounds about right.

> Who knows if we'll add a new category next year?

Skill domains do come and go, but I think the ones you've listed are solid staples of web development for the past decade and likely will still be for a decade more.

debaserab2··on What is interesting about Factorio
Perhaps you can answer this for me then: what is the goal in a game of factorio?
debaserab2··on What is interesting about Factorio
I feel the exact same way. It's interesting that you mention Rimworld - I dived into Rimworld when I first got it and came to appreciate the way little things add up in that game and make the simulation more interesting (be it positive or negative). The complicated UI is slowly unraveled and becomes intuitive as you learn the game because there are simple feedback mechanisms for actions that affect your colonists.

Everyone tells me I'd love factorio. Every time I load up the intro tutorial I have the intention of finally diving in and just.... nothing. I can't get into it. I don't feel an incentive to learn the building and crafting UI's. It just feels like work. I'm not even sure why I'm building the things I'm building, or what the aim of the game is.

Maybe rimworld sucks me in because I can immediately empathize with the plight of the survivor, whereas factorio seems to be all about building efficient machines for the sake of building efficient machines.

← PreviousPage 8 of 34Next →