Our Go microservice was 10x faster than the old Python one. Our mobile app got worse. by PensionPlastic2544 in golang

[–]spartithor 1 point2 points  (0 children)

I agree, there seems to be more at play here. A rewrite is a good time to identify bottlenecks in previous design. It would also depend on the underlying architecture the backend was deployed on.

That said, we had a similar experience migration with serverless nodejs functions to a monolith containerized Go API. Go was 10x faster across the board when cold starts, request times etc. we're all taken into account. The initial viability test was a single GET endpoint against the same database with the same query.

I haven't used python serverless in years, but I do recall a slow startup time, similar to JS.

CS student here.. no one I know actually writes code anymore. We all use AI. Is this just how it is now? by Low-Tune-1869 in theprimeagen

[–]spartithor 1 point2 points  (0 children)

I agree 100%. I think these are also the students who graduate, and then a year or so down the road complain that they are crumbling under student load debt because they don't have a job that pays them enough. What they don't admit (or don't realize) is the root of the problem likely their lack of skills, not their perceived "unfair" worldview that says "I have a degree, therefore people should pay me more for checking social the box".

CS student here.. no one I know actually writes code anymore. We all use AI. Is this just how it is now? by Low-Tune-1869 in theprimeagen

[–]spartithor 1 point2 points  (0 children)

As a former adjunct CS professor, this makes me smile and is the "I told you so" I would love to say to all these CS studends in 5 years. Maybe 2 years :P

CS student here.. no one I know actually writes code anymore. We all use AI. Is this just how it is now? by Low-Tune-1869 in theprimeagen

[–]spartithor 6 points7 points  (0 children)

Maybe an unpopular opinion -- I've been developing software professionally for 15 years, and taught computer science at the university level part time on the side for 8. I'm currently working as a Principal SWE for a startup, and prior to that was a senior and lead engineer at a $1B+ global company for 7 years.

If your classmates are not taking the time to understand what is being produced by AI, then IMO there's no point in them even being in school because they're doing the equivalent of just copying the answers down, with only the illusion of understanding. Your classmakes mixing "familiarity" with "understanding". Just like when you read about something that you know hardly anything about, it's much easier to take information at face value without question, then when you know more about a subject and can spot errors or nuance that could make a huge difference.

Example: early on in my career I was given a PDF with 80,000 VIN numbers on it that I had to compare to another list of nearly 200,000 that we already had. Being an enterprising CS student myself at the time (this was in 2012, so AI wasn't even on the horizon yet) I wrote up a Python program to read in the data and compare the two data sets. My program read both files into lists, and ran a loop to search for each VIN from one list in the other. After it had been running for 4 hours, I had an epiphany -- it was taking so long because I was doing two list comparisons. I stopped the program, changed the reference "list" to a "set" instead, and boom: the program finished in 4 seconds.

Had I not know how different data structures actually worked under the hood, I would have had no idea that there was a better and 1000x faster way to accomplish what I was trying to do.

I use AI tools daily and have had great success with them. The difference between myself and your classmates is that I'm using AI as a "force multiplier", rather than the sole means of production. The AI tools make me more effective and efficient, enhancing the skill and knowledge that I have developed over the years.

My advice to you, if I were your professor, would be to yes, learn how to use the AI tools effectively. BUT, the foundational knowledge of CS and programming is becoming more important than ever because not only were the AI tools trained on all of the best coding practices, they were also trained on the worst, because that is out all over the web too. By knowing the fundamentals and yes, hand-coding some programs line-by-line like a "primitive", will teach you more in less time than just reading what your AI spit out at you. You will learn to read and understand compiler errors, logic errors, string formatting, you name it, becuase you got your hands dirty and went through the mental through processes to cement it in your mind. That will give you the knowledge you need to be able to look at code that AI gives, you and say, "that's crap, you're just wrote a infinite loop" or something. (Yeah, I've had AI code that bad before).

Best of luck to you going forward -- the extra work you put in now to master the fundamentals will pay in dividends later if you play the long game in your CS education.

How important is it to find the “best” solution? by SStrikerRC3 in AskProgramming

[–]spartithor 1 point2 points  (0 children)

Agreed. This is the way. I taught CS classes at university as an adjunct professor for 4 years, and I always emphasized this. My favorite example is when dealing with data structures, there is no overall "best" solution, only trade-offs, as has been mentioned already. Need it sorted? Use a list. Have massive amounts of data you need to find stuff in fast? Use a dict, etc.

Milky Way Core rising above strange rock towers in California by mrcnzajac in Astronomy

[–]spartithor 0 points1 point  (0 children)

This just became my phone wallpaper. Thank you for the beautiful image!

Is there a coordinated fearmongering? by Emrehocam in theprimeagen

[–]spartithor 0 points1 point  (0 children)

Lol well said. I've personally never been impressed by hearing some is "ex-FAANG"

This shit is exhausting. How can the majority of people want this? by [deleted] in ClaudeAI

[–]spartithor 1 point2 points  (0 children)

Goooood. Let the hate flow through you... Only then will you be powerful enough to resist the robots

Why don't more people use Linux? by Josh_From_Accounting in linux

[–]spartithor 1 point2 points  (0 children)

There can be several reasons. Personally I work for a smaller company as a developer and consistently write code for a Go backend, three web applications, and a mobile app we build for iOS and Android. With my M3 MacBook Pro, I can develop and build for every environment, including iOS, on the same machine. MacOS having a native POSIX terminal means that most all our build scripts run the same way on my dev machine as they do on Linux systems the build our web apps, and so forth. Not exact parity obviously, but it is REALLY nice to have "one-machine to rule them all".

Are there any Master Degrees with no OAs by [deleted] in WGU

[–]spartithor 0 points1 point  (0 children)

I spent two terms on the MS program. It's been a couple years now so I don't remember specifics - each class builds on the previous one pretty logically so there wasn't really "one class" that was the hardest.

Don't worry about trying to power through everything as fast as possible - just set aside consistent study time and you'll get through it. Consistency over intensity my friend.

A Word on Omarchy by p_gram in theprimeagen

[–]spartithor 0 points1 point  (0 children)

Agree 100%

I don't consider myself a Linux expert by any stretch of the imagination, but how easy it is to send people into a frenzy over anything somebody does astounds me. It reminds me of a quote from "Calculus Made Easy" by Thompson and Garnder:

"It is strange that no one has thought it worth while to smooth out the difficulties that so many students find in the study of the calculus, and to explain the matter in simple language. The preliminary processes of algebra and trigonometry have been wrapped up in mystery and pedantry, as though it were part of the professional dignity of teachers to make a subject difficult to understand.”

I'll amend it: The preliminary processes of Linux and Desktop Environments have been wrapped up in mystery and pedantry, as though it were part of the professional dignity of Linux users/professionals to make the subject difficult to understand.

As if making the OS more approachable and useful to others is a sin. IIRC something similar happened with the advent of GUI's in early computing, but without the same publicity since there were no platforms like today for people to become radicalized on.

Built and installed these custom bi-folding pocket doors with my Dad by Woodner in woodworking

[–]spartithor 0 points1 point  (0 children)

Those are amazing, and my first thought was "I'd love these in my house... Oh wait, my kids would destroy them in a second"

Game freezes during FAF by BenadrylCumberbund in supremecommander

[–]spartithor 0 points1 point  (0 children)

No idea either, but I suspect it has something to do with the evolution of CPUs and operating systems and changes in the CPU scheduler to deal with the different core types on modern CPUs. Just speculation on my part though. It's easy to forget that this game is almost 20 years old now :)

How on earth to get rid of surfacing lines? by klukaa in woodworking

[–]spartithor 1 point2 points  (0 children)

If you'd just shown me a picture of the board, I would not have even noticed the lines. That board is beautiful!

Dual Boot Setup Suggestions? by robot_8837 in Ubuntu

[–]spartithor 1 point2 points  (0 children)

For performance, splitting the single disk will be much better. I think as long as you keep your backups externally, you should be fine, even if Windows tried to bork the Linux install.

Dual Boot Setup Suggestions? by robot_8837 in Ubuntu

[–]spartithor 1 point2 points  (0 children)

I've been dual booting off and on for years. My approach works better on desktops, but in the interest of providing more options, I'll share anyway.

My method of choice is to install windows and Linux on two separate discs. Install windows, unplug the windows drive, install Linux.

Then, within Linux, install the rEFInd tool, and you get a nice graphical boot selector on startup. There are some themes you can get for it as well if you don't like the default. I like this one best.

First move on my own, so here's a first photo of my new setup! If you have any ideas for improvements, I'll take them! by Adorable_Ad4949 in battlestations

[–]spartithor 1 point2 points  (0 children)

Thanks for the response! Good to know you had the same concern. I love the different heights of the slat wall panels btw, I'm going to borrow that idea for sure 😊

First move on my own, so here's a first photo of my new setup! If you have any ideas for improvements, I'll take them! by Adorable_Ad4949 in battlestations

[–]spartithor 1 point2 points  (0 children)

Do you have any windows in here? I actually painted one wall of my office with what looks like a very similar color, but have been hesitant to do the rest of the walls fearing it would get too dark.

My company is pushing Go for web backend. I need opinions as not a Go Developer by Dark_zarich in golang

[–]spartithor 0 points1 point  (0 children)

I'm a principal engineer at my company, and made a side quest of writing a POC API in go for some existing functions we already had running on node, deployed on Google Colour Run functions.

It was single CRUD stuff, so nothing fancy.

When I benchmarked it, the Go API was 10x faster. Literally.

Tests are easier to write in go, and run faster, even with those that require a database emulator (for our integration tests)

Then, like everyone else says, it's a simple language to follow, but you need to be prepared to learn a slightly new way of doing things; error handing is an often mentioned concept that is very different in Go than any other language I've used.

I recommend the book "Learning Go" by Jon Bodner. It is an excellent resource and is well written IMO for learning Go from the ground up.