HN user

psahgal

270 karma

Senior software engineer for Blue Origin by day, game developer by night. Full stack engineer with experience in web, mobile, and backend systems. Based out of Chicago.

LinkedIn: https://www.linkedin.com/in/praneetsahgal/ Github: https://github.com/psahgal

More about Kin + Carta: https://www.kinandcarta.com/en-us/ More about Solar Command: https://solar-command.com/

Posts0
Comments43
View on HN
No posts found.

Unity and Godot are the most popular choices, based on my time spent hanging out with other indie developers. If your game is a 2D RPG, RPG Maker is also a great way to get started. You can also use GameMaker if Unity and Godot seem intimidating.

I took 3 months off last year to get a game project finished up and released to Steam! Glad to see other indie developers here on Hacker News. I can't commit to weekly meetups, since I'm back at my job full-time, but I wish you the best of luck on your game!

I have a bachelor's in Computer Engineering from University of Illinois at Urbana-Champaign and several of my courses covered how computers work in detail!

- ECE 190 and ECE 290 covered basic programming, logic gates, and the basics of software processor architecture.

- ECE 391 (one of the hardest courses in the school) covered x86 assembly and operating system design. The capstone project for the course was to build a simple OS with terminal input.

- ECE 411 covered processor architecture in detail, and how a modern x86 processor is built.

There should be courses from other universities that cover the same topics. Here's some similar courses I found on MIT's OpenCourseware platform.

- Computation Structures covers logic gates and other standard electronic constructs. https://ocw.mit.edu/courses/6-004-computation-structures-spr...

- Operating Systems Engineering covers fundamentals of operating system design: https://ocw.mit.edu/courses/6-828-operating-system-engineeri...

Best of luck!

I'd just like to say "thank you" to the moderators for helping make Hacker News such an interesting site. I've been reading Hacker News for years and it's really helped me keep on top of emerging trends in technology! Sometimes I've seen tech news hit Hacker News before even the major news outlets have a chance to report. It's pretty impressive. Keep up the good work!

If you've been working at the same company for a while, ask your HR department if they have a policy around a leave of absence or a sabbatical! You can take a few months off to build a prototype of your idea, test it out with some users, and then decide whether to return to your day job or continue with your startup idea full time.

This will be much less risky than quitting your high-paying job and going all-in on a startup idea. Many startups fail for a variety of reasons, besides just poor execution.

Whatever you plan to do, make sure you have a backup plan.

I came to the same realization that Apple doesn't seem to care when I started learning how to build apps on iOS.

Coming from Android, I was used to having high level conceptual guides on the core building blocks of the framework. In the Android docs, I found detailed explanations of Activities, Fragments, Views, and other major components. It was relatively easy for me to get started, and the system was designed to be extensible. Google even published blog posts regularly, which I could use to learn more about design decisions.

When I made the jump to iOS, though, it was difficult to find parallel documentation for what I was looking for. At the time (this was 2015, mind you), I couldn't find anything beyond API documentation for ViewControllers, Views, Core Data, etc. Most of the major documentation existed on third-party sites like NSHipster. Not to mention code signing. I'm pretty sure I'm one of handful developers at my firm who knows the system well enough to explain how it works...and that was after 2 years of working in iOS full-time.

I doubt that Apple will prioritize the developer experience on their platform anytime soon.

Edit: In case anyone wants to see the difference...

- Google's guide on Activities: https://developer.android.com/guide/components/activities/in...

- Apple's guide on View Controllers: https://developer.apple.com/documentation/uikit/view_control...

The Engineering Quad at the University of Illinois at Urbana-Champaign is also named "Bardeen Quad" in John Bardeen's honor.

I haven't been back to my alma mater in a while, so my memory may be fuzzy, but I remember there was a plaque on the southwest end of the quad commemorating his achievements. I hope it's still there!

When I was taking my introduction to semiconductors class in junior year, I thought it was pretty cool that we were studying a subject that one of the university's professors helped invent.

If your manager listens to the engineer who says "Kubernetes is awesome and does all the things!" and doesn't listen to the engineer who says "I think Kubernetes is a bad idea for this project because x, y, and z", then yeah, it's time to find a new manager. Good managers listen to good advisors.

I find that the best senior engineers don't say "if you're not using Kubernetes you're a moron" and "learn how to sysadmin and you'll realize you don't need Kubernetes in the first place", but instead say "Kubernetes is fantastic for this use case because of these reasons..." and "sysadmin would be easier to use than Kubernetes for this problem because of these reasons..."

I'm not sure how one gets software engineers to justify and back up their decisions like this on a regular basis, but I suspect it would help management trust their engineers more.

I found your point of view interesting, so I did some research. I found this meta analysis in favor of masks that had a lot of good sources: https://www.pnas.org/content/118/4/e2014564118. A few highlights:

- There aren't any good randomized controlled trials to tell how well mask wearing works due to ethical concerns of experimenting on pandemic prevention methods. I could see why researchers would be reluctant to force people NOT to wear masks during a pandemic, since there's a good chance they could be putting people in danger.

- Several studies found that wearing masks are effective at reducing transmission of other respiratory illnesses, so I could see why the CDC issued guidance on wearing masks when faced with a respiratory illness like COVID-19.

- There's also randomized controlled trials referenced in the analysis that suggest masks are effective at reducing the occurrence of influenza-like illness.

I'm looking for studies that suggest face masks are ineffective, but I'm not finding a whole lot...I found a few websites claiming that masks were ineffective, but upon closer inspection, the studies they were citing compared N95 masks to standard surgical masks, not masks vs. no masks. I would love to read any studies you find suggesting that masks are ineffective at reducing the transmission of respiratory illnesses!

The guidance Fauci gives in this video is in line with what I read in news articles back in March 2020. I was surprised the article suggested Fauci lied to the public as a result.

I wonder why this explanation got buried. Perhaps the lesson here is that rather than blaming experts for occasionally getting things wrong, we should focus on promoting media literacy instead, so that people get accurate information they need.

I'm surprised that there was data suggesting that masks could be harmful, especially since the prevailing guidance for a year now has been to wear masks to reduce airborne transmission. Would you happen to have a link to the studies you mentioned?

I think the journalists heard the nuanced explanation from the experts on the mask recommendations, instead of the simplified one that is criticized in the article. Journalists have biases and a media diet too, so it's possible they heard the whole story from the start and didn't see the controversy.

Personally, I'm surprised this article suggests Fauci lied, because I definitely remember reading about the full explanation behind the CDC's recommendation against public mask wearing way back in March 2020. I remember reading that the recommendation against public mask wearing was mainly due to supply chain concerns, and that the general public should use improvised masks instead, if they can.

...maybe a lot of people only heard the short soundbites instead of the full story...? I'm just speculating here.

The process isn't a silver bullet. I've worked on scrum agile projects for 5 years at a consultancy, for a variety of projects and clients, so I've seen it work and I've seen it not work.

Scrum agile works when...

- People keep standup updates short and sweet, so standups take 15 minutes or less.

- Your team has a single product owner who speaks to customers and is empowered to make decisions.

- Team members invest time and energy into backlog grooming/refinement, ensuring stories are thorough and have good requirements.

- The team retros regularly to address issues.

- The team communicates often outside of the regular ceremonies, so that meetings stay focused.

Scrum works poorly when...

- Standups turn into 30 minute to 1 hour "status" meetings where everyone brings up every question they have.

- The product owner isn't empowered to make decisions, or your team has multiple product owners who decide by committee.

- Team members are disengaged or not even consulted during backlog refinement, and stories are missing critical requirements that you have to deal with in the middle of the sprint.

- Retros get cut because "there's not enough time".

- Nobody talks outside of the regular ceremonies, so meetings drag on forever.

Scrum agile doesn't work for every organization and every project. Sometimes company culture is too hard to change. Sometimes the work you're doing can't really be done in an agile way. Sometimes the organizational structure makes it hard for a scrum team to work without consulting multiple layers of bureaucracy. (That's my project right now, and it is NOT fun.) When that happens, you have to either relax the rules of scrum (being careful to avoid the pitfalls I mentioned above), or adopt a different process altogether.

AWS CloudShell 6 years ago

I have found the Cloud Shell on GCP to be much more convenient for a few reasons:

- You have to install CLI components piecemeal on GCP, and sometimes need to opt into beta features. With the Cloud Shell, it's all preinstalled for you.

- You have to "log into" the CLI if you're running it locally, which can be a minor annoyance. (I know the AWS CLI doesn't have this issue, as it doesn't use OAuth for authentication with the console.)

- All of the data transfers in Cloud Shell are happening between machines in Google's data center, so you get gigabit speed file transfers in the Cloud Shell. For example, this is super useful when you need to download a large bucket to a working directory to make edits to multiple files, or if you need to run scripts that pull and push to/from Cloud Storage.

I think a Cloud Shell for AWS is a net positive! It can make some workloads easier and reduce the amount of configuration you need to do.

AWS CloudShell 6 years ago

One of the first things I noticed when trying out GCP after working on AWS for a few months was how clean and consistent the user interface was. Your comment definitely explains the poor UX on the AWS console!

AWS CloudShell 6 years ago

Are you talking about the button in the LightSail interface to open up an SSH session in a browser window? Cloud Shell on GCP is slightly different, in that it gives you a preloaded, preconfigured machine to perform tasks on the command line that you would normally do with the GUI.

AWS CloudShell 6 years ago

I didn't realize AWS didn't have this already! I've been working exclusively in GCP for the past few years, and I assumed the two platforms were at parity. Is AWS starting to lag behind in new features?

I agree with your argument that the policies on iOS app development are similar to the policies enforced by console manufacturers. I think any regulation pushed onto Apple to open up the App Store will actually affect the home console market, too.

I'm just struggling to figure out why the PERCEPTION is very different between iOS and the home console market. It feels like many iPhone users do not believe their smartphone can be substituted with one from another manufacturer. Those same users also complain that they're locked into the App Store. (I think there's a few people in the comments here that have done exactly that.)

At the same time, the majority of mobile app revenue is coming from iOS, which is pushing app developers to the platform, even though they dislike the terms of the App Store.

I'm not sure what the solution is here, but an ecosystem with a large number of members who are unhappy with the status quo doesn't seem very sustainable.

I think Amazon, Microsoft, Facebook, and Google would also be considered iOS developers, since they publish apps on the App Store. So in terms of market value, Epic is definitely not the biggest player in the Apple ecosystem.

Although, if we're going by how popular the apps are on the store...I could see how Epic would be considered a heavyweight on the App Store.

This IGN article from 2019 has a good summary of how much each digital storefront takes in revenue cut! https://www.ign.com/articles/2019/10/07/report-steams-30-cut...

Nintendo also takes a 30% cut, although it used to be 35% for WiiWare games. This does NOT include the cost of acquiring development hardware, which usually sets you back $1000 at most. 30% is actually the industry standard; Steam takes 30% and Epic Games takes 30% for smaller titles.

Regarding your comment on captive platforms, I think there's a bit of a difference between a home console and a smartphone. A home console is considered a luxury item, while a smartphone has quickly become a necessity in today's connected world.

For home consoles, market competition is fierce. Not only is there Nintendo, Sony, and Microsoft, but there's also the PC gaming market, which includes devices in a variety of form factors. There's also multiple storefronts. You can buy console games from physical stores, in which case physical retailers take a cut, purchase Steam keys from other vendors, trade physical games, etc. In summary, there's a lot of ways to acquire your games.

In contrast, smartphones are seen as a necessity by many, and there are really only two options: Android or iOS. Each has a dedicated storefront that captures almost their entire user base. This gives Apple and Google a LOT of power over what people can run on their devices, and it practically gives them a guaranteed source of income. I can see why people's attitudes are different towards the Apple/Google duopoly, and that few people are complaining about Nintendo's monopoly on the eShop.

You are correct that Epic Games made 5 billion dollars in revenue in 2019, according to Venturebeat [1]. However, Apple Insider reports that Apple made 59.7 billion dollars in revenue in their third fiscal quarter (March, April, and May) of 2020 [2].

Epic's definitely not a little guy, but compared to Apple, it looks more like a respectable medium-sized company.

I find Apple's revenue numbers and market value truly staggering. Few companies seem to be able to compare.

[1] https://venturebeat.com/2020/06/15/epic-games-shareholders-s...

[2] https://appleinsider.com/articles/20/10/26/what-to-expect-fr...

Git is too hard 6 years ago

While this is a wonderful explanation for a person already familiar with mathematical concepts such as groupoids, torsors, and directed acyclic graphs, I think that this explanation is really unfriendly for the layman/novice developer who's just trying to get their changes up on Github.

Git is too hard 6 years ago

I agree that Git is hard, but with the right explanation and a good graphical GUI like SourceTree, I've gotten non-technical team members up to speed on it!

I think the hard part is explaining the distributed nature of the tool, where your branches are completely separate from the branches on the server. When I'm explaining it, I usually talk about branches as work streams, and merging branches means merging work together.

What kind of things tend to trip people up when explaining Git? Maybe I should write a blog post or something...

I don't think Google does consulting or specialized training like this for Android.

For Google Cloud Platform, they partner with other companies (like the one I work for) to help with GCP setup. This partner program was started in the last few years, so I don't think they were doing this for Android back when Android development was new.

Also, the company I work for spent a lot of time building Android apps for Fortune 500 companies, so I feel like I would have heard about it. Our clients would have benefitted from having Googlers build Android apps and train people!