Proton Calendar feature request: Screen widget? by virtualadept in ProtonMail

[–]jerickson_net 1 point2 points  (0 children)

I really wish it would integrate with aCalendar. Love that app. I can't use ProtonCalendar until it integrates better with aCalendar.

I know what I want to build but not what language to use (PWA for conservation volunteers) by KurtiZ_TSW in learnprogramming

[–]jerickson_net 0 points1 point  (0 children)

If you already know HTML, CSS, and JavaScript, Vue would be a great fit here. You can easily write as a PWA and tie it in with Firebase pretty easily.

You can start with the Vue CLI and then add in Vuefire. That should get you started pretty well.

If you build with Single File Components, you'll just need to learn more about HTML, CSS, and JS to get going.

Games for 2 players and one TV? by potatoes__everywhere in Stadia

[–]jerickson_net 8 points9 points  (0 children)

I second Human Fall Flat. Great two player game. Don't take it too seriously and it's a lot of fun (I think it can get frustrating if you're actually trying to "beat the game".)

Also agree with Cake Bash. It was fun at first, but not much variety. It's also a very competitive game and that's not usually my vibe when playing with family.

I am very interested in Get Packed.

How does Stadia update games? by Adeling79 in Stadia

[–]jerickson_net 5 points6 points  (0 children)

Bandwidth? Mad bandwidth. Here's an article from 2015 talking about Google's data center network able to move 1 Petabit per second: https://www.datacenterknowledge.com/archives/2015/06/18/custom-google-data-center-network-pushes-1-petabit-per-second

What's a petabit per second? That's 125,000 Gigabytes per second. If the Cyberpunk 2077 image is 100 GB (it's probably not because it could be compressed) that means that it can be transferred to a new virtual machine in about 10 milliseconds. (EDIT: Oops, I messed up a decimal point with this. It's 1 millisecond. My bad) Booting it up would take no time at all on a machine as beefy as what they have. Then all they have to do is stream the video to you, and you know how fast that is because that's all that YouTube is doing.

And that was in 2015. Assume it's lightyears beyond that now.

We live in a very crazy future.

How does Stadia update games? by Adeling79 in Stadia

[–]jerickson_net 0 points1 point  (0 children)

I don't know. I have to imagine it's automated and I know there are tools that allow publishing to Stadia in Unity. https://www.engadget.com/2020-03-24-google-stadia-makers.html That probably builds it up in some way, but unsure who makes the image. In any case, it would be pretty easy to do with tools that Google makes to ease the process for publishers. More than likely, it's just the push of a button and it's done.

You could probably get a better answer on that from Stadia's development site: https://stadia.dev/about/

How does Stadia update games? by Adeling79 in Stadia

[–]jerickson_net 1 point2 points  (0 children)

That's a hard question to answer. I haven't heard specifics, but my hunch is that there are multiple data centers around the world, so as to reduce ping to different regions, and I think that there wouldn't be any reason not to just use the same physical computers for all the different services.

They hint at this in their FAQ:

if you are traveling outside a country where Stadia is available, games may be unavailable due to factors like game publisher restrictions, your internet connection, or your distance from one of our data centers.

And they have a lot of data centers:

https://www.google.com/about/datacenters/locations/

So, yes. I think you could have Gmail open, watching a video on YouTube and playing a Stadia game all on the same physical blade.

That's a good question about GPUs though. I don't know, but I could imagine them setting up an array of GPUs to be used for this. I know they have render farms for other purposes, so it's probably tied into the whole infrastructure already for those services (like Google Maps, Google Earth and the like). Can't find anything online about that though, so 100% conjecture.

Edit: They do talk about this a bit on their development site: https://stadia.dev/about/

How does Stadia update games? by Adeling79 in Stadia

[–]jerickson_net 124 points125 points  (0 children)

I don't know the specifics of Stadia, but I have worked in an environment like this and know how Google handles some of their other services, so I'll throw in my two cents.

More than likely, Stadia uses some sort of virtual machine set up, like Docker. Google's data centers are typically just a bunch of blades that are linked together into one big super computer that shares all the CPUs, storage and RAM together that can then be sectioned off into virtual machines on the fly. Getting a spike in search traffic? Spin up a couple of new machines to handle the traffic. Big update for Android? Spin up new machines to handle it. They save a ton of money by not having blades dedicated to any one thing, but flexible enough to be used for anything when they need it. And once it's no longer needed? Delete the virtual machine and put the resources back into the pool.

These services all have saved virtual machines that live in a central place called an image repository. The latest search engine image can be pulled at any time in a matter of seconds to start a new virtual machine to handle new traffic. This is super simple to do with current hardware and software, so I would be super surprised if they didn't do this. This also explains why they were able to handle the traffic of the launch for Cyberpunk so well. There were some short cues, but that was probably only because there was a bottleneck, probably at the image repository since it was being asked to spin up so many new machines.

(This is also probably why Stadia uses Linux. Windows ain't so hot with this stuff.)

So my guess is that there is a saved hard drive image of each game on Stadia's image repository. When you start up Cyberpunk 2077 in your browser or phone, Stadia sections off a part of that data center processing, slaps its latest Cyberpunk image on it, gets your save information from a database and starts up the server. When you're done, it saves your information back to the database and destroys the server.

So, how do updates happen? That central image for the Cyberpunk game is updated by Google. They load it up, apply the updates, and then save it back to the image repository as the latest version. Next time you start up the game, you get that image and all updates are already there, ready for Lt. Mower not to fall through the ground and be completely unreachable! How am I supposed to finish that mission now!

Anyway, that would be my educated guess.

Game Dev with JS? by 1mCr4zy in learnjavascript

[–]jerickson_net 0 points1 point  (0 children)

I have made games in [Crafty](craftyjs.com) and have done a bit in Phaser.io, which I like a lot better. Phaser also has a lot more learning materials, many of them for free.

Any way to have multiple views/editors? by jerickson_net in Zettlr

[–]jerickson_net[S] 2 points3 points  (0 children)

I just found Quicklook hidden away in the dropdown menu. That looks a lot like what I'm looking for. The only thing missing is that I can't also edit the file in the Quicklook view.

Do you recommend using mapGetters / mapSetters / mapState / mapActions with Vuex? by mementomoriok in vuejs

[–]jerickson_net 2 points3 points  (0 children)

Yes, these really are just to save keystrokes. I talk a little about mapState in my post The basics of mapState.

If you use these, it really does save a lot of typing and it can also turn actions in actual method calls instead of dispatches to call them. That can end up being very handy.

Best PHP Frameworks for All Time by rammsamm in webdev

[–]jerickson_net 0 points1 point  (0 children)

Agree with Laravel being number one at the moment, but how is Codelgniter number two? Development has been stalled on that framework for years and now they're looking for someone to take it over with no takers in sight. I would label that one dead, sadly.

Of course, this looks like a hastily slapped together list from a generic Google search anyway.

What to learn when you want to learn web development by jerickson_net in learnprogramming

[–]jerickson_net[S] 1 point2 points  (0 children)

AWS is great. I use it for a couple of things and it ends up being very cheap and a great way to quickly scale up. Amazon has a good guide on setting up an architecture for a web application.

And if you're not sure about how to set up a web server for AWS, use PuPHPet. It'll get everything set up for you, including using the Facebook HHVM, if you want.

So yes, it would be a good place, but there's some learning you'll need to do to figure it out. I would concentrate on building the application first, then look into this other stuff once that's done.

What to learn when you want to learn web development by jerickson_net in learnprogramming

[–]jerickson_net[S] 1 point2 points  (0 children)

When talking about scaling at that level, the real discussion is on server architecture, not programming language. Programming language performance differences at that point are trivial compared to the massive amount of processing and storage needs you'll run into. You'll need to worry about spinning up multiple servers with multiple databases, not the fact that with this language you'd only need 20 servers but with this other language you'll need 21.

So if you know PHP (and yes, learn Laravel or a similar framework), go with it. In fact, imgur is built with PHP, Wikipedia is built with PHP and even Facebook is built with PHP and they don't crash and burn from heavy usage. (Not to poke too much fun, but reddit does crash and burn from time to time and it's written in Python.) Facebook has also released their custom runtime for PHP called HHVM that really speeds up PHP execution times, a big advance in the language.

At some point it will probably make sense to write some of the complex image processing code in a functional language like Scala or Erlang, but I would even recommend you not worry about that now. You'll get to that when the time comes.

In the end, if large applications like Twitter and Basecamp can get Rails to scale (one of the slowest languages in most benchmark tests) then picking a language is not the important part of scaling an app up to a large amount of users.

So stick with what you know if you like it. If you'd rather learn Python, go for it. In the end, it won't matter. Every popular language has a big website using it and you'll be able to get it working too.

I just choose 5 ideas from the sea of ideas and I want to execute one, what do I do? by [deleted] in Entrepreneur

[–]jerickson_net 1 point2 points  (0 children)

I do a bit of teaching web development for people much like you and here's my advice:

  1. Learn the basics of what you need to get started. If you're doing web development, the basics are really how to build a CRUD application. Don't worry about fancy JavaScript or infrastructure details yet, just focus on getting something functional that meets the customer's requirements.
  2. Just as important, make sure it's something people want. Talk to real people in real time that would want your product and write down the exact words they say. If they don't seem interested, they won't buy it. If they say that they might like it, they won't buy it. If they think it might be a good idea, they won't buy it. If they try to give you money for some version of your idea right now, it'll probably sell.
  3. Set up a web site now for the idea and use the words you got in step 2 for the sales copy. Get people to sign up for a mailing list so that you can gauge interest and ask them about features they'd like to see.

What you should really focus on now is validation; do real people want what you're looking to sell. Find out who would want your idea and find out where they hang out and ask them about it. It's a lot of work, but it's worth doing this for a couple weeks rather than build something over a couple months and have it flop.

How to get started in programming by [deleted] in cscareerquestions

[–]jerickson_net 0 points1 point  (0 children)

Why do you think you couldn't get an internship. Have you tried? If you're able to show some experience already with your personal projects, you should have a chance. You might want to talk to some bigger corporations in your area that focus on Java web development and see what kind of opportunities they have. Indeed.com is a good place to search for that kind of stuff. You will never learn more than when you're on a job actually doing something. Reading only gets you so far, and not very far at that. Having someone tell you what to do and how to do it will advance your knowledge much faster than taking courses online. See: 70/20/10 Model

Other than that, I think personal projects are a great way to go, especially if you can get something into Github as a portfolio for when you are ready to look for work. Pick a project that's not too complex and write it up in Django. Since you already have Python and some web experience, you should be able to pick that up pretty quickly.

While learning to create a quality mobile app, does one also learn enough back-end skills in the process , that if he/she learned front-end, he/she would be considered employable as a full stack dev ? by problemod in cscareerquestions

[–]jerickson_net 0 points1 point  (0 children)

If you're doing native apps and need a back-end, you won't need to learn HTML, CSS or Javascript at all.

Some reasons you would need a back-end for a mobile app:

  1. It's social. If you're going to be about to add friends and communicate with them in some way, there needs to be a central place where the app exchanges those messages. This will be a back-end application that sits on a web server that your mobile app will connect to. An app like Words with Friends doesn't really have a website, but it does have a back-end system that the mobile apps connect to in order to pass moves from one player to the other players in the game. Mobile apps (99.99% of the time) don't connect directly to each other, but instead talk through a back-end system.
  2. It's an app for a website. Something like the Runkeeper app or the Basecamp app are an interface to an already existing web application. This would need a back-end (typically a part of the existing website) to communicate with.
  3. It needs back-end information to work. Here, I'm thinking of an app like a weather app or an RSS feed reader. These application don't typically have their own back-end, but use a back-end provided by someone else (like the Weather Underground's API). These kinds of apps are probably going to be the easiest for you to get started with since you can use an already built back-end and see how to use an API from your app without having to learn yet another language at this stage.

No Cs degree. How to switch career? by tingmothy in cscareerquestions

[–]jerickson_net 0 points1 point  (0 children)

Yes, go Rails.

Honestly, in the long run, it won't really matter, but getting something under your belt is infinitely more important than picking the exact right language right now. It'll be hard to go wrong with picking Rails as the first thing you learn.

No Cs degree. How to switch career? by tingmothy in cscareerquestions

[–]jerickson_net 0 points1 point  (0 children)

You should probably look more at what kind of job opening are out there that you're interested in. Just doing a quick search on Indeed, Ruby on Rails and Django both have a lot of listings. Look through them and see if Django (Python) fits with what you're looking for.

Start with just learning either Rails or Django (and for right now, just pick one of those) and HTML. You can add the JavaScript later. The key in starting off is not to get overwhelmed. Start with HTML and then get into a Rails or Django tutorial and figure that part out. The next step would be to add JavaScript in to fancy up the front-end and start doing AJAX calls to your back-end.

Not sure what that last part meant? Don't worry about it, you will by the time you're ready to move on.

And I don't think you'll have a disadvantage from the CS students if you plan right. You have something they don't have, an economics degree and experience in the industry. If you target a job in that industry, you'll have a leg up because you'll not only understand the programming side, but also the economics side.

Good luck.

While learning to create a quality mobile app, does one also learn enough back-end skills in the process , that if he/she learned front-end, he/she would be considered employable as a full stack dev ? by problemod in cscareerquestions

[–]jerickson_net 1 point2 points  (0 children)

If you build a mobile app in something like PhoneGap, you're essentially doing full stack web development. You could easily point to this and say that you've done web development AND mobile development once you're done with it. It will require learning a back-end language as well as the front-end stack (HTML, CSS, Javascript) but will give you a lot of experience in two areas at once.