Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Tuxedo Gin
May 21, 2003

Classy.

Where would be a good place to look to hire a programming tutor/mentor?

I'm a semi-beginner programmer, who is self learning programming with the intention of doing one specific thing with it (I want to make some specific web/mobile apps). For multiple reasons, I don't want to outsource the project. I have no intention of making a career out of programming, and I find myself getting pretty frustrated with the learning process. I've done a few online text and video courses and made lots of practice projects, and am trying to work on the project I actually care about, but often get stuck, frustrated, and demotivated. I've been toying with the idea of hiring a tutor or somebody to meet with me occasionally over video call and help point me in the right direction with regards to what part of the project I should be tackling next and how I should go about doing certain things, or walk me through something when I get stuck.

Where would be a good place to look for this? My sister tells me nobody legit uses Craigslist anymore and I'm not on Facebook so I can't use groups there.

EDIT: I'm looking specifically for where to find a programming tutor rather than a programmer because I reckon somebody who markets themselves as a tutor specifically will have a lot more patience and understanding considering how clueless I am.

Tuxedo Gin fucked around with this message at 04:13 on Mar 12, 2021

Adbot
ADBOT LOVES YOU

Hughmoris
Apr 21, 2007
Let's go to the abyss!

Tuxedo Gin posted:

Where would be a good place to look to hire a programming tutor/mentor?

I'm a semi-beginner programmer, who is self learning programming with the intention of doing one specific thing with it (I want to make some specific web/mobile apps). For multiple reasons, I don't want to outsource the project. I have no intention of making a career out of programming, and I find myself getting pretty frustrated with the learning process. I've done a few online text and video courses and made lots of practice projects, and am trying to work on the project I actually care about, but often get stuck, frustrated, and demotivated. I've been toying with the idea of hiring a tutor or somebody to meet with me occasionally over video call and help point me in the right direction with regards to what part of the project I should be tackling next and how I should go about doing certain things, or walk me through something when I get stuck.

Where would be a good place to look for this? My sister tells me nobody legit uses Craigslist anymore and I'm not on Facebook so I can't use groups there.

I'm interested in something like this too. I'm a hobbyist, and no one in my social circle programs, so I don't really have anything to bounce ideas or questions off of outside of forum threads.

bigperm
Jul 10, 2001
some obscure reference
I'm in a similar position too. We might as well start a discord server and try to help each other.

xtal
Jan 9, 2011

by Fluffdaddy
You can get most of the way there just hanging out on forums and IRC, including here. Are you thinking that it would be useful to have a curriculum? There are some books that work well for that, or websites like exercism.io

Tuxedo Gin
May 21, 2003

Classy.

xtal posted:

You can get most of the way there just hanging out on forums and IRC, including here. Are you thinking that it would be useful to have a curriculum? There are some books that work well for that, or websites like exercism.io

For me personally, I don't really want a curriculum as I've done several websites and video courses already. I'm tired of doing practice projects. I just want to work on what I want to work on. I guess I do want a curriculum but I want a custom crafted one which focuses around my personal projects. Although the forums have been extremely helpful to me, I'm specifically looking to pay somebody who I can explain my project to in great detail and point me in the right direction and hold my hand when I get stuck. I know I'm not going about this the "right" way, but I absolutely lack the motivation to do it by self study.

I'm assuming no such thing exists? It's either slog through self study, or outsource the project?

spiritual bypass
Feb 19, 2008

Grimey Drawer
Is this something you can open source? Posting a link to a repo and/or project.log thread here might get more traction. I'd click on it, at least

Tuxedo Gin
May 21, 2003

Classy.

Unfortunately not. I've put out feelers to people I know who are involved in the tech industry to see if they know any programmers who might want to moonlight as a mentor and hold the hands of an idiot trying to do something too complicated for his abilities, so I thought I'd also ask if anybody here knows of a market that specializes in that. I suppose there isn't, really. I guess most people who want something built just pay someone to do it outright. I'm one of the weird ones that wants to understand the ins and out of what he's having built but isn't really unable to build it on his own.

Plinkey
Aug 4, 2004

by Fluffdaddy

bigperm posted:

I'm in a similar position too. We might as well start a discord server and try to help each other.

I could start a discord server if there isn't one already

dirby
Sep 21, 2004


Helping goons with math

Tuxedo Gin posted:

I'm one of the weird ones that wants to understand the ins and out of what he's having built but isn't really unable[sic] to build it on his own.
Is there a significant difference between what you're asking for and something like commissioning some work and extra detailed documentation and regular conversations about the next feature to add and how to add it, etc.?

Basically, it sounds like you both 1. want to be able to build it yourself and 2. don't want to be able to but just want to understand how it was built (like "here is a lecture on why I coded it this way for the requirement you had"?).

Whatever you're looking for, it sounds like it'd be hideously expensive, quite possibly more expensive than, say, paying for a tutor (and a therapist?) for enough time to help you either get in a mindset where you can build it yourself or a position where you're more comfortable with just commissioning it or something.

raminasi
Jan 25, 2005

a last drink with no ice

Tuxedo Gin posted:

Unfortunately not. I've put out feelers to people I know who are involved in the tech industry to see if they know any programmers who might want to moonlight as a mentor and hold the hands of an idiot trying to do something too complicated for his abilities, so I thought I'd also ask if anybody here knows of a market that specializes in that. I suppose there isn't, really. I guess most people who want something built just pay someone to do it outright. I'm one of the weird ones that wants to understand the ins and out of what he's having built but isn't really unable to build it on his own.

It sounds like you want someone to be the senior developer to your junior developer: They’d sketch out initial architecture, give you some initial threads to pull on, send you off, and wait for you to come back with questions. I’m not sure where you’d find that, though. Do you happen to be in the NYC area?

Tuxedo Gin
May 21, 2003

Classy.

dirby posted:

Is there a significant difference between what you're asking for and something like commissioning some work and extra detailed documentation and regular conversations about the next feature to add and how to add it, etc.?
I suppose not, at the end of the day. I'll have to look into just doing that.

quote:

Basically, it sounds like you both 1. want to be able to build it yourself and 2. don't want to be able to but just want to understand how it was built (like "here is a lecture on why I coded it this way for the requirement you had"?).
This is what I'm struggling with. I do want to be able to do it myself most of all, but I'm frustrated so I'm trying to talk myself out of it.

quote:

Whatever you're looking for, it sounds like it'd be hideously expensive, quite possibly more expensive than, say, paying for a tutor (and a therapist?) for enough time to help you either get in a mindset where you can build it yourself or a position where you're more comfortable with just commissioning it or something.
I have a great therapist already, and I'm not sure that apprehension/indecision about an important project warrants a dig at my mental health, but thanks for your concern, I guess?



raminasi posted:

It sounds like you want someone to be the senior developer to your junior developer: They’d sketch out initial architecture, give you some initial threads to pull on, send you off, and wait for you to come back with questions. I’m not sure where you’d find that, though. Do you happen to be in the NYC area?

Yeah I guess that's exactly what I want. Which is why my original post said tutor/mentor. Where does one find mentors for hire? I have more money than I do time to stumble through this myself. Not in NY, unfortunately.

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



Plinkey posted:

I could start a discord server if there isn't one already

https://discord.gg/jUDZjtzd

barkbell
Apr 14, 2006

woof
you could have a consultant on-call that you could hit up with questions or ask to help with specific issues. i'm not sure if that would be better or worse than just posting your issue online here or elsewhere though.

raminasi
Jan 25, 2005

a last drink with no ice

Tuxedo Gin posted:

I suppose not, at the end of the day. I'll have to look into just doing that.

This is what I'm struggling with. I do want to be able to do it myself most of all, but I'm frustrated so I'm trying to talk myself out of it.

I have a great therapist already, and I'm not sure that apprehension/indecision about an important project warrants a dig at my mental health, but thanks for your concern, I guess?


Yeah I guess that's exactly what I want. Which is why my original post said tutor/mentor. Where does one find mentors for hire? I have more money than I do time to stumble through this myself. Not in NY, unfortunately.

The work you're looking for would be a substantial chunk of a senior dev's time if done well (25% by hours wouldn't be unreasonable), so it's going to be hard to find someone willing to freelance it, even if you were willing to pay for that. I think your best alternative options are:
  • Just start floundering on your own and post questions on these forums/Discord. People are generally pretty responsive to newbie questions (everyone can answer them and they're easy!) There will be a lot of trial and error, but hey, that's learning. Even "I want to do X, what direction should I start looking in" would be a fine question for this very thread.
  • Just get a junior dev job somewhere. You won't be working on projects you set for yourself, but you'll learn something that you can hopefully take home and apply to your side projects.

In your initial post on this specific topic, you said "I want to make some specific web/mobile apps." What is it you want to build, exactly?

dirby
Sep 21, 2004


Helping goons with math

Tuxedo Gin posted:

I'm not sure that apprehension/indecision about an important project warrants a dig at my mental health
Sorry, I didn't mean it as a dig at your mental health (and I think everyone could do with the help of a therapist from time to time, even if they're mentally well). I just meant that since I don't know you, I don't know the mix of source(s) of your frustration or what the best approach to combat that would be for you personally.

Since you referred to yourself as "an idiot", "lack[ing] motivation", and that you're looking for "patience and understanding" I thought that it might be worth at least considering a combination of finding the right person/resources externally and broadening options that could work for you internally. Like, if you can handle a tutor with 10% less understanding than you could before, that opens up X% more tutors as someone you could work with.

Plinkey
Aug 4, 2004

by Fluffdaddy
The other thing that you have to kind of take into account is teaching someone how to program/code, especially if you want to learn specific technologies is way different than say teaching someone algebra.

If you say something to your tutor like "I want to learn how to draw a circle on the screen in random places at random sizes, every 30 seconds and if they overlap delete the oldest one' is a super open ended question and there are probably 1000+ ways to do it. If you narrow it down to "using C# drawing libraries" ok, now you have maybe 100 ways to do it "in a winforms app" now you're down to maybe 20. If your tutor doesn't have this exact knowledge off the top of their head, they'll first have to work through it themselves, make sure they take good notes so they can explain the steps and concepts to you, which might be a big chunk of time.

Then if they ask why do you want to do this? Learning 2D drawing, threading, basic windows drawing libraries? And your answer is 'collision detection' you've just redefined the question and how to answer it again completely.

I tried to tutor kids in programming a bit in college, and even if they explain their assignment and what they are trying to do, you need to asses where they are and can't assume that they know things that you would use to solve the problem. For example they needed to do something that was a classic recursion question, so I worked on a similar problem and explained it to them step by step only to be met with 'oh we don't learn recursion for another 2 weeks' or stuff like trying to come up with baby's first sorting algorithm (they were supposed to struggle with it, and either not get it really working great, or it would be really janky with arrays all over the place) before learning linked lists and trees. It's all just really open ended.

chglcu
May 17, 2007

I'm so bored with the USA.
Specific things like "drawing a circle" don't seem to me things that should be taught, really. That should be something you research when you need to do it. Teaching should prepare you to do that research and understand how to use the information and figure out your options. You need to be motivated and able to do that research on your own, not have everything spoonfed by an instructor.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Jabor posted:

The problem is that the program can't know the intent of the programmer

Uh, excuse me, my intent is just clearly what I wanted to do. If the program isn't smart enough to pick up on that, that's not my fault.

The Pell
Feb 6, 2008
Is there a way to change a SQL query to always return a specific value for a field?

Here's a clip of the query:

code:
SELECT s.dcid, 
                   s.first_name, 
                   s.level, 
                   s.id, 
                   s.lname, 
                   s.mname, 
                   s.sid, 
                   s.snumber, 
                   s.enroll_status,
                   s.sweb_id, 
                   s_email.email 
            FROM   students s 
                   LEFT JOIN (SELECT ps.studentidentifier, 
                                     psc.email 
                              FROM   psm_student ps 
                                     inner join psm_studentcontact psc 
                                             ON psc.studentid = ps.id 
                                     inner join psm_studentcontacttype psct 
                                             ON psct.id = psc.studentcontacttypeid 
                              WHERE  psct.name = 'Self') s_email 
                          ON s_email.studentidentifier = s.snumber 
            WHERE  s.enroll_status = 0 OR s.enroll_status = -1
            ORDER BY s.id 
This query gets sent to a process that creates a report. The issue is that the report is hardcoded to drop all records where the s.enroll_status is not 0 (I added the OR s.enroll_status = -1. And that's when I found that the report drops anything that isn't a 0). Is there any way I can change this query so that it pulls all records with a s.enroll_status of 0 or -1 but always returns a value of 0? That s.enroll_status field can contain values between -2 through 6 or something like that, if that matters.

power crystals
Jun 6, 2007

Who wants a belly rub??

Replace "s.enroll_status," with "0 AS enroll_status,".

The Pell
Feb 6, 2008

power crystals posted:

Replace "s.enroll_status," with "0 AS enroll_status,".

Will that still filter out all the unwanted records when enroll_status is something other than 0 or -1?

Also, should it be "0 AS enroll_status" or "0 AS s.enroll_status"?

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


The set of fields you return doesn't have to have anything to do with the fields you select on. "SELECT 0 FROM goobers WHERE status = 'super';" is a perfectly valid query, and it might even be something you want in some circumstance.

That said, it's not great that your report ends up with data that's different from what's in the table. Do you have to include the enroll_status in the report? If so, do you have the option of fixing the report to include all the records you want?

The Pell
Feb 6, 2008
Fixing the report would have been the better way to do it, but since that wasn't an option, this is the only work around I could think of.

power crystals
Jun 6, 2007

Who wants a belly rub??

The Pell posted:

Will that still filter out all the unwanted records when enroll_status is something other than 0 or -1?

Also, should it be "0 AS enroll_status" or "0 AS s.enroll_status"?

Yes (as above) and the former. Dots are not typically legal in SQL identifiers*. You can think of typical column selects as having an implicit AS clause with the column name (not table name) to name them, but literals obviously don't have a name so you need to explicitly name those columns or you wind up with an unnamed column. Same deal with aggregate functions, "SELECT COUNT(Foo)" is anonymous without an AS.

So right now your field "s.enroll_status" winds up in a column named "enroll_status", so you want your 0 to be named the same.

* Yes, you can enclose the name in [] to use dots etc but please do not.

Ruzihm
Aug 11, 2010

Group up and push mid, proletariat!


raminasi posted:

The work you're looking for would be a substantial chunk of a senior dev's time if done well (25% by hours wouldn't be unreasonable), so it's going to be hard to find someone willing to freelance it, even if you were willing to pay for that. I think your best alternative options are:
  • Just start floundering on your own and post questions on these forums/Discord. People are generally pretty responsive to newbie questions (everyone can answer them and they're easy!) There will be a lot of trial and error, but hey, that's learning. Even "I want to do X, what direction should I start looking in" would be a fine question for this very thread.
  • Just get a junior dev job somewhere. You won't be working on projects you set for yourself, but you'll learn something that you can hopefully take home and apply to your side projects.

In your initial post on this specific topic, you said "I want to make some specific web/mobile apps." What is it you want to build, exactly?

Great reply, i agree

Crankit
Feb 7, 2011

HE WATCHES
I bought a little Raspberry Pi Pico, the microcontroller board thingy. It's got something called micropython on it and I don't really know python at all, should I learn python on a real computer before trying to mess with the micropython?

Is there something out there which kinda takes you through the micropython stuff as a beginner?

Macichne Leainig
Jul 26, 2012

by VG

Crankit posted:

I bought a little Raspberry Pi Pico, the microcontroller board thingy. It's got something called micropython on it and I don't really know python at all, should I learn python on a real computer before trying to mess with the micropython?

Is there something out there which kinda takes you through the micropython stuff as a beginner?

It's basically just regular Python 3 with some extra inbuilt modules to handle microcontroller-type stuff. No reason you shouldn't be able to jump into it as if it were normal Python, I think.

ryanrs
Jul 12, 2011

Question: flex+bison or something else? Needs to run on a microcontroller.

I need to make a parser for a simple, almost toy-like language. Algebraic expressions, function calls, assignment statement, maybe branching and looping later, maybe not. It'll be interpreted, not compiled. Pretty simple.

Microcontroller target: Teensy-LC, 32-bit ARM, 62k flash, 8k ram.

C is good. C++ is fine too, I guess, if it turns into small code. But malloc is running with something like 3k of heap space, so you can't go wild.

I've started playing around with flex and bison. I have something working and it looks like it can be made to fit.

Is there some other, possibly more modern, parser generator I should be using? I need something that generates small code that uses very little ram. Are any of the newer programs better than old school unix tools for generating compact code?

This is really about the code generation, table compression, and other parser magic I don't really understand. I don't think I care about fancy parsing features and extensions because my language is stupidly simple.

e: Is this even the right thread? It's not really about the C language, but maybe I should have posted it there?

ryanrs fucked around with this message at 10:12 on Mar 25, 2021

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

ryanrs posted:

Question: flex+bison or something else? Needs to run on a microcontroller.

I need to make a parser for a simple, almost toy-like language. Algebraic expressions, function calls, assignment statement, maybe branching and looping later, maybe not. It'll be interpreted, not compiled. Pretty simple.

Microcontroller target: Teensy-LC, 32-bit ARM, 62k flash, 8k ram.

C is good. C++ is fine too, I guess, if it turns into small code. But malloc is running with something like 3k of heap space, so you can't go wild.

I've started playing around with flex and bison. I have something working and it looks like it can be made to fit.

Is there some other, possibly more modern, parser generator I should be using? I need something that generates small code that uses very little ram. Are any of the newer programs better than old school unix tools for generating compact code?

This is really about the code generation, table compression, and other parser magic I don't really understand. I don't think I care about fancy parsing features and extensions because my language is stupidly simple.

e: Is this even the right thread? It's not really about the C language, but maybe I should have posted it there?

there are newer alternatives to flex/bison like antlr, but honestly the whole "running an parser for an interpreted language on a microcontroller" doesn't sound like a super common use case and i doubt any of the tools available are optimized for that. i would generally reach for antlr over flex/bison (https://tomassetti.me/why-you-should-not-use-flex-yacc-and-bison/), but i couldn't say how well it would work for your use case.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

ryanrs posted:

Is there some other, possibly more modern, parser generator I should be using? I need something that generates small code that uses very little ram. Are any of the newer programs better than old school unix tools for generating compact code?

This is really about the code generation, table compression, and other parser magic I don't really understand. I don't think I care about fancy parsing features and extensions because my language is stupidly simple.

e: Is this even the right thread? It's not really about the C language, but maybe I should have posted it there?

ragel might have some options that suit your needs. (I haven't looked at ragel in years so I could be way off here.)

And this seems like as good a thread as any!

csammis
Aug 26, 2003

Mental Institution

Bruegels Fuckbooks posted:

honestly the whole "running an parser for an interpreted language on a microcontroller" doesn't sound like a super common use case

Counterpoint: MicroPython :negative:


edit: which looks like it might have been rolled by hand :stare:

csammis fucked around with this message at 16:52 on Mar 25, 2021

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

csammis posted:

Counterpoint: MicroPython :negative:

If you'd told me five years ago that people were using a framework like this for embedded, I would've said something uncharitable like "are you smoking crack?" Maybe I'm just getting too old.

Bruegels Fuckbooks fucked around with this message at 17:02 on Mar 25, 2021

csammis
Aug 26, 2003

Mental Institution

Bruegels Fuckbooks posted:

If you'd told me five years ago that people were using a framework like this for embedded, I would've said something uncharitable like "are you smoking crack?" Maybe I'm just getting too old.

Oh no I totally get it. I'm 38, do embedded for a living, I honestly believe and preach that accessibility is good and gatekeeping is bad, and I still wince whenever I look at MicroPython

ryanrs
Jul 12, 2011

Oh poo poo, a teensy 3.2 is pin-compatible-enough to go on my board with no changes! That has 64k, which ought to be enough for anyone.

I'll still try to get this running on the LC while I wait for the new boards to arrive. But subbing in the larger part will keep me from lying awake at night worrying about heap exhaustion.

Devian666
Aug 20, 2008

Take some advice Chris.

Fun Shoe
I started getting back into programming again after a break of 20 years or so. I started with some python but I went on a tangent and I've write everything in fortran for speed. Anyone else getting distracted by other languages for hobby programming?

Hughmoris
Apr 21, 2007
Let's go to the abyss!

Devian666 posted:

I started getting back into programming again after a break of 20 years or so. I started with some python but I went on a tangent and I've write everything in fortran for speed. Anyone else getting distracted by other languages for hobby programming?

I'm a hobbyist, and this is a flaw of mine. I can solve a lot of easy tasks in a variety of languages but I haven't moved on to the intermediate or expert level in any of them.

Devian666
Aug 20, 2008

Take some advice Chris.

Fun Shoe

Hughmoris posted:

I'm a hobbyist, and this is a flaw of mine. I can solve a lot of easy tasks in a variety of languages but I haven't moved on to the intermediate or expert level in any of them.

I'm going down a very focused path. Fortran makes it very easy to create concurrent loops, and the compilers support openMPI or other similar MPI interfaces. So it's very easy to run the code in parallel across many cpus and computers. I'm skipping text processing or use of more complex data structures.

Waiting on NVidia to create the windows version of their HPC kit which supports either C++ or Fortran.

ryanrs
Jul 12, 2011

I don't know if this counts as getting distracted (it totally does), but I am racing to implement a toy language to command a 25x11 led matrix. This is a tiny screen, but I'm about 1/3rd of the way to a general purpose system with draw commands, bitblts, rops, text rendering, etc. It'll be hilarious if I can pull it off.

If I can't pull it off before the PCBs arrive from China (they were released to manufacturing earlier this week), then I fall back to a boring fixed-function display where I have to reflash the micro to make any changes. So I have about a week to make this language genuinely cool and useful before I have to give up and pretend I never tried, ha ha.

Next up is some power policy code in the framebuffer, because the PCB doesn't have the power budget to light up arbitrary LED combinations.

(The device itself is designed to fit over a custom 3D camera system, to provide cues to an actor for 3D lightfield capture. The only reason we're making it at all is because it has to match the mechanical shape of our camera system. This is why I have thousands of dollars budget to make a LED blinky toy.)

HappyHippo
Nov 19, 2003
Do you have an Air Miles Card?

Devian666 posted:

I'm going down a very focused path. Fortran makes it very easy to create concurrent loops, and the compilers support openMPI or other similar MPI interfaces. So it's very easy to run the code in parallel across many cpus and computers. I'm skipping text processing or use of more complex data structures.

Waiting on NVidia to create the windows version of their HPC kit which supports either C++ or Fortran.

Fortran is basically only used by physicists. I'm not sure what your goal is here. If it's just playing around with stuff then go hog wild. You can use MPI with c/c++ if you're looking for a more widely used language

Adbot
ADBOT LOVES YOU

Devian666
Aug 20, 2008

Take some advice Chris.

Fun Shoe

HappyHippo posted:

Fortran is basically only used by physicists. I'm not sure what your goal is here. If it's just playing around with stuff then go hog wild. You can use MPI with c/c++ if you're looking for a more widely used language

Mathematics intensive hobby projects. I don't really like C++ so I avoid it at all costs.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply