HNHacker News
TopNewBestAskShowJobs

10x-dev

631 karma · joined December 22, 2020

submissionscomments
10x-dev··on Procrastinatory Doom Loops
This was an excellent read. Thank you for sharing the articles.
10x-dev··on Finding your home in game graphics programming
I've been trying to learn how to make games in my spare time on-and-off for 20 years (wow time does fly). Here's my postmortem to serve as a warning for younger versions of me.

My first mistake was underestimating how much math one needs to know. Spoiler: it's all math - mostly linear algebra. That's why any graphics / physics / gamedev book has at least one math chapter. You do need it for everything - from coloring something to making things move on the screen.

My second mistake was not making games. One would think that it would be an obvious thing to do, but it's so easy to underestimate the amount of time it takes to understand graphics programming (in retrospect, just the size and weight of the "Computer Graphics - Principles and Practice" book should have been a gigantic red flag). I ended up writing game engine code instead of game code. Being able to draw triangles on the screen is just not as satisfying for me as making cars chase each other and it also doesn't move the needle on getting a game out the door. In practice this translates to maybe reading "Programming Game AI" instead of "Real-Time Rendering" (given limited spare hours) or actually finishing "Nature of Code" instead of reading "Game Engine Architecture".

Arguably my biggest mistake was being stubborn, but not stubborn enough to persevere through all the crap. Early on I didn't want to use an engine because I generally like to understand things from first principles and I didn't understand how deep the rabbit hole went. It turns out that the first principles in game graphics are closer to a collection of progressively more horrible hacks on how to achieve realism in real time without ray tracing, because that's too slow, and how to patch all the side effects of that reality (don't drop a book on implementing shadows on your feet). People with PhDs describe these techniques in scientific looking papers, which then get discussed at large conferences, referenced in books, etc and normalized. Want to learn a new technique? Read the (dense) paper. Other people decide then to take the best hacks, accelerate them in hardware and expose them as APIs. Decades of optimizations and hacks built on top of each other pushed the entry bar higher and higher, to the point where the amount of complexity one needs to wrap their head around is just not realistic for a beginner, unless they are stubborn enough and diligent enough to persevere through all of it. I should have paid that $100 to use the Torque engine, instead of buying the OpenGL Reference Manual, OpenGL Superbible and the OpenGL Shading Manual.

Lastly I fell into the trap of buying the books, but not working on games, aka "all the gear but no f*cking idea". My shelf is filled with highly regarded books that I read and some I gave up on (because they were over my head). I released 0 games. That said it's a good way to discover gems like "The Ray Tracing Challenge" book. Learning new things is fun and addictive.

I came to the realization that I would have really benefited from having a mentor, a well defined and structured curriculum, and being a bit more humble about my own ability to jump into this field, but, most importantly, I should have just made games - crappy looking, never-going-to-make-money, but fun games. That's why learned to code in the first place, after all.

These days I am using Godot and am finding it easy to use, especially after spending all this time fiddling in the graphics world. However, having children greatly reduced the amount of time I can dedicate to this hobby.

It was rather painful and cathartic to type this out.

P.S. I tell myself I'll find time to read "Physically Based Rendering" (another book that would make a whole in the floor if dropped), "Realtime Collision Detection" (more fun math!) and the newest edition of "Real Time Rendering" (its website is a nice resource to find other graphics books to purchase and never read).

10x-dev··on C Is Not a Low-level Language (2018)
Thank you so much. This is awesome info. I'll check out LLVM MCA and I've also ordered the book. Happy holidays!
10x-dev··on C Is Not a Low-level Language (2018)
Slightly off topic question: how can I get started with pipeline models and with optimizing the instructions that get executed? What tools would one use to inspect what gets executed, trace the instructions and measure the execution time?

Could you recommend any books on this topic? Thanks!

10x-dev··on Ubisoft deleted account with hundreds of dollars’ worth of games for inactivity
You might as well remove the legality of it from the question then and focus on the moral aspect.

In the case of downloading a copy of the game you own, I don't have a moral issue with that.

However, I don't think that generalizes to any digital good. I'd say it is morally wrong to make copies of a digital good where an additional instance gets you some benefits. For example, downloading an additional digital ticket to a limited virtual event, thereby gaining access for free, or any instance where the original creator loses a sale and someone gets to enjoy or profit from said copy of the digital good.

10x-dev··on Ubisoft deleted account with hundreds of dollars’ worth of games for inactivity
It's the same argument as vigilante justice.
10x-dev··on Open 3D Foundation announces first major release of Open 3D Engine
Since you're not forced to contribute the changes back to their repo, or even tell anyone that you made any changes, the slavery metaphor makes no sense to me.
10x-dev··on Open 3D Foundation announces first major release of Open 3D Engine
This is just pointless drama. The fact is the code was open sourced under Apache or MIT and that's a great thing for everyone.

You're free to fork the code, remove all the AWS code and build your own community around it without ever caring about Amazon.

For what it's worth, as a former Amazonian who wanted to release games, the games clause did prevent me from attempting to create a commercial game, but it didn't stop me from working on games for fun.

10x-dev··on Bar-tailed Godwits regularly travel more than 7,000 miles non-stop
I don't recall the title, but I remember a documentary where an African tribe member would slow jog after an animal for about 24 hours before the animal would get exhausted, so a few hours seems on the lower end of the jogging requirements for our ancestors, but am happy to be proven wrong
10x-dev··on California bans the sale of all small off-road internal combustion engines
What's impractical about it?
10x-dev··on Pfizer's oral Covid-19 antiviral cuts hospitalization, death by 85%
I've always found it strange that some Americans focus on politeness above all.

Of all the problems in your story, the employee shouting is the least 'wrong'. You've got a woman who won't wear a mask, yourself who sneaked in without a mask, and that's just in that moment of time, but somehow the employee who has to deal with that behavior all day every day is the bad person because they lost their cool.

It's one of those 'everyone sucks here' stories.

10x-dev··on L0phtCrack Is Now Open Source
It's a cracking tool. If you never needed to crack NTLM passwords or bruteforce windows shared folder passwords over dialup, you might not have heard about it in the casual technology news.
10x-dev··on JSFuck (2012)
I went through the swe generalist interview pipeline 3 times at Google, so that's about 15 interviews. All the questions have been standard , except this one dumb question, which was along the lines of "explain how multithreading works". I suppose he wanted me to follow up with some questions to narrow down the topic, but I was stressed out enough that I just started with the basics, like cores, processes, OS threads, and shared memory, trying to explain it in simple terms. He interrupted me about 5 minutes in and moved on.

Having interviewed people myself, I think that's an overly broad question to ask in an interview and if the candidate starts answering it as asked, then you're not going to get a lot of signal from it.

Otherwise I thought the problems asked weren't that difficult, one was even directly taken from Cracking the Coding Interview - if only I had read that chapter ahead of the interview...

10x-dev··on HIBA: Host Identity Based Authorization
I would have named it Secure HIBA, i.e. SHIBA
10x-dev··on TikTokers Are Trading Stocks by Copying What Members of Congress Do
I sold AMZN at 2400 and didn't look at it for a while...
10x-dev··on Get rid of those boolean function parameters (2015)
> every bit of software that presents this program not only to understand my programming language

You can either change your program to fit existing tools, or you can build smarter tools. I prefer the latter.

> code itself is a presentation layer

Not for the tool it isn't

edit: I think we can all agree that ideally we fix this in the language itself by adding optional named parameters

10x-dev··on Get rid of those boolean function parameters (2015)
The point is that this is a presentation issue. There is nothing wrong with the model. It would not be impossible for the reviewing software to analyze source code and display named parameters.
10x-dev··on Get rid of those boolean function parameters (2015)
IntelliJ solves this nicely by showing the parameter name at call sites, effectively making it look like the language has named parameters.
10x-dev··on Facebook, Ray-Ban debut picture-taking smart glasses
I personally separate things into different categories. Weapons that can be used to kill me are in a different category from dogs that can bite me, from phones that can take pictures of me and from glasses that can film me.

People will attempt to blur the lines between adjacent categories to argue their point, but you're going from the first straight to the last, skipping over everything in the middle. That's what I call 'a stretch'.

10x-dev··on A generation of American men give up on college
You are assuming that FAANGs are representative of the general job market. The parent was referring to CS degrees specifically.

Imagine you having always bought tasty tomatoes from your local farm, and someone steps in to show you studies that determined that the generally tomatoes in the US are tasteless.

I'm also not arguing that tasty tomatoes are taking shelf space away from other fruit.

10x-dev··on A generation of American men give up on college
Why attribute malice to people at these companies when it is possible that all the challenges and disadvantages minorities and women have to surpass, in the end, result in those groups not coming up at the top, with the ultimate sorting function being the hiring process?

I see getting hired as the last stage in the pipeline, with the first stages being your family, then your education and then employment.

The more things go wrong in the first stages, the less likely it is for one to succeed at getting to the top of the next stage.

If people from underprivileged families can only afford to go to the 50% best school in the state, then to the 75% best college, then by the time they enter the job search page, they won't be at the top of the list (again, on average).

I'll use myself as an example: I had the privilege of coding for entire weekends when I was young, while my peers had to work the land. This gave me a distinct advantage early on, which I capitalized on, so at an interview with a company I am more likely to get hired than if those same peers had hypothetically applied, again because it wouldn't make sense for a company to pass on the best candidate when they are all competing for talent, regardless of race, gender, height or other ways of splitting people into groups.

I think everyone agrees that the current situation when it comes to diversity in the workplace is not acceptable, and we should definitely fix it, but in my opinion, if companies are competing fairly for talent, then that part of the pipeline doesn't really need fixing. We can instead use it as a test to see if the attempts at fixing the earlier stages result in better numbers.

P.S. This a difficult subject and I don't intend to offend anyone. Despite my relative privilege above, compared to my peers in the US, I still grew up in a poor and underprivileged family and am behind my current peers both financially and socially, so it's a topic that hits home for me.

10x-dev··on A generation of American men give up on college
My opinion is that generalist interviews are difficult but not 'extremely'. For example, here is a problem I came up with at one company:

Given a list of chapters in a video course, and a list of user bookmarks, write a function that groups the bookmarks by chapter. Chapters and bookmarks are defined as millisecond offsets from 0 (the start of the video file).

I'd specify the data structures for junior devs and let the more senior people work those out.

Your average developer that gets hired can solve and unit test the solution in less than 35 minutes. Those who don't might be having an off day, or I didn't do a good job at explaining the problem and details, or they didn't ask the right questions or who knows. The point is, a thousand things can go wrong, but the problem itself isn't that difficult. A few loops and a hashmap gets you an acceptable solution.

This and the other problems in the interview question databases at FAANGs are typical of what's in the Cracking the Coding Interview book. Whether someone's ability to solve these types of problems quickly is indicative of their skill level is a hot topic of debate, but if one wants to join these companies, then hacking the process by learning to solve algorithm and data structure problems is acceptable and not a particularly complex process. It's high overhead for the candidate, but at the very least it proves that they can learn, and learning the custom tools and code quickly is about half the skillet required to be successful at a FAANG.

10x-dev··on A generation of American men give up on college
This doesn't match up with my experience as an interviewer at several FAANGs.

HR typically wants their diversity numbers up badly so if you're gay, a woman, and/or black they are already incredibly inclined to hire you, as long as you pass the interviews.

It's not a walk in the park, but you have this going for you and it's a big advantage imo.

10x-dev··on The Persistent Gravity of Cross Platform
In my experience it's the coordination and mental overhead between the platform teams that kills productivity.

I suspect that hiring and training cross platform developers, then having them own a feature across all platforms will significantly increase speed of delivery of that feature. These are typically called feature teams and they are most effective when there are backend developers on the team as well.

The trade-off is that now the new feature teams are not communicating between each other and coordinating on the common code between them, which starts affecting productivity.

In the end, regardless of how the new VP of engineering likes to split the teams and get praised for solving the current problem by introducing another one down the road, the trade off for increased size is loss of productivity due to synchronization overhead between the people involved.

10x-dev··on Opendesktop.org – Libre Cloud Services
What guarantees do you have that running apt won't install a rootkit or that the compiler the foss source code was compiled with wasn't malicious?

At the end of the day, we largely trust canonical or the distros maintainers to not do anything malicious, even by accident.

I see Libre cloud as a similar situation, though with more avenues for larger-scale abuse. Hopefully, just like with other things FOSS, the community will validate that everything is fine and the risk is minimal.

10x-dev··on 2,400-year-old baskets still filled with fruit found in submerged Egyptian city
I think it would be really cool if we had a time slider on a product like Google Earth, where we could go back in time and see how cities and roads changed and what we think they might have looked like based on all the archeological knowledge we possess.

For example, the city in this article is currently submerged under water. What was the world like right before? How about right after?

Think of it like a visual reconstruction of all of human history. It would be fascinating.

10x-dev··on Climate change: IPCC report is 'code red for humanity'
Brilliant minds of HN, serious question: what needs to happen for us to be able to extract CO2 from the air and place it in containers somewhere? What's the root problem there?

(I'm guessing off-planet, but that can come later).

10x-dev··on My Steam Game Revenue Stats
My sincere congratulations to you on actually publishing your game and having players.
10x-dev··on Cities try to phase out gas stoves but cooks are pushing back
Mine requires a 240V outlet.
10x-dev··on Cities try to phase out gas stoves but cooks are pushing back
I wouldn't say so. I still use some of my old pans. Lots of new pots and pans even in cheap stores have the induction symbol on them.
← PreviousPage 3 of 5Next →