HNHacker News
TopNewBestAskShowJobs

MetaCosm

1,665 karma · joined August 6, 2011

[ my public key: https://keybase.io/robertmeta; my proof: https://keybase.io/robertmeta/sigs/UgvPNSEcpGbldHtQnQ_-c8SyRvBKjKTr_CLh0lpK0h0 ]
submissionscomments
MetaCosm··on Show HN: ChatGPT and Document Parser = Ghost
What is the basic mechanic that is going on here? Searching the document then using it with one shot or multi-shot prompting?
MetaCosm··on Why Kakoune – The quest for a better code editor
What exactly isn't pretty about vim (specifically gVim) on Windows?
MetaCosm··on Closing a door
True. But, open-source projects are in a bit of a pickle when it comes to tools. People always cry out for "professionalism" which I think is nonsense. In a "professional" environment, there are FAR more carrots and sticks, far more tools. There is training, promotions (carrot) and the risk of being fired (stick) and a lot of subtle tools in therebetween.
MetaCosm··on How Go was Made
As someone who has shipped both Erlang and Go in production, I feel I can somewhat answer this.

Teams. Go does "teams" better. Shipping an Erlang app to production was simultaneously one of the happiest and most depressing points in my career.

Happiest because it did exactly what we intended with minimal code and it was done early and under budget (yey!). The initial group liked Erlang, already knew Erlang and simply were able to bang it out -- delightful!

Depressing because of everything that happened after... trying to teach DevOps crew was a nightmare, they HATED us -- all that introspection you can get on an Erlang system only makes sense after lots of experience. Trying to hire people who already knew Erlang was borderline impossible. Worse still, hiring people who didn't know Erlang and trying to train them up was swimming upstream in multiple ways -- it just didn't work. Erlang is really a bit of its own thing -- and if you are absolutely new to it, very hard to get over the hump... it is a weird pragmatic FP actor system and lacks any sense of purity or type niftyness.

... For initial development, Go was less elegant than Erlang, but due to simplicity and really solid tooling probably slightly more productive, but not so much that I would favor it over Erlang. But the magic happened when we involved other people. Handing off to DevOps was a DREAM... it was just a binary that logged stuff. They didn't need to know anything about what was in the black box. Hiring people is already relatively easy for Go, and training up developers in it is a AMAZING. You can hire basically any competent developer and a week later you have a competent Go developer... 50 page spec and dead simple language works wonders. No debates about code formatting, builds static binaries in seconds, super-easy to experiment with from minute one (versus getting your head around OTP).

I consider myself a programming language geek, I program in dozens and dozens of languages, and love building my own little DSLs. Go is -- breathtakingly boring as a language, "exceptionally unexceptional". Honestly, it isn't much fun at all to program in, it is a bit of a grind. However, Go as a tool (when the language isn't the point, the product is, your customers are) is amazing... it is viciously focused on getting things done on teams, and so far, it has been an incredible asset to our team.

I still follow and toy with Elixir in hopes that it will hit critical mass, but wasn't willing to bet my livelihood on it as a founder.

MetaCosm··on This Industry is Fucked
Thank you. I have long wanted to speak to someone who admits to doing this type of thing as it is very hard for me to understand.

I realize it might be painful to relive a bit, but would you be willing to go into some more detail (it is a throwaway anyway). What did you do, what were you thinking as you did it, and how could someone have reached you sooner to do 1/2/3?

MetaCosm··on Streams: Mail 3.0 concept
That is exactly what I thought. "Stream" is the subject line. You mail to a group on some sort of listserve, which gives you a long-term history and a URL to give new people.

This exists in rather decent form in Google Groups already -- there is Google Groups for Business (with a Google Apps account) that gives you a great web interface as well as email interface all just for your company.

MetaCosm··on Rust 1.1 Stable, the Community Subteam, and RustCamp
If you have an old version of "Source Code Pro" on your computer, it will WRECK that page in a lot of fun and interesting ways.

You can either remove "Source Code Pro" from your box, or use Tampermonkey / Greasemonkey to remove it from the markup.

MetaCosm··on Rust 1.1 Stable, the Community Subteam, and RustCamp
OK -- replace "close relationships to" to "have emailed kibwen at his gmail address to get on a list".

If I could go back and edit I would -- but it has been too long.

MetaCosm··on Rust 1.1 Stable, the Community Subteam, and RustCamp
Rust core team has taken the approach of breakage without major version increments being acceptable as long as they deem the breakage "minor" (based on crates.io and companies they have close relationships to).
MetaCosm··on Rust 1.1 Stable, the Community Subteam, and RustCamp
That seems... less good honestly, but gotta start some where I guess. Friends-network effect should grow weaker with time (or at first big drama blowup).
MetaCosm··on Rust 1.1 Stable, the Community Subteam, and RustCamp
Interesting, how was the mod team picked? I think it is a good check to have it be separate from the Rust team (assuming it wasn't picked by and answers to the Rust team).
MetaCosm··on Just Wear Headphones
Indeed, I believe they share tips.
MetaCosm··on Just Wear Headphones
It is a point, just a very "sad point" on top of a long series of nonsense ones. Open offices are AWFUL, but so is that article. Just because I agree with the underlying point doesn't mean I have to agree with tortured logic.
MetaCosm··on Just Wear Headphones
Yeah, generally ANC (Active Noise Cancellation) headphones can help. IEMs that block sounds are even better than ANC headphones.
MetaCosm··on Just Wear Headphones
Focus on noise isolation. Using ER-4P (https://www.etymotic.com/consumer/earphones/er4.html) with triple-flange tips is about the best you can get. Better even than $1000+ customs (exception made for Noble silicon customs).
MetaCosm··on Just Wear Headphones
I HATE open offices, but man is this article full of absolute nonsense. I mean that in a very literal way -- it has lots of stuff that can not be made sense of because it lacks context or any actual meaning.

> I stress to my patients and the parents of my patients that if you can’t hear anything going on around you when listening to headphones, the decibel level is too high.

This is just stupid. It ignores type of headphone entirely. IEMs like the ER-4P (https://www.etymotic.com/consumer/earphones/er4.html) have insane noise isolation (up to 42 dB). When using them, I can't hear someone talking to me, standing right next to me, with no music! They physical block the ear canal and create a seal blocking outside noise.

> As a rule of thumb, you should only use [personal audio] devices at levels up to 60% of maximum volume for a total of 60 minutes a day. The louder the volume, the shorter your duration should be. At maximum volume, you should listen for only about five minutes a day.

Again, idiotic. "60%" is entirely meaningless. It might as well be "Don't listen above FALASFDABURAGA". Headphones vary in sensitivity vastly, on some sets of IEMs -- 60% would be ear bleeding, deafeningly, painfully loud. On a high impedance, low sensitivity set of big headphones, 60% is a whisper. As a "rule of thumb" all it does is reinforce that the person who gave that quote is an idiot.

> If you listen to music with earbuds or headphones at levels that block out normal discourse, you are in effect dealing lethal blows to the hair cells in your ears.

... again, quotes from people who have no understanding that there are different types of headphones. MAYBE you could claim with fully open headphones this to be the case... but what is the level of "discourse"... sigh. Again, literally nonsense because it is impossible to make sense of...

> ... Music Is Distracting (entire section) ...

There exists multiple categories of music WITHOUT WORDS! Shocking I know. Most developers I know listen to these types of music because, lyrics are distracting. That isn't a cut against headphones.

> ... Feeling of Vulnerability ...

Getting to some sad points. Again, I hate open office plans, but come on -- really -- the feeling of vulnerability being caused by headphones? It is caused by an open office layout.

MetaCosm··on We Tried Slack and Regretted It
What makes you believe that? 1,000+ user channels are common on Freenode.
MetaCosm··on Sexual Paranoia Strikes Academe
> In the rare chance that your true love coincidentally happens to be in a class you teach...OK, stranger things have happened in life. So do the adult thing: quit your job, then continue the relationship. True love should be stronger than the benefits of a tenured position. Don't screw it up for all the other poor students whom the gods did not make to be your soulmate.

It doesn't even need to be that extreme. I don't think a student and professor can't be on the same campus, the only thing that would need to happen is the student to drop the class.

That trivial, that simple, that easy. If you are screwing a college teacher, you can't be in that class. In the RARE case were the class is absolutely essential and only taught by a single person, then yeah, might need to quit for true love... or find a way to get that credit elsewhere.

MetaCosm··on Why Go is doomed to succeed
> if you would like to add your company to this list...

Sadly, in the near term, the Rust boat has sailed. LTS releases would give a real good reason to reconsider if they ever come about. What support durations are you considering for LTS, and where can I read more?

MetaCosm··on Why Go is doomed to succeed
> Tell me what you wanted Rust to do instead...

Well -- if we are going into what I would have preferred. I would have preferred a rest period after release. No ongoing changes across 3 trains on a 6 week cycle. Give the community time to accept, adapt, bitch, moan, whine, create workarounds, and then better workarounds. Let enterprises have time to buy in, test, accept or reject and give feedback. Deal with critical issues and focus on stability as a deliverable... and don't break anything during the rest period (even if that means being on a single version of LLVM and no new traits or modules or functions or whatever). But, that ship has sailed.

> I'm not sorry for doing so much development in the open instead of behind closed doors

Who asked you to be? I was simply pointing out the reality that Rust has a reputation to contend with -- you can't change that be being righteous about it, it just is.

MetaCosm··on Why Go is doomed to succeed
> If there's no code out there that actually breaks, then I don't see the problem.

Exactly, which was my point. Rust-the-community (and you as a member of it) see no problem with it... which for me, IS the problem. The timing, the fact that it played into all the existing narratives about why you never trust Rust, it made it a brutal bit of political weaponry in the hands of those who are pushing against Rust in organizations... and a bit of a kick in the junk to those of us who supported it. You saw it as without impact, when it has already had a huge impact on at least one organization.

> Golang has made many changes that could technically, and actually did, break code as well (just to name a recent example, the GOMAXPROCS default bump; there have been several others).

Rust isn't Go, that might seem "unfair" but that is the way it is. Go does not have the same reputation to fight against as Rust, the same famed history of breaking peoples code who are trying to use it, Rust WILL be held to a higher standard when it comes to breakage than ANY other language I suspect.

MetaCosm··on Why Go is doomed to succeed
Go 1.5 can call C and be called from C. So you can write a Go function to extend your C app.
MetaCosm··on Why Go is doomed to succeed
I agree. Also, maybe Rust-the-community isn't ready to honor promises (http://blog.rust-lang.org/2014/10/30/Stability.html) it makes, which is critical for enterprise adoption.

Twenty-two days after release, Rust started talking about making breaking changes (https://internals.rust-lang.org/t/pre-rfc-adjust-default-obj...). This conversation killed a Rust project I had pushed for... it played into all the existing negative ideas about Rust (constantly changing, not worth investing in) and gave the doubters all the ammo they needed to kill the project.

The change wasn't yet implemented, and had ZERO impact on our code-base even if implemented. But Rust-the-community seems too clueless on the importance of APPEARING stable and able to follow promises.

I wonder how many other Rust projects died because Rust-the-community appears like an untrustworthy ally (I am speaking of perception not reality).

MetaCosm··on Why Go is doomed to succeed
Yep, just like Dart... oh, wait.
MetaCosm··on “Why does Chrome not have a good tab management system built in?”
Chrome + cVim -- B (b is used for bookmarks).
MetaCosm··on Vim Tips For Intermediate Users
That is one of the features I get from the https://github.com/tpope/vim-eunuch plugin (SudoWrite).
MetaCosm··on Oh My Zsh
Generally the reason to go with such a kit is so you DO NOT have to do the maintenance... you gain the benefits of the community with little to no effort.
MetaCosm··on Why I’m breaking up with Google Chrome
> until the websites and services I use migrate to a different solution

Any public websites or services you can reference? I legitimately can't think of a single website or service I use that will be impacted. Or are you talking more about like ancient internal systems written as a java applet?

> companies and services relying on [NPAPI] this technology will simply fail since there is no alternative

Any company that bet their business on NPAPI deserves to fail. The signals where clear since 2012 that this was coming, and was explicitly and directly stated since 2013. They had a lot of time to transition off.

A full decade ago I was helping companies transition off NPAPI because it was "legacy", "slow" and "buggy". I couldn't fathom a company being silly enough to develop a modern product using it.

Most of the "major" things dependent on NPAPI have fairly clear migration paths. Java Applet -> Java Web Start. Silverlight is entirely dead (despite MS supporting it out till 2021) and there are tons of migration paths off of it.

MetaCosm··on MicroservicePremium
I have been slowly (last 4 or so years) moving away from microservices towards the "cookie cutter" (http://paulhammant.com/2011/11/29/cookie-cutter-scaling/) model (we didn't use that term of art) and been very delighted with the change. I had completely drank the koolaid on microservices, but after having to maintain them in production for a few years, changed my tune.

In my experience that "iterate and change the system easily and quickly" simply doesn't end up being true. That is the bait, but then comes the switch. Once you have a real system, heavily interdependent, the cost of changing things starts to go up greatly, and your ability to cleanly describe a working system becomes challenging. Answering simple management questions like "OK, so if we change X, what could break?"... "We should send out an email to all the teams to ask!" (ugh)

The problem is that for most significant changes to a component -- there are changes to the interface to that component. So you have 'the choice' -- (1) Maintain this interface forever or (2) Ensure all the teams transition off it by X date, via a deprecation system. Both work, and most companies seem to use a mix of both, they strive for (1) until it gets insane, then they do (2) and force everyone to upgrade to X version by Y date.. rinse and repeat.

We are currently doing the "fat binary" cookie cutter system. Our deploy is a single binary that does "all the things". There is a lot to like about this system. Easy to manage and role back. Compile time checking, including additional tools for static analysis, etc. No network overhead on making local calls. You know and can clearly describe 'the system', it isn't in some continuous flux state. Due to compiling time checking and static analysis you can maintain 'one truth' and when you upgrade a component, you can go into all the callers and update them, so you don't have to maintain that old interface. You can scale decently vertically not just horizontally, which at times is a far more efficient way to scale. Overall, it has made us able to move much faster because it gives us a lot of confidence in what we are shipping, and a sense of safety in that we can quickly go back to what we had.

MetaCosm··on Elon Musk email to Tesla employee about missing an event to witness the birth
> You might not remember your great-grandparents but your DNA does. Your family culture does. Much of what makes you, you is built from their legacy.

This sounds like a person arguing on behalf a cast system. Without the right family culture and DNA you can't possible be successful/worthwhile, lets just put those people in a cast to save time, easy labeling for all! Maybe if you breed with a better cast and become part of their family your future would be brighter, so we will arrange a marriage to make this so. This isn't some far off idea - this is the norm in some places, and it is disgusting.

Do you support eugenics? Do you think less of intelligent people who choose to adopt rather than breed? Do you think overpopulation is a non-issue? Do you believe cast systems are useful?

Human knowledge and functional advancement is vastly more important than genetics or children. Jonas Salk had three children, but anyone who claimed "his children are his greatest accomplishment" would be laughed at. His impact on mankind was direct. Direct impact is always better, because no matter how many generations your DNA is passed on, it is all meaningless until they at some point take action and do something. Mindless breeding is something rabbits can do.

There is this desperately sad tendency to want to "pass the buck" to children... sure, MY life was a huge waste, but maybe my children will be something special, maybe it was all worth it because of them.... or my grandchildren. People who do something in the here and now are to be admired because they are a rarity.

Page 1 of 23Next →