• Swampette
    Aug. 20, 2019, 10:25 a.m.

    So I started watching One Piece lately to pass the time. Over the past two months I've covered almost 100 episodes watching it only at work.

    I figured the fact that the show is 800 episodes strong would make it last and give me something to look forward to when it gets slow.

    What's something more substantial I could do instead?

  • Aug. 20, 2019, 7:20 p.m.

    As a code boy I'm quite biased, but I'd take a look at Automate the boring stuff with Python! I've heard it's a really good introduction into python. Python has a lot of tools to work with excel spreadsheets/CSVs (working with the pandas library is like half my job).

    It'll take some time, but ultimately it might let you automate parts of your job so you have more time to wonder what you should be doing at your job :^)

  • Swampette
    Aug. 20, 2019, 7:46 p.m.

    This response intrigues me. In our office, we have one "wizard" when it comes to Excel - that was able to marry Oracle, our associate database, to excel macro design. Currently, at least within the realm of pure Excel, he has said that I can match his wizardry. Maybe Python can give me the edge I need to usurp the throne and become the next "wizard".

    EDIT:

    This book is available on Humble Bundle for $1 through the rest of the month! I love it when a plan comes together.

  • Aug. 20, 2019, 9:36 p.m.

    The thing about python too is that it's got a really low barrier to entry, which makes using it for things like excel/data munging an awesome tool. Also check out Jupyter notebooks, they're the perfect space to just play around with data to see what you can do with it. There's a good beginner's article on them here: A Beginner's Tutorial to Jupyter Notebooks. If you can't tell, I'm a big fan of Towards Data Science :)

    Also I totally forgot they were part of the humble bundle this month! You should absolutely pick those up!

  • Swampette
    Aug. 20, 2019, 11:02 p.m.

    I took two semesters of C++ in my Cal-State days, so I'm fairly certain I can handle more of the user-friendly programming languages out there.
    Getting a straightforward guide on marrying that to Excel is something that I have been looking for a while now, so this is going to provide some great material to keep me busy in the valleys of my day.

  • Swampette
    Aug. 21, 2019, 1:11 p.m.

    Sorry to double-post, but question.

    I've been pouring into this book (I'm about a third of the way through Automate) and one thing I've noticed is that the scope of Python seems to be very similar to my exposure to C++ (minus the null terminators :P).

    One of the first things I was taught was that C++ could do anything, making it the 'best' language to learn (over say, Java or Python).
    What does this entail, exactly? Was that all just elitist bullshit?

  • Aug. 21, 2019, 3:33 p.m.

    Damn, you're tearing through that! That's awesome.

    That's an...interesting perspective. I can't say I've heard that one before. C++ and Java have historically (and certainly when you were in college) been the "base" languages that people learn, since they involve most major components of programming (functions, pointers, data structures, compilation, etc.). The issue with C++ is that it's not forgiving at all - if you don't know what you're doing, you can shoot yourself in the foot pretty easily. Java was a bit better about that, but the drawback to that was also that stacktraces (the "where the error went wrong" text) became massive and near unreadable.

    As for the "it can do anything"...it probably can, though the contention here is expressiveness. Almost all code is built off of C: C++; Python's main implementation is in C, called "CPython"; even the Java Virtual Machine (which is used to run Java code, long story) is frequently written in C. C isn't the most easily understandable, readable, or usable language out their though. It's stupid fast, and that's why people use it. It's much "closer" to assembly language than something like Python.

    In light of this, Python's strength is twofold:
    1. It's easily understandable, most of the operations can "fit in your head". Here's a good example. Lots of the nitty-gritty stuff is abstracted away so you don't have to spend mental energy remembering to deallocate all of the items in your lists before exiting the current scope.
    2. Python is best described as "the second best choice for everything". It's not the fastest (see above), it may not have the best vector math (see Fortran), it may not have the best excel interop (see Visual Basic), but it's pretty damn good at all of those things, along with enumerable others. That's part of why I love python - at my last job, I was working with databases, complex image manipulation and linear algebra, machine learning, visualization, data aggregation, statistics, API design, file utilities; I could do all of these things in Python, and frequently in significantly fewer lines than would be possible in Java/C++/etc.

    That's a lot of text, I hope it's tractable haha.

  • Swampette
    Aug. 21, 2019, 4:35 p.m.

    β€œYou must understand, young Hobbit, it takes a long time to say anything in Old Entish. And we never say anything unless it is worth taking a long time to say.”

    I'm pretty sure I wrote the book on giving people essays when they didn't want them.

    Anyways, I appreciate your explanation, and it was more insightful than you know. The programming degrees at CSUF were unique in that they throw you into three semesters of C++ as your core before you moved onto any other languages as electives.
    The idea was that you had to be perfect for C++ to cooperate, so if you could do that, you could learn any other languages you wanted in a month or two. Back in 2010, that meant that at the end of a Bachelor's of Computer Science in Programming, you had about six languages under your belt.

    I enjoyed programming. And I was told I was good at it. But I only finished two semesters before I ran out of money and dropped out of school. I'm glad I was able to bring my career full circle. I was talking to the Systems team at work about my new "side hustle" and they all gave me their blessings and verified that you weren't an asshole.

    Be prepared, I have about four million questions now, and you are the only person I immediately know that can answer them.

    EDIT: Other than Tom, but he's swimming in coursework right now, and will be for the foreseeable future.

  • Aug. 21, 2019, 5:33 p.m.

    That's actually fairly common - it's how my degree was structured. Again, it's not the worst start because C++ sort of touches all the core CS concepts, but at my university they also taught the "Programming for non-CS majors" classes in C++ which was a massive mistake IMO.

    πŸ€”πŸ€”πŸ€”πŸ€”πŸ€”πŸ€”πŸ€”πŸ€”
    I wonder what their standard was ;)

    I'm totally open! Feel free to text me/WhatsApp me whenever, always happy to answer a python question.

  • Certified Good Posterβ„’
    Aug. 23, 2019, 9:04 a.m.

    I love when a forumite is so well trained they apologize for double posts on a private hobby forum.

  • Swampette
    Aug. 23, 2019, 1:54 p.m.

    Manners are a moral imperative, my friend. How we behave in the company of friends is a reflection of who we really are as people.

  • Aug. 23, 2019, 2:27 p.m.

    Lest we become like the feral dogs that exist in The Basement...

  • Members 17 posts
    Sept. 4, 2019, 10:40 a.m.

    This was not what I was expecting from a post called stuff to do at work other than work.

    For me that involves printer paper and any writing implement I can get my hands on.

  • Sept. 4, 2019, 4:04 p.m.

    Results of such work distractions are very much welcome in this thread! lol

  • Members 17 posts
    Sept. 4, 2019, 4:08 p.m.

    Most of the time I can just tell someone that the stormtrooper or master chief I just drew was for a student. The rest of the time I just volunteer to take a group into the hang out room and draw while they beat the crap out of each other at that DC fighting game Injustice.

  • Swampette
    Oct. 10, 2019, 9:06 a.m.

    So, I can only read and watch television for so long before I want to find something constructive to do.

    I secured some funds, downloaded Robinhood, and started an ETF dividend portfolio. If my money is going to be sitting around not doing anything, I figure I might as well get some kind of allowance for it.

    I figured ETFs would be the most secure investment that requires the least amount of effort. That way, I'm casting a wide net across a large number of stocks, but don't have to do a lot of intricate management along the way.

  • Swampette
    Oct. 10, 2019, 11:36 a.m.

    So at my work, there's a lot of rules associated with the "social perception" of your actions.

    For example, it is acceptable to read digital media, but it is not acceptable to read a paperback book, because it looks like you aren't working. If you are reading an eBook at your terminal it conceivably looks like you are working on something.

    So, because of this, an integral part of my workday is setting up VRV, books, and podcasts so that I can watch them while casually pushing the occasional button on my keyboard so the Office Skype doesn't label me away.

    I was struck by inspiration today for a galaxy-brain level play. I cannot install video games on my terminal at work. It would look like I'm playing and not working. But it is socially acceptable to have a game going on your phone.
    SO: Is it possible to run an emulator on my phone to play not-app games, but control said game from my USB keyboard without disconnecting it from the terminal? So it will look like I'm typing, but I'm actually playing Pokemon Emerald or Fire Emblem or something.

    Give me your ideas. Will continue researching on my own.

  • Members 46 posts
    Oct. 10, 2019, 4:01 p.m.

    So, C++ is essentially an expansion of the C language and because of that it gives the ability to do a lot of low level things like C does. Additionally, you can manage your own memory and if used well, C++ if very fast when executing. Python is interpreted, which means it is essentially compile every time you run the program, which means it is slower to start. On top of that, Python doesn't really support multithreading and a lot of people have issues with it's inferred typing.

    Python has a lot of really good libraries for data/scientific needs but the low level abilities of C++ means that it is generally the superior language in terms of pure logic. To say any language is "the best language" in generally is a uninformed statement, most languages excel at something, because they were created with something specific in mind. The real measure of good software engineering is picking a language that meets the needs of your project.