Hacker News new | past | comments | ask | show | jobs | submit | tinfoilboy's comments login

I believe CURL is built into Unreal as the HTTP library of choice for desktop platforms. Just to add to the mindboggling number of games that may rely on it.


I feel like I am in a decently unique situation where I learned C++ throughout my preteens and teens, and got a job straight out of high school writing C++ for Unreal Engine applications. Most of the C++ jobs I see when I look are things that I just honestly do not want to do.

I don't really mind working with the language and wouldn't mind sticking with it. But I don't want to work on financial software, as I don't want to mess with people's money. I work in a game development context right now, and may for the foreseeable future, but I also know that I get paid less than others at my same level in a different context. That part hurts with the way inflation has been lately.

I think in the end, those factors drive me away from trying to further my career in C++ and instead move toward something that would at least pay the bills in the future. I didn't start with C++ and could pivot to other languages and stacks as needed. But it would be a bit painful to know that I put a lot of time into this language to just not use it and let the experience rot.

This also doesn't factor in the numerous jobs that I have seen postings for that I am not qualified for, according to their description. It's hard to become a Senior C++ Engineer when no one is hiring a Junior to Mid C++ Engineer. Probably part of the lack of "talent" is not wanting to invest in cultivating that talent.


FWIW most of the folks who work with C++ in the financial industry are not really "messing with people's money" except in the sense of trying to exploit market inefficiencies to take it. In a typical quant hedge fund no actual money changes hands; instead, the C++ parts are there to perform analytics extremely quickly, which then feeds into an execution engine (usually also in C++, or sometimes Rust or assembly) that's sending trades to the exchange. And they're usually trading their own capital or a small set of very wealthy limited partners.

The retail financial industry, the folks like Fidelity and Vanguard that manage money for ordinary people or folks like Bloomberg that supply data for this, largely runs on Java. There are fewer foot-guns here, and you really don't want a security vulnerability that loses your customer's funds or creates an inaccurate statement.


> except in the sense of trying to exploit market inefficiencies to take it

that's precisely the bad part about it


Well yes, but the gaming industry is all about exploiting psychological efficiencies to take your money. Big Tech (in its advertising/retail/OS forms) is all about exploiting psychological inefficiencies to help other people take your money, and then taking a cut of it.


If you mean "gaming industry" meaning gambling machines, then yes. If you mean "games industry" as in video games then it's just not true that it's "all about exploiting psychological inefficiencies". There are many monetization strategies that are not exploitative that are common and even dominate in the market. Ubisoft, DLC, or Candy Crush freemium models are not representative of the whole industry.


AAA games with one-time payments are still exploiting psychological inefficiencies; there is a reason why we are evolutionarily hard-wired to pay attention to fast-moving visual settings where action is required from us.

For those who say "but I like to play video games" - yes, that's the point. Day traders like to speculate, and gamblers like to go to the casino. Your downside is capped with one-time payments, but a gambler who goes into the casino with a $20 and no other money also has a capped downside.


Arguing that one-time payments with up-front pricing are exploitative is pretty silly. That's the basis for the entire economy since we invented money thousands of years ago. If it's exploitative then you're basically lumping all economic transactions into the same bucket, which makes it fairly meaningless.


> That's the basis for the entire economy

this close to getting it


so gaming addiction is also a silly argument?


Unless you're selling me living in a cave foraging for nuts and berries, you're trying to exploit some psychological inefficiencies.

I do get what you're saying, but if you take it this far then literally everything sold is considered exploiting inefficacies, psychological or biological, and it's kind of a useless statement in the context of comparing markets, only useful as part of an overall critique of capitalism.

All I meant was the games industry gets a very bad rap for being dopamine driven skinner box design and it simply isn't true, and being in the industry for 15+ years I have met very few people who are comfortable exploiting psychological effects for gain. If I was in a different part of the industry I probably would have met a lot of people who ARE comfortable with that. It is there. But it is far from "running solely on" that attitude.


Sorry what’s bad about making profit from market inefficiencies?


It’s not something that drives obvious value for people.


Don't throw rocks in a glass house, a lot of shit software engineers do does not stove obvious value for people.


Hey, I'm not giving software engineers a free pass either.


How does your employer pay you if they don't take money from anyone?


Of course they take money, but they hopefully also create real value.

Providing liquidity a fraction of a microsecond faster than a competitor doesn't seem like real value to me, more like a cover story so that politics doesn't outright forbid high-speed quantitative trading.


Ahh classic. Obviously only these financial firms are the only ones not creating value.

Those social media companies, start-ups people do for venture capital cash grabs, Web3, and addictive mobile games all create such value.

EDIT: Okay, as the replies mentioned, OP did not make this argument. I still feel it’s valid, as a lot of big tech is neutral/worse for society, yet they are some of the loudest critics of low latency liquidity.


This is a strawman argument. GP never claimed what you stated.


I don’t see that being argued.


By providing a service to customers, rather than finding ways to skim money off the top of markets?


If you ask most financial institutions they would say the service they provide is "liquidity" - they let you put your money in or take your money out at any time (in exchange for securities), as well as make decisions about where you want to allocate your capital based on your personal view of the world.

This always fell a little flat to me (hence why I left the financial industry early in my career), but it's pretty analogous to merchants or retail. What service does a storefront provide, other than marking up the wholesale price of a good by 3x? They offer convenience - you can buy anything you want at the time you want it just by picking it up and swiping a credit card, vs. having to contract with a wholesaler for delivery, which might be months in the future, at a place that's convenient for the wholesaler, and needing to buy in quantities that no individual really needs. So it is with brokerages & exchanges - they let you buy any security with a couple clicks of a button, vs. needing to get an ISDA and pay a lawyer to write a contract, plus find someone else that wants to trade with you, plus take on the risk that your counterparty goes insolvent. And so it is with market-makers like Citadel or Jane Street: they ensure that you can always find a buyer for your securities (for a price), and that you don't have to worry that about simply not being able to sell stocks at any price.


> If you ask most financial institutions they would say the service they provide is "liquidity".

I've honestly never understood this. Economics 101 teaches us that artificially manipulating supply (liquidity) is at direct odds with a free market's ability to do price discovery. If there is effectively infinite supply of any security (because all these high frequency firms are instantly hedging out the risk against their entire portfolio), why should anyone believe the NBBO? It's just a made up fantasy number at that point. It doesn't represent what the real security is worth because there are an infinite number of buyers and sellers willing to transact at any moment.

It really does feel like an enormous grift.


HFTs and other market makers are time- and risk-shifting supply & demand. In a functioning market, you can always find someone else to take the other side of the trade if you wait long enough, but you may not be able to find them now. Particularly in market panics, where all the buyers tend to disappear at once.

What a market maker does is say "Sure, I'll take the other side of the trade - right now, at this price, even though I don't actually need or want the security. And I'll take on the risk that I might not be able to find a counterparty later. I trust my knowledge of the market enough to believe that the price I've offered you is one where I can profitably unload it later." And if they're wrong about gauging future supply & demand, they go bankrupt. Markets function on survivorship bias; repeat this cycle for long enough and the only market makers left are those that are extremely good at gauging future supply & demand and using it to set spot prices.

On some level, they're arbitraging risk & rationality. A retail investor makes a trade that is locally rational - perhaps they need to sell stocks to pay taxes, or purchase a home, or they've lost their job and need a savings cushion. And many of these events affect multiple people all at once (eg. everyone paying taxes on Apr 15, home sales peaking in the spring and declining in December, a recession causing people to lose their jobs all at once), which leads to temporary declines in demand that don't at all reflect the discounted value of all future cash flows of the stock market. Market makers smooth out these fluctuations, buying & selling stocks when it's globally rational based on the fundamentals of the companies and holding inventory when short-term supply does not match long-term supply.


> HFTs and other market makers are time- and risk-shifting supply & demand. In a functioning market, you can always find someone else to take the other side of the trade if you wait long enough, but you may not be able to find them now. Particularly in market panics, where all the buyers tend to disappear at once.

Time shifting risk would be perfectly fine if market makers had to play by the same rules as everyone else in the market, but they don't. They get to ignore certain rules, which results in distorted prices because they can effectively accept infinite risk over an infinite length of time.

Let's say there's suddenly a run-up of $WEN and I, as a retail investor, want to short it because I think the price will surely come back down eventually. If it continues to go up, ultimately I get margin called and have a very short period of time to produce a lot of money to keep that trade open, otherwise I'm liquidated. There is a (risk * time) maximum before I, the retail investor, ultimately go out of business.

Market makers are exempt from this. They are legally permitted to short stock by conjuring phantom shares from thin air without having to locate borrows to satiate the buying demand during the run-up and wait effectively an infinite amount of time to repurchase the shares. There is no limit to their (risk * time) budget. Better yet, when the underlying company ultimately goes bankrupt from the stock being cellar boxed into the ground, the market maker can just wrap up all the worthless, sub-penny shares into a zombie holding company which lives forever, so they have never close the trade and actually pay taxes on the ill-gotten gains. Meanwhile, nobody seems to bat an eye at tens of billions of "securities sold, not yet purchased" on the market maker's balance sheet, because hey, as long as the SEC remains a wet noodle thanks to regulatory capture, they'll never get charged with fraud and the music keeps playing.

It's a system that has been deliberately structured to screw over average retail investors and concentrate wealth behind a few large market making firms, which incredulously all have their own hedge funds (which is somehow not seen as a hilariously brazen conflict of interest). Whenever anyone asks why all this complexity is necessary, the "We provide liquidity, so you can trade right now, for free!" line is trotted out and they hope you go away so they can continue running their shell game. Our markets have become addicted to this fake liquidity, which is ultimately backed by an infinitely expanding risk balloon. As long as the balloon never pops, the game is still on.


> artificially manipulating supply (liquidity) is at direct odds with a free market's ability to do price discovery. [...] there are an infinite number of buyers and sellers willing to transact at any moment.

No, there are not. There is a limited (and not really that large) number of active participants in any given market segment, and the 80/20 rule holds among them pretty well too. Thanks to Money Stuff it dawned on me recently that market makers are not really providing liquidity. They provide immediacy. Buyers and sellers have to meet not just in price, but in time too.

The spread paid by market participants should be seen as their baked in commission for providing a very specific service: reduced wait time. We can certainly disagree about the societal value of what that service has morphed into, but the reality is that for other than the most liquid[ß] assets, participants are willing to pay extra for the ability to transact NOW, and not in some unspecified time in the future.

My personal opinion is that NBBO is an imperfect mechanism to set upper bounds to these commissions. In other words, it limits how much retail transactions can be fleeced for.

I am without a doubt a retail investor: I generate maybe three transactions a year, and I'm happy to pay something like 0.15% to 0.25% transaction fee each time, in the knowledge that I am getting a fair price at the time. To me that is a reasonable cost of convenience. My transactions are so small compared to the trading volume that they have zero price impact: in purely financial terms I could be paying a smaller commission if I set up the limit order thresholds myself - but that would take more time and be less convenient.

[ß] Read: continuously traded in very large quantities


The average retail investor just does not need that much liquidity, especially if they're not buying individual stocks (which by and large they shouldn't be).


And the average retail investor pays pennies to market-makers - if a typical spread is 1-2 cents and you make 5 trades a year, you've paid between a nickel and a dime.

As with advertising, when you sum up dimes across hundreds of millions of people, it becomes an appreciable amount. Particularly when you also include trades made by institutions on behalf of retail investors. Your 0.5-1.5% management fee on an actively-managed mutual fund is partially going to pay salaries for the fund manager, and partially toward brokerage commissions, spreads, etc. for the trading itself. And mutual funds care a great deal about getting liquidity when they need it, since they're in breach of contract if a flood of redemptions come in and they can't liquidate assets to pay them.

(Market makers are also analogous to the credit card industry in that a small fraction of dumb people subsidize a large number of fiscally responsible people. If you get a rewards card with no annual fee and always pay it off on time, you turn a profit, paid for partially by merchant fees and partially by idiots who carry a huge balance at 25% interest rates. Similarly, if you buy-and-hold a good stock or index fund, you're making profits far in excess off what the financial industry can skim off you. The suckers are largely made up of day traders, wage slaves who can't save anything, and underfunded pension funds with principal agent problems.)


> Your 0.5-1.5% management fee on an actively-managed mutual fund is partially going to pay salaries for the fund manager, and partially toward brokerage commissions, spreads, etc. for the trading itself.

Good post but your management fee isn't generally paying for crossing the spread. That's extra slippage.

It may show up as tracking error in the fund (the price was 10.25/10.26, the fund had to buy, it bought at 10.26 and the index trackers said the price was 10.255, it had 0.5c of slippage). But more likely the fund traded in the closing auction, there was only one price so it officially had zero tracking error, but the price was silently a little higher than it would have been if the fund wasn't buying.


Levelling prices between markets is a useful service. Eventually the amount being skimmed is tiny and regular consumers are much more likely to be getting a fair price without having to shop around.


Just try imagining in what ways the world would be different if financial markets were very slow and inefficient.


Exploiting information asymmetries to funnel other people's money into your pocket before or without them knowing it. No value had been generated, it's just extraction.


Bloomberg is actually mostly C++.


Google, Amazon, & Microsoft are nearly always hiring talented C++ engineers.

So you're not limited to finance. Quite the opposite.

I'd be surprised if the majority of C++ jobs had anything to do with finance.


Yeah but then you go in to interview at these places and someone who only programs javascript or python will ask you to answer a contrived whiteboard question by hand that involves manually writing out verbose C++-isms like "std::unordered_map<uint64_t, std::string_view> hashmap;".

I went through a day of interviews at Facebook once where not even a single person interviewing me worked in C++. A lot of the interview cycle consisted of me answering basic syntax and STL questions or clarifying my handwriting which made it extremely difficult to finish the problem in the allotted time.


I interviewed at Facebook using C++ and didn't have any issues. I guess maybe you were just unlucky. There are thousands of interviews so it happens that some are bad and you might get them.

And if you think C++ is too verbose I guess you've never interviewed in Java?

Personally when I interview people I don't care about specific syntax details. I do have at least a passing familiarity with 99% of common languages though, I think only once (out of ~500 interviews) did someone use something I had never seen before.


Google interviewers sign up for particular languages and are expected to have proficiency in the language. As an interviewer, I also allow a lot of abbreviations (so long as we agree during the interview what they are) and I expand them in the digital writeup. That makes large generic types in Java/C++ a lot easier to interview with.

"Can I use AL for ArrayList?" "Go for it"


Too bad Google, Amazon, & Microsoft just shrank their workforces in response to the no-longer-zero interest rate.


Only finance and game dev was a little bit of hyperbole. I do see other jobs for like aerospace or GIS, at least looking at job postings on LinkedIn. Though I most assuredly do not have the requisite skills outside of just C++ to work in those fields.

I think big tech has the same issue where they don’t want to cultivate talent. I doubt Google or Microsoft would consider me at this stage in my career because I lack a college degree.

I will say that I do get recruitment emails from Amazon, though I’m sure those are just shotgun blasted to anyone with a pulse and a LinkedIn.


> I doubt Google or Microsoft would consider me at this stage in my career because I lack a college degree.

Don't know for sure about Microsoft - but if you can get a referral at Google, they will definitely consider you. A college degree definitely helps you get to the interview stage, but doesn't do much more than that. A solid referral pretty much guarantees you an interview.


You can also work on rockets! SpaceX flight software is all C++.


I wonder what percentage of devs would still want to take a job for Elon Musk on normal competitive terms, though. I would demand getting the severance pay up front for example.


yeah im starting to get into the mindset of "fuck doing what you love, just get hobbies"

Ultimately, working in these high paying jobs lets you have a lot of great hobbies and enjoy life. Get a job with a decent work-life balance, and use the rarity of your skillset to make the crazy cash, retire early, make your own game company if you want.


I think both ends of that spectrum are fine. If you really do mostly love your work, and you can afford necessities, then that is just as good as getting paid oodles to do a job you don't hate that gives you time and money to do exactly what you love.

The traps are convincing yourself you love your job more than you actually do, or that you don't hate your golden handcuff job and the hours won't always be this crazy...


And paying the opportunity costs. "Oh man I love working on this game, surely someone will recognize me" all the while putting major life things on hold, like having a kid, or securing your future.

I know a guy who LOVES his job/company and knows he's underpaid. But he's set. Has zero plans on having kids. Has his own place. 100% secure. So he can afford to do whatever. But many who have bigger goals in this economy have to follow the money.


Tip: Amazon Games pays above game industry standard, hires for Unreal skill, and has options for good work/life balance. (Like any large company, it can depend on the particular game team. Moving to other teams is generally supported, if the needs and skills match up.) And answering one of the other sibling replies: if you apply for one of the games reqs, you'll be interviewed by members of the game team that posted the req. If it's a C++ role, you'll be interviewed by someone who uses C++ on the job.

You will benefit from doing your interview homework first. Make sure you know the Amazon Leadership Principles by heart, try to have 2-3 solid examples at the ready of how you exemplified each one (some matter more than others), and be comfortable solving little programming challenges (I'm sure it's happened but I've never seen some of these Google-esque obscure tree challenges get asked). Lots of good Amazon interview material out there, I recommend reviewing it. Also, I hear some recruiters can help you prep.


The problem is that all the titles Amazon Games has developed were either flops on release or were cancelled, and the reason it’s still alive is probably because of its parent company having too much money to spend. Maybe it’s the “corporate” Amazon culture having a bad influence to the studio’s creativity… But really they seem to have no idea on how to make a game that people would like.


Yep, we have a lot to accomplish. I can only speak for my own experience but I've enjoyed the ride so far. And if Games gets old for you, broader Amazon is also supportive of transfers. Amazon's got a zillion interesting projects going, so there is a lot of opportunity to scratch whatever random itch you get. (Many use C++!)


How's your work-life balance? I worked in the games industry a couple times, at Activision in the 1990s and later at Rockstar, and like almost the entire industry, everybody was in crunch mode almost all the time. I remember when the list of holidays came around one year, Christmas was on a Saturday so they gave us Friday off. Someone asked if we were also going to have the Saturday, Christmas day, off.

Programming is essentially solving puzzles, so you can find the work interesting even if the topic area isn't interesting. No seven year old says "when I grow up, I want to write a memory allocator!" but doing it well, with as few CPU cycles as possible, without fragmenting memory too much, is an interesting challenge.

I wouldn't worry about what people have in their job descriptions. There's a quote from John Carmack about an ad for a Oculus dev that he technically wouldn't qualify for, and DHH who invented Ruby on Rails, was called by a recruiter asking whether he had 10 years of Rails experience when Rails was only 9 years old. A "Senior C++" engineer might just mean more than 2 years of experience with C++, who knows.


Considering that this has nothing to do with actual repository readmes, and instead about the github feature where you can have a `README.md` file for your profile, I doubt this would have any weight in your decision at all :)


Works pretty well with the C++ extension and the cmake-tools extension. Though at some point I ended up just swapping to invoking CMake from the command line.


I haven’t found a good CMake linter, do you use one?


Vim isn't as obtuse as it's made out to be. You can learn Vim pretty easily, enough to match the usability of other editors, pretty quickly. Past that, you can learn the actual powerful commands, where it actually shines.


You can always list alternatives for Facebook, but the problem comes in actually replacing it. Facebook isn't popular for being a well designed website, if you think about it, Facebook is a very bloated and clunky experience. Facebook is popular because that's what everyone uses.

I think the issue isn't about finding alternatives to it, it's convincing the people completely entangled in the Facebook ecosystem why they should jump ship. Another issue comes with, a number of people don't use Facebook, but they use Instagram, which is just a rebranding of the same evil at this point. Getting people to switch from that would prove tough.


Exactly! It makes no sense to switch to something else if all your friends are still on Facebook.

Also, who knows if the app you switch to will have less problems in future than Facebook does now.


Wasn’t that what people said about MySpace? And business analysts see weakness in fb for that reason too, they’re vulnerable. Just look at snap’s users leaving to see, stickiness works both ways: as soon as something better exists, people switch quickly


I like the interface and overall design a lot. But for the player, there isn't a dedicated full screen button, nor is there volume control, two things that for music videos and music in general are pretty much needed.


This is super impressive! Nice work.


This is a bot I made for a couple of servers that I am in that allows a user to associate their Last.fm account with their Discord account (works across servers) and then allows the user to pull data from their Last.fm. Currently this data is the currently playing track (or the most recently scrobbled track), as well as a 3x3 chart of their most listened to albums in the last week.

I made this using Node.js and the Discord.js library because the Last.fm bot that we used previously (fmbot) was becoming unstable and we needed a more reliable alternative.


While I do agree with the idea of outputting HTML quickly, I think that in the end I'd want to emulate the DOM more closely. For instance, I've been thinking about adding a simple parser to the library so that I could use it in making a web scraper. With a replication of the DOM, I could then easily find nodes that I'd like to grab from the scraper. In addition, I was also thinking of adding actual element grabbing via selectors a la CSS, which would require a DOM representation.

However, the helper types could be useful, and might be able to be implemented as simple aliases to a Node. Also, the reason I take the approach of appending child nodes is for representing actual HTML easier. For instance, with your .text example (at least with my limited glance on it), you can't do something such as <p>Hello, <span>world!</span> Welcome!</p>, which was actually a previous problem that I had with another version of the library.


You would implement that like this:

    HTML::document d;   
    HTML::p p( d );
    d.text( "Hello, " );
    {
        HTML::span s( d );
        d.text( "world!" );
    }
    d.text( " Welcome!" );

Obviously though, if you were trying to do an HTML parser as well, then my ideas are not appropriate.


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

Search: