HN user

fimbulvetr

123 karma
Posts3
Comments50
View on HN

Currently, and for some time now, if your browser crashes, just open it back up and hit ctrl-shift-t (may differ between os and browser) - it will bring back all of the old urls (not the state, but the urls at least). Works for firefox and chromishs browsers.

DontBuyDell.com 4 years ago

Wholeheartedly agree. I only buy dell, and of them, I only buy latitudes. My favorite of all time was my e6440 with an socket CPU. I bought my wife one a couple of years ago, threw a quad core in there, maxed the ram and it's still working well. I had one just like it for myself but after years of my dog knocking it off the coffee table, it eventually stopped displaying. You can put three hard drives in these guys, one in the intended, one in the cd/dvd caddy and one in an m2 slot. I ran linux on it for it's entire 7-8 year life.

Today I have a 5490 (4 years old) which is a beast and puts up with tons of abuse, including drops. I've run linux on it since day 1 and never had a driver issue and is a solid workhorse.

I've always had dell latitudes, and will continue buying them as long as they last me 8 years each and run linux.

No. Today one of the tines broke on my tiller, weld sheared clean off. Have had this tiller for years and use several times a year. I used some sites to find diagrams and part numbers. I was ready to order from the small engine site, $60 plus shipping and several day delay. I googled the part number, first link was an amazon prime next day delivery for $56. Maybe tomorrow it will show up and it will be a counterfeit and I will start the journey of losing confidence, but not today as I have never received a known counterfeit from them and we order at least 100 things or more from them a year.

Edit: like another reviewer, I really only purchase name brand items and mosty from amazon.com reseller. My last amazon purchase from a non-amazon reseller was fine, ramset 1 7/8" pins that I could not find anywhere else, for fastening 2x4s to a steel I-beam.

That doesn't seem like the only possible reason, another one could be that it appeared the company was anti-k8s for the sake of being anti-k8s. I would walk away from a company that I felt was proud of not using the right tool for a job.

p.s. Not claiming it was the right tool for the job in this case, it would all depend on context.

Maybe using cert-manager & ingress-nginx to front the service with SSL. Then your ingress-nginx will front your ruby app and decorate it with ssl. Please note, and I am embarrassed it took me so long to figure out - there are two nginx ingress projects - "nginx-ingress" and "ingress-nginx"! I would strongly recommend using the k8s official one, which is ingress-nginx. See: https://www.digitalocean.com/community/tutorials/how-to-set-...

This will help you learn the ingress pattern. After that, I would suggest exploring ways to tack a sidecar on (log aggregator, etc) - my impression is you are just looking for things to learn, I wouldn't normally suggest doing this just to do it.

Alternatively, you could try exploring putting grafana/prometheus in, though this can be a big bite for someone learning, so I would recommend learning/comprehending sidecars/ingress, etc as they are some of the building blocks for k8s.

Edit: I see there's another comment for traefik for ingress - that's fine too, it's the concept that matters, not your particular choice. If you have a lot of trouble implementing one, try the other one, things you learn in your journey will help quite a bit.

iOS 15 Humane 5 years ago

These are sad times when someone who wants to "hack" and learn and disassemble and reassemble and just "understand" gets shit on "hacker news". "Limited world view"? Really? They are the one with the "Limited world view"?

Deep JavaScript 5 years ago

IMO you should try to keep the code as DSL as possible, and only use the imperative features when it makes a lot of sense. For instance if you have like 10 security groups to add and you just put it in a for loop. You should not embed actual account numbers, regions, etc etc in your code (i.e. a cdk synth should not show arns with arn:aws:1283830383 but rather arn:aws:ACCOUNT_NUMBER) you do that by doing something like:

resources: [`arn:aws:${cdk.Aws.AccountNubmer}`]

(I know I got the arn format wrong and probably messed up the account number, but you get the gist I hope)

The reason is if you follow those rules strictly enough, you can still deploy that template in most accounts (dev, test, prod and so on), which has always been one of the core strengths of CF (and others) when done properly.

And I prefer to NOT use If statements in typescript if it can be done in Cloudformation with conditions or other items. For instance, if you only want to deploy a secondary rds slave in prod, use a CF condition and not a typescript 'if (accountNumber === myProdAccount)' because that means your typescript needs to know which account it's synthing for, which by default it does not.

IOW, try to use typescript to build DSL that's still in the spirit of DSL and you'll avoid a lot of traps that novices get themselves into.

Deep JavaScript 5 years ago

This is true. Have guys new to JS/TS doing stuff in cdk quite a bit. Fortunately there's not much complexity to CDK's framework and if you stick to L1 constructs it's very very close to just writing the YAML (Minus minor casing conventions and other relatively trivial things)

This sounds like neophobia or NIH syndrome. What you're doing is almost exactly the same as a docker deployment, except you're missing the ability to have some declarative leverage and tagging (unless your place invented that for themselves as well). There very few unhackable things about a Docker/container image, and typically that's for the better. The other advantage is that once you start using docker images, you now have more or less portable infrastructure. EKS, ECS, Google Cloud Run, Heroku, and on and on and on... But then again, it takes some time to realize that serverless is an advantage because if you're still young or your company isn't strapped for cash, they're fine hiring people to stay on call through the night and manage servers and upgrades and so on. Me? My fargate tasks run on servers that never need reboots or upgrades.

I had this too - when I first started I fought typescript quite a bit. I struggled through this because I kept finding more and more code on github that was TS, kept seeing more articles that were TS, kept seeing big improvements from MS on TS, etc. So I kept learning the best practices and trying to understand why I shouldn't use "any[]" or "{key: string?}" and so on - trying to get past the parts where I wanted to be lazy. Eventually on one of my projects I had to reorganize my model structure, where some classes held other classes and so on. I had to both move one and rename one. This was early on, but since I did a reasonable job with typescript, I was able to just run `tsc -p .` over and over and it found all of the places I missed, which were far more than I would have guessed. It only took maybe 20 minutes to do that massive refactor. From that day forward, I really enjoy working in typescript. I think it's different from (some) other strongly/statically typed languages because it allows you be be a little more expressive in what you're defining. Perhaps expressive is the wrong word, but I find that it's quite flexible in this area, and I really enjoy that because if I take the time to flesh things out it can really help me find or prevent bugs.

Somewhat off topic but have you see all of the recent (2 years) malware using webassembly? It's difficult to disable in chrome, somewhat difficult to disable in firefox, and no extensions seem to help. I'd love make it as easy to disable as JS.

I don't understand why it needs to be so political. IMO, yes, he shouldn't remove it but there are reasonable alternatives such as another maintainer setting up a network-manager-sysvinit package that just includes the script (like git-daemon-sysvinit) or even an entirely new package such as network-manager-sysv containing the same files and the script. Then everyone can be happy - the said maintainer can live on without sysv and those that want sysv can live on with their specialized package.

Yes, that's right. I switched from an advantage to an advantage2 (which has the non-rubber keys) a few years ago as my new gig purchased the advantage2 for me. Honestly, I didn't even notice a difference. The new f keys are slightly larger (but not full size) and plastic, but I would personally say that I wouldn't drop $350 for the plastic ones. I used the advantage for 15 years, so I was well used to the rubber ones. A few months after the switch, I realized they weren't rubber - that's how insignificant the change was for me.

Lambda@Edge on CloudFront is similar to this, although I don't believe they have that good of performance. I suspect that this would be enough incentive for them to catch up though.

I am able to work within Lambda@Edge's constraints (us-east-1, minimal code size, no layers, low max execution time) reasonably well, but it would be nice for them to start removing some of those limitations as well as adding a speedup (although I have no real complaints about speed).

Most of the improvement is from the typings that other libraries come with, if, like you said, they are complete. Now I can just ctrl-click into an object to view it's methods and from their can view the interfaces the methods accept and the interfaces the interface accepts, and so on and so on.

Honestly, I rarely refer to documentation for these things because every project is a snowflake and the documentation gradient goes from no documentation to perfect documentation. By that, I don't just mean the words, I mean the website or the framework used to document, as well as the style of documentation (more like flavor?) Typescript is the great equalizer that makes a project with no documentation (but decent comments or method/var names) just as documented as one that that does.

I can also ctrl-space easy to get a list of methods in case I forgot which method I needed, or if I want to discover what's available. That's enormous in my style of programming. Sure beats going to someone else's documentation page, trying to read it.

Some of the improvement is not necessarily that I have javascript bugs due to lack of typing but rather that with typescript I don't get those bugs which means I don't have to reason about avoiding those bugs anymore like I did with javascript. Sort of a reduced cognitive load.

Also, I have a few coworkers that are not javascript/typescrpt savvy that I was able to get up to speed with typescript fairly easily due to the easy of using the types. There are, of course, hard things such as partials or understanding tsconfig.json or even generating types that I don't cover with them and just have them come and get me when they're ready.

For most things without types I just do the declare module in a d.ts - however, I will first try to find another package that does the same thing with types. Most popular packages these days do include types, some better than others.

After I re-read above, I realized that a lot of it depends on the IDE. If I were still using vim or kate/gedit, it probably wouldn't be a huge timesaver. Fortunately, I settled on one of the intellij editors.

I don't use ruby, I am genuinely interested - why is it great? I'm assuming if it were ever allowed, it would be a use-at-will feature and wouldn't affect anyone who didn't use it. Typescript has probably doubled if not more my speed and accuracy since I've adopted it - yet I still do plenty of things in normal javascript. These days I'm usually unhappy when something does not have typings because it can make it terribly difficult to discover things.

You're absolutely right, and I think most of us have a hard time a. learning about all of the new features and b. justifying going back and fixing up stuff to adopt the new features, but IMO for such a critical piece of infrastructure it should have been done and the engineers/architects should have been adding that sort of stuff to the backlog or requesting training or asking for resources, etc. For me, that sort of stuff is the only way I can get the green light to go back and refactor.

That's right. Before I went, I spent at least a 18 months hiking trails in Colorado with similar profiles to the one we'd do on the 1 day Inca trail which led to a 2nd day at MP. I also ski a decent amount every year here in CO.

I can say with certainty that it wasn't enough to keep up with our Inca guide or even to tackle the hike with no complaints. While I'm sure it helped considerably to prepare for months ahead of time, I personally feel that there's some other unquantified difference between here and there that makes it just a bit harder. But try it and let me know if it was just a walk in the park. Just don't drink the coca tea the night before you start your hike like I foolishly did.

We also did hyanu piccu, which is absolutely amazing and an additional hike that is like a sprint at the end of a difficult race. It doesn't take long, but at the very least can give you a great carido workout.

I agree with you that we still have some ways to go with getting LB right, especially WRT to K8S. I think one of the problems is that it seems like every different app is a snowflake with different requirements, so all of these libraries try to be the jack of all trades, leaving the mastery to custom scripts (if it's even obtainable).

For instance: https://github.com/kubernetes-sigs/aws-alb-ingress-controlle...

Also, and you probably already know about this, but it's true that ingress won't create the record automatically for you - but external-dns ( https://github.com/kubernetes-sigs/external-dns ) will - with the correct annotations (pretty simple), external-dns will watch for changes to ingress and publish the dns records on R53 (and many other DNS providers) for you. It works really well for us, even when the subdomain is shared with other infrastructure not managed by itself.

I would like to second this and point out that while someone can self host and set all of this stuff up, at some points there are economies of scale for using a provider to do this because the provider's raison d'etre is to create these interfaces that make it easy for everyone to interact with git. The developers on KDE, etc. probably don't want to spend their time working on the UI for their bug/issue/feature/commit request tool when they could be working on KDE things.

Finally, there's the fact that many more users will be familiar with GitLab (or GitHub, BitBucket, and so on) than they would with each and every opensource project's flavor of bug/issue/feature/commit tracker. For instance, I know exactly how to find the "releases" section on github quickly - if KDE wrote their own bug/issue/feature/commit tracker, I'd have to find the "releases" area and remember where it is every time since I don't use that UI as often as I use github.

And here I was thinking you might have something of merit, but it turns out it's still the old 2007 arguments about === and array functions. I can see our definitions about what we spend our time on differ, as I could barely bring myself to reply to these tired FUD arguments that you and all of your predecessors have argued are fatal flaws of the language. Apparently, it's some sort of quest for you to get people off PHP. GLWT, but I will not be seeking your input on PHP flaws in the future as it's always the same on HN, reddit, etc. Some of us have moved on.

This is just FUD. You didn't give us any real use cases to agree with or refute, only your opinions. Lots of people and companies do very productive, very real, very "typed" and very effective applications and code in PHP. I am stunned that you are writing "because a lot of times your code will seem to run fine until it doesn't" as it wouldn't be such a widely used programming language if that was the case. Your entire comments reeks of trolling.