Hacker Newsnew | past | comments | ask | show | jobs | submit | cpburns2009's commentslogin

Generic WASP checking in. I flew regularly for several years until covid and I'd get screened all the time too (about 50% of the time).

Now I haven't touched C++ in probably 15 years but the definition of main() looks confused:

> auto main() -> int

Isn't that declaring the return type twice, once as auto and the other as int?


No. The auto there is doing some lifting so that you can declare the type afterwards. The return type is only defined once.

There is, however, a return type auto-deduction in recent standards iirc, which is especially useful for lambdas.

https://en.cppreference.com/w/cpp/language/auto.html

auto f() -> int; // OK: f returns int

auto g() { return 0.0; } // OK since C++14: g returns double

auto h(); // OK since C++14: h’s return type will be deduced when it is defined


What about

auto g() -> auto { return 0.0; }


0.0 is a double, so I would assume the return type of g is deduced to be double, if that is what you're asking.

I was more pointing out that the syntax was dumb for that particular example!

I really wish they had used func instead, it would have saved this confusion and allowed for “auto type deduction” to be a smaller more self contained feature

the standard c++ committee is extremely resistant to introducing new keywords such as "func", so as not to break reams of existing code.

Indeed. I am a frequent critic of the c++ committee’s direction and decisions. There’s no direction other than “new stuff” and that new stuff pretty much has to be in the library otherwise it will require changes that may break existing code. That’s fine.

But on the flip side, there’s a theme of ignoring the actual state of the world to achieve the theoretical goals of the proposal when it suits. Modules are a perfect example of this - when I started programming professionally modules were the solution to compile times and to symbol visibility. Now that they’re here they are neither. But we got modules on part. The version that was standardised refused to accept the existence of the toolchain and build tools that exist, and as such refused to place any constraints that may make implementation viable or easier.

St the same time we can’t standardise Pragma once because some compiler may treat network shares or symlinks differently.

There’s a clear indication that the committee don’t want to address this, epochs are a solution that has been rejected. It’s clear the only real plan is shove awkward functional features into libraries using operator overloads - just like we all gave out to QT for doing 30 years ago. But at least it’s standardised this time?


How did you spend $500 on dinner for 9 people? I hosted Christmas dinner for my family with about 10 adults and 10 kids, and it cost at most $200 divided between 5 families, alcohol included.


Dinner for twenty people at $200 is farcical in the US unless your family owns a farm or something. Going to need more details because I'm inclined to say that's bullshit.

Beer and liquor alone would blow past that figure.


No farm is needed. It's not that hard. I spent about: $25 on a chicken dish (chicken from Costco + ingredients), $15 for baked mac & cheese (ingredients from Meijer), $20 on ciders, $40 on 2 bottles of Cherry Republic wine. The other family members: $20 on raw vegetables and cheese platter; $20 on fruit; $10 potato dish; $10 vegetable dish; $15 on dessert; $15 on salad. Oh and $2 on juice boxes for the little kids (~4 from a juice box 40 pack from Costco). I'm estimating what the others spent, but that's what it would cost me to make the same dishes. That totals to $192.


"host" implies in your home, not in a restaurant.

If your version of hosting is "let's outsource it and just open the wallet", then, yes, sure, you can spend a lot of money. It ain't hosting, though. You failed the "what if I just replaced you with a bank account" test.


Yes, I know what hosting is and $200 for that many people is still farcical.


Safety critical... what? There's a word missing in the article's title.


https://en.wikipedia.org/wiki/Safety-critical_system

A lot of people in the space just drop the “systems” when talking about it.


All I can say is I hate when projects just lazily list every pull request for its change log / release notes. It makes it very difficult to discover what breaking changes there are.


That has been my concern as well. The script I wrote tries to bucket entries into categories, including "Backward Incompatible Change" so those are easier to spot. Since it is automated I am trading some accuracy for time saved, which seemed like the only practical choice for me, since I had to backfill a lot of history, but it’s been surprisingly decent so far.

I am also planning to add some PR templates so contributors include the context up front, which should make any release note generation more accurate.

Are you using any tooling to help with changelog curration? I know towncrier is all about fragments, so contributors must had write a brief summary of their contribution, which would be more in-line with your preference.


Not related really, as you can (and should) publish BREAKING.md separately. Release notes should inform more about new stuff than the update process. Usually PRs have details, so release notes can be easily automated. Migrations, on the other hand…


+1 on separating "how to upgrade" due to breaking changes from "what’s new". A dedicated BREAKING.md / MIGRATIONS.md is a really good idea.

One thing I am trying to do is make the generator surface breaking/migration items explicitly, but I still think anything that requires human judgment (migration steps, caveats) should be hand-curated in a dedicated document like you suggested.


Andy Serkis did a narration of the Lord of the Rings books a few years ago. My guess is it comes from that.


I finally decided to promote my gitignore pattern Python library, pathspec, from v0.x to v1 after 12 years or so.

I'm thinking of reviving my Python SQL parser prototype I have half done. Or maybe resume my Mako template plugin for PyCharm.


Are you sure it's not I.O. µ (micro) ring?


The u is for userspace.


Why would I regret it? I work on open source projects to satisfy a particular itch. I can work on an interesting topic in my free time and drop it if I get bored. I don't have the stress of worrying about deadlines or monetization. The fact that it sits out in the open rather than hidden away on some dusty hard drive is a perk because at least a few people have found them useful. If you can utilize their features to make money yourself, good for you. Why should I care outside of greed or envy?


What is your open-source project?


I have a few. My GitHub user is cpburnz.


Okay, I will visit.


What was Wenger thinking sending Walcott on that early?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: