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
Gin_Rummy
Aug 4, 2007
Anyone have experience with the Georgia Tech OMSCS program? I'm looking to apply but am coming from an unrelated discipline (mechanical engineering)... hoping anyone might be able to provide tips on how to put together an application that would get me through the door.

Adbot
ADBOT LOVES YOU

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.

Gin_Rummy posted:

Anyone have experience with the Georgia Tech OMSCS program? I'm looking to apply but am coming from an unrelated discipline (mechanical engineering)... hoping anyone might be able to provide tips on how to put together an application that would get me through the door.

Georgia Tech's OMSCS program has a 55% acceptance rate and doesn't require a GRE score. Anyone with an undergrad degree in something and $6600 should be able to get in - they might put you on probation if you've never taken a cs class before.

MSCS isn't like undergrad - the programs are generally cash cows for their universities. Even the selective programs have artificially deflated acceptance numbers because they get a huge number of h1b applicants (h1bs with a master's degree have a special advantage in the h1b lottery).

smackfu
Jun 7, 2004

It’s kind of weird since most people don’t need an MSCS but I guess if you already have a BS in something else and you want sweet programmer salaries that require a CS degree it might be the only option?

General_Failure
Apr 17, 2005
I guess this is a question.
Long story short, my line of thinking brought me to the conclusion that there is no other programming language that I know of that can be used like BASIC. Ie immediate mode or just adding line numbers to bash out a program that can be run, listed or saved.
I realised things like Python and Lua don't fall into that category because they need an editor of some kind to write a program. Is there any language that has the same sort of abilities? I honestly can't think of one.

TBQH I hate line numbers and all the uppercase keywords. But at least in the case of the line numbers I can't think of any other system that could function in that way.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
You still need an editor to write a BASIC program, it's just that BASIC dates back to the days when languages came packaged with a bare-bones editor because you might not already have one on your system at all.

Depending on what you're after, you might be interested in:
- IDEs like the ones produced by JetBrains, which combine an editor with the ability to run, debug, search, refactor (and other powerful tools) the program you're working on.
- REPLs like the ones that come bundled with Python
- The tools built-in to your browser for working with JavaScript.

Hammerite
Mar 9, 2007

And you don't remember what I said here, either, but it was pompous and stupid.
Jade Ear Joe

General_Failure posted:

I guess this is a question.
Long story short, my line of thinking brought me to the conclusion that there is no other programming language that I know of that can be used like BASIC. Ie immediate mode or just adding line numbers to bash out a program that can be run, listed or saved.
I realised things like Python and Lua don't fall into that category because they need an editor of some kind to write a program. Is there any language that has the same sort of abilities? I honestly can't think of one.

TBQH I hate line numbers and all the uppercase keywords. But at least in the case of the line numbers I can't think of any other system that could function in that way.

You mean like on a machine such as the BBC Micro, where the machine boots to a command prompt and you can straight away start writing a BASIC program by specifying line numbers? Yeah that sort of thing is not really done any more afaik. I mean you might be able to find a language that will work like that for you, but you're severely limiting your options in choosing a language to work in if you insist on it working in that out-of-fashion way. You are probably better off getting used to modern tools for writing and prototyping programs, you will have a lot more flexibility in what you can work with then.

It would be an interesting little project to write a command line editor that accepts line insert/update commands via line numbers and has commands like RUN (configurable for your chosen language), SAVE, LOAD, RENUMBER and so on that all do what they would do in BASIC. I'm not volunteering to do it though. ;)

nielsm
Jun 1, 2009



Well, rather than keep the thinking in line numbers, you could think in definitions inside a workspace/namespace.
If you use a language like JavaScript, Python, Haskell, or anything else that allows you to have a REPL and code-is-data model, everything you define in a session is actually stored as a variable inside a namespace. If you add an IDE that allows you to explore the definitions created, and then export that workspace to a file, you definitely have an interactive programming environment.

This is very much what traditional SmallTalk environments work with. I think LISP machines might also have used a model similar to that.

1337JiveTurkey
Feb 17, 2005

Like if you really want that experience of booting up with nothing else running and programming right there on bare iron, anything using OpenBoot (PowerPC Macs and old Sun boxes) should have a built-in Forth shell. Otherwise modern REPLs are a lot nicer once you get used to them.

General_Failure
Apr 17, 2005
This is a bit of a blanket reply. First, I never really said I wanted to write programs in BASIC. It was just something that has been rattling around in my head recently. I guess it's because some fundamental part of me is still stuck in the 8 Bit era. I think it's why I prefer writing programs for microcontrollers, or bare metal code over high level stuff.

There just doesn't seem to have been anything since those days that has editing and immediate mode in the same stream, and the instant gratification of doing something simple and getting results.

nielsm posted:

namespace stuff

That really is an interesting way of looking at it. A touch clunky but sure, makes sense. I was thinking perhaps a form of buffer editor and a way of tagging the start and end of a program to make it save / loadable. But this is just daydreaming really.


Hammerite posted:

You mean like on a machine such as the BBC Micro, where the machine boots to a command prompt and you can straight away start writing a BASIC program by specifying line numbers? Yeah that sort of thing is not really done any more afaik. I mean you might be able to find a language that will work like that for you, but you're severely limiting your options in choosing a language to work in if you insist on it working in that out-of-fashion way. You are probably better off getting used to modern tools for writing and prototyping programs, you will have a lot more flexibility in what you can work with then.


I'm not fond of BBC / Acorn BASIC, but yes like that. More like the million variants of Microsoft BASIC. I don't know if it's just a personal bias, but they seemed to have features that aligned more with the needs of the user. I'm excluding the C64 version though, because holy poo poo.
Acorn basic is still alive and well(?) in RISC OS, Brandy, and some other one that escapes me which is an interesting superset. But again I'm not super interested in writing anything in BASIC. Been there, done that when it was still common.

quote:


It would be an interesting little project to write a command line editor that accepts line insert/update commands via line numbers and has commands like RUN (configurable for your chosen language), SAVE, LOAD, RENUMBER and so on that all do what they would do in BASIC. I'm not volunteering to do it though. ;)
Hmm. Not that I'd want to do it, but that really does seem like the most feasible way a person could achieve that functionality in another language.


Jabor posted:

You still need an editor to write a BASIC program, it's just that BASIC dates back to the days when languages came packaged with a bare-bones editor because you might not already have one on your system at all.
More like the editor was a part of BASIC. The whole tokenising thing going on between front and backend. Then there were things like QBASIC, which had an editor but no immediate mode which in retrospect is kind of weird because it'd still interpret a line at a time.

quote:

Depending on what you're after, you might be interested in:
- IDEs like the ones produced by JetBrains, which combine an editor with the ability to run, debug, search, refactor (and other powerful tools) the program you're working on.
- REPLs like the ones that come bundled with Python
- The tools built-in to your browser for working with JavaScript.
The various REPLS like Lua, Python etc. has are kind of there, assuming the user is using something like IDLE at bare minimum. Micropython can have pye, but even remembering how to open it then use it can be a chore.


1337JiveTurkey posted:

Like if you really want that experience of booting up with nothing else running and programming right there on bare iron, anything using OpenBoot (PowerPC Macs and old Sun boxes) should have a built-in Forth shell. Otherwise modern REPLs are a lot nicer once you get used to them.
I'm not averse to using modern IDEs and languages. It's more about something which seemed as though it was left in the wayside a long time ago.
I've also got a decent collection of computers from the 80's, plus there's emulators so if I'm feeling particularly nostalgic I can bash away at those. If I wanted just a BASIC prompt I could access the one baked into the esp32. Or my port of RISC OS which never made it as far as video support. It could do all the CLI stuff including run BASIC, but I burned out on it.
This is more about that nostalgic ability to make a computer do things with a single line or write a small program with relative ease that hooked so many people.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
Sorta comedy option: Swift Playgrounds?

Munkeymon
Aug 14, 2003

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



Or maybe Jupyter?

Buck Turgidson
Feb 6, 2011

𓀬𓀠𓀟𓀡𓀢𓀣𓀤𓀥𓀞𓀬
I'm not sure I'm getting the requirements, but won't basically any language with a repl that lets you treat code like data work?

Like I have guile scheme (lol I know) on my machine and if I want to make a script I can write it interactively and then dump it in a file when I'm happy with it.

Buck Turgidson fucked around with this message at 03:35 on May 20, 2021

taqueso
Mar 8, 2004


:911:
:wookie: :thermidor: :wookie:
:dehumanize:

:pirate::hf::tinfoil:

Quick basic, and as far as I can remember qbasic too, had immediate mode but you had to open the subwindow to access it. I want to say it was F5 maybe

General_Failure
Apr 17, 2005

taqueso posted:

Quick basic, and as far as I can remember qbasic too, had immediate mode but you had to open the subwindow to access it. I want to say it was F5 maybe

You made me curious. I tried QBASIC in DosBox to see. It's funny, even eons ago when I used to use it a lot I never noticed it. I just tried it. I can see why I never knew about it. Type a line in the immediate mode window and hit enter, the screen goes to the standard black screen to execute the line with the "Press enter to continue" or whatever it is prompt. That would have been horrible to use even back then!

Anyway, like I said, I'm not looking for something like that to create the next killer app. It's more that it's something that's kind of missing in terms of absolute simplicity. Also as it was said I agree that REPLs in modern scripting languages are about as close as it gets. Especially with nice features like tab completion. But there's a lot to be said to being able to bust out a one liner to draw a shape or make a sound. It's what ropes people in and gets them interested.

nielsm
Jun 1, 2009



Yeah that's why my idea is you should be able to just save a workspace. You start the interactive REPL and import a bunch of modules, define some data and functions, and experiment with various ways to make something work. When you've got something useful, just save the workspace to a file which you can then reload to end up in the same environment again. Eventually it can then end up as a full, reusable module or similar.
But basically experiment-driven development.

Edit: After a short search I found this: https://pypi.org/project/dill/
Package with a very simple "save my session to a file" function, and a matching load function.
Similar can probably be implemented in many other languages too.

nielsm fucked around with this message at 09:01 on May 20, 2021

dirby
Sep 21, 2004


Helping goons with math

nielsm posted:

Yeah that's why my idea is you should be able to just save a workspace. You start the interactive REPL and import a bunch of modules, define some data and functions, and experiment with various ways to make something work. When you've got something useful, just save the workspace to a file which you can then reload to end up in the same environment again. Eventually it can then end up as a full, reusable module or similar.
But basically experiment-driven development.
What's the difference between what you're describing and notebook environments (e.g. Jupyter notebooks, which were brought up earlier)?

nielsm
Jun 1, 2009



dirby posted:

What's the difference between what you're describing and notebook environments (e.g. Jupyter notebooks, which were brought up earlier)?

That's probably what I am describing, I just never work with anything like that so I didn't know that was a term for it.

General_Failure
Apr 17, 2005

dirby posted:

What's the difference between what you're describing and notebook environments (e.g. Jupyter notebooks, which were brought up earlier)?

Besides complexity, not much I guess. Serious question though. Besides printing text, how hard is it to get visual feedback from a notebook?

csammis
Aug 26, 2003

Mental Institution

General_Failure posted:

Besides complexity, not much I guess. Serious question though. Besides printing text, how hard is it to get visual feedback from a notebook?

What kind of visual feedback? I use Plotly and Bokeh to chart Pandas data inline in my Jupyter notebooks, both of those toolkits make the process quite easy and both are decently well documented.

CarForumPoster
Jun 26, 2013

⚡POWER⚡

General_Failure posted:

Besides complexity, not much I guess. Serious question though. Besides printing text, how hard is it to get visual feedback from a notebook?

You can do tons of stuff inline in a jupyter notebook including interactive apps (called jupyter widgets) render plots, and even run flask/dash apps.

Lori
Oct 6, 2011
This is likely an extremely entry level question, but I'm absolutely not a programmer; I'm just writing this report because I need it, I don't want to ask my boss to foot the bill to have someone else make it, and I can usually fumble my way around things effectively enough to get the job done.

I'm working in IBM Cognos to create a report that will let us see how employees' KPIs rank within a specific range of the median, and I'm trying to get conditional formatting set up to highlight if that specific KPI falls outside of the range. This is what I have in my variable:

code:

IF ( [mtdQuery].[PCount] >= 1.275*[mtdQuery].[Median(PCount)] )
THEN (3)

ELSE IF ( [mtdQuery].[PCount] <= 0.725*[mtdQuery].[Median(PCount)] )
THEN (1)

ELSE (2)

The summary row reports the right number for Median(PCount), and the formatting works correctly when I replace instances of [mtdQuery].[Median(PCount)] with integers, so I think that [mtdQuery].[Median(PCount)] is coming up with a different number in the expression for some reason.

Am I not supposed to try and compare a column to its summary?

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
Can you give us examples of values, expected output, and actual output? Are the output values all 2 or 1 or something? I don't know anything about I AM COSMOS so I don't know if the syntax should be that way, but it looks ok offhand?

What happens if your invert the second condition? If value >= 0.725 then 2, else 1.

DoctorTristan
Mar 11, 2006

I would look up into your lifeless eyes and wave, like this. Can you and your associates arrange that for me, Mr. Morden?
Speculation, but is the median returning a NaN value (could conceivably happen if there’s missing or bad data)? That would fail both inequalities and hit the ELSE condition.

Zoracle Zed
Jul 10, 2001

General_Failure posted:

Besides complexity, not much I guess. Serious question though. Besides printing text, how hard is it to get visual feedback from a notebook?

In Jupyter, objects with a _repr_html() method automatically display what that method returns. Pretty convenient. Shapely, for example (a 2d geometry library) automatically render SVG images.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


Of possible interest:

https://twitter.com/shachaf/status/1398035497407057922

Ghislaine of YOSPOS
Apr 19, 2020

would studioX or studiodeveloper be discussed in this forum? it doesn't count as programming or coding, probably, so maybe not.

Ghislaine of YOSPOS fucked around with this message at 21:34 on Jun 7, 2021

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
It's technically programming, it's just at such a big level that when something goes wrong it may be hard to understand or reason about. If you have a specific problem, it probably doesn't hurt to post it. For all you know you might Rubber Duck your solution!

Hammerite
Mar 9, 2007

And you don't remember what I said here, either, but it was pompous and stupid.
Jade Ear Joe
Has anyone worked with Discord bots? I am working on a new feature for an open-source bot and created my own instance of it as a discord "app", for testing purposes. I posted the "application ID" in a public channel, but then got cold feet and I'm not sure whether it was a good idea - because at the time the bot was set to "public" which means anyone can invite it to their server. Since the bot runs on my machine, that could be a security issue if there are mistakes in the code. I've since changed it so that it's now not public, but I don't know whether anyone added it to a server in the meantime.

I have been looking around to try to find out how to get information on what servers the bot is "on", but that doesn't seem to be information that's available anywhere. What I really want to do is reset it (drop a nuke and remove it from all servers it's on) and start again so that I know exactly what state it's in. Why is it so hard to find out the state of this thing? I surely must be missing something.

The bot I'm working on is implemented using the "eris" Node.js library. This is the first thing I've ever done with Node.js so I have no idea how to use it properly. I managed to print out some state to the command line, but the output printed would appear to suggest that the bot isn't in any servers at all - and I know this to be false, because it's in a server I created and invited it to myself for the purposes of testing it.

Hammerite fucked around with this message at 23:00 on Jun 7, 2021

Hammerite
Mar 9, 2007

And you don't remember what I said here, either, but it was pompous and stupid.
Jade Ear Joe
update to the above: I got the thing to print out actually correct information about what servers the bot is on, and confirmed my server is the only one.

the code looked something like this:

bot.connect()
console.log(bot)

and the "connect" method was doing something asynchronous, I guess, because the console.log() was printing out the state of the bot before it had actually connected to anything. By putting the console.log() inside a function called later upon interacting with the bot, I got actually useful info output to the console.

necrotic
Aug 2, 2005
I owe my brother big time for this!
In general, if there's IO involved it will be asynchronous in javascript. Check out async/await syntax.

Magnetic North
Dec 15, 2008

Beware the Forest's Mushrooms
So this is a meta question: Where do you go when you can't figure out why something is broken, you can't find answers online, and you can't consult with anyone who knows the framework better than you, and most importantly you can't explain the problem well enough to put into a Stack Overflow question?

For broad strokes background: I have a Vue component that is misbehaving on our website; when an element from the array is deleted, the items do not fully refresh (parts do but other parts don't). This seems to run counter to the way Vue is supposed to work, and the issue appears to be strictly graphical. I am not very good with js and Vue is entirely new to me. There isn't anyone else to consult on the team as currently constituted, though there are team members with way more experience generally. The error is not something covered by the docs, tutorials, or previous Stack Overflow questions, as far as I can find. On the other hand, the code and components are complicated enough that there must be room for the error to exist in there somehow, but I haven't been able to figure it out but making changes, adding breakpoints and interrogating values on the console.

What do you do in those situations?

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


Try to come up with a shorter program that exhibits the same behavior. Either you'll figure out what the issue is, or you'll get something that is small enough to ask about on SO.

spiritual bypass
Feb 19, 2008

Grimey Drawer

Magnetic North posted:

So this is a meta question: Where do you go when you can't figure out why something is broken, you can't find answers online, and you can't consult with anyone who knows the framework better than you, and most importantly you can't explain the problem well enough to put into a Stack Overflow question?

For broad strokes background: I have a Vue component that is misbehaving on our website; when an element from the array is deleted, the items do not fully refresh (parts do but other parts don't). This seems to run counter to the way Vue is supposed to work, and the issue appears to be strictly graphical. I am not very good with js and Vue is entirely new to me. There isn't anyone else to consult on the team as currently constituted, though there are team members with way more experience generally. The error is not something covered by the docs, tutorials, or previous Stack Overflow questions, as far as I can find. On the other hand, the code and components are complicated enough that there must be room for the error to exist in there somehow, but I haven't been able to figure it out but making changes, adding breakpoints and interrogating values on the console.

What do you do in those situations?

Sounds to me like you're doing everything you should, but maybe didn't find the right words to put into the search engine.
Are you sure it isn't this known array thing?

spiritual bypass fucked around with this message at 21:37 on Jun 10, 2021

Magnetic North
Dec 15, 2008

Beware the Forest's Mushrooms

rt4 posted:

Sounds to me like you're doing everything you should, but maybe didn't find the right words to put into the search engine.
Are you sure it isn't this known array thing?

I did find that reference int the docs, but I don't know if it's relevant. We're (ostensibly) just deleting the object from the array, not altering props on the object. We use Vue.Delete(whatever) and not making edits to it. I tried using the array.Splice method and also making a new array, foreaching them in and so on. When I looked at the inside of the array, they were correct; they were just graphically wrong.

For clarity: does the part that says "When you modify the length of the array" apply to adding or removing objects? I guess I don't know quite how dynamic an array is in javascript. I had dismissed it as a possibility since in the examples videos I saw online they were deleting them quite normally and having them behave with the simple example objects.

necrotic
Aug 2, 2005
I owe my brother big time for this!
Not to familiar with Vue, but in react when rendering an array each items render element has a key to identify the unique element. Does vue have a similar concept and you're using the array index as the key? That could cause issues if so.

spiritual bypass
Feb 19, 2008

Grimey Drawer

Magnetic North posted:

I did find that reference int the docs, but I don't know if it's relevant. We're (ostensibly) just deleting the object from the array, not altering props on the object. We use Vue.Delete(whatever) and not making edits to it. I tried using the array.Splice method and also making a new array, foreaching them in and so on. When I looked at the inside of the array, they were correct; they were just graphically wrong.

For clarity: does the part that says "When you modify the length of the array" apply to adding or removing objects? I guess I don't know quite how dynamic an array is in javascript. I had dismissed it as a possibility since in the examples videos I saw online they were deleting them quite normally and having them behave with the simple example objects.

Yeah, adding or deleting on an array changes its length. Vue can watch if the value of the array changes (the pointer changes to a new array), but not if you change the array itself. Something like that :thunk:

Jerkface
May 21, 2001

HOW DOES IT FEEL TO BE DEAD, MOTHERFUCKER?

Anyone familiar with SSRS? I have a function I want to use to get a YTD value for a parameter:

DateDiff("dd", GetDate(), DateAdd("yy", DateDiff("yy", 0, GetDate()),0))

Running this in Sql server 2016 returns -160 for today

And SSRS is not enjoying this, I've converted all the intervals over to DateInterval.Day/Year and the GetDate()'s to Today but its still loving erroring that one of the inputs for dateDiff is not in date format. im gonna lose my mind!!!

Edit: I used an alternative method to get it to work but feel free to let me knwo why the above poo poo doesnt work with SSRS if you can!!

Jerkface fucked around with this message at 04:41 on Jun 11, 2021

Magnetic North
Dec 15, 2008

Beware the Forest's Mushrooms

necrotic posted:

Not to familiar with Vue, but in react when rendering an array each items render element has a key to identify the unique element. Does vue have a similar concept and you're using the array index as the key? That could cause issues if so.

Yeah, it seems to have something similar as described here. Keys were unused in the existing code, but did not change anything when I tried to add them. It's possible that I was doing it wrong the first time and in the interim I've learned enough to do it right or something, so I may try this again.

PIZZA.BAT
Nov 12, 2016


:cheers:


I looked around for an AI thread and couldn't find one so sorry if this should be somewhere else. I'm trying to get the groundwork set up for a personal project where I'll be teaching an AI how to play a game by having it play against itself however many millions of times it takes to learn. Most of the genetic libraries I've come across necessitate me feeding in some sort of fitness model so that it can breed the evolutionary model itself which won't work for my use case because the game itself isn't solved / isn't something that can be broken down to a simple formula.

Is there a library out there that will let me configure how the initial tree should look, ie: here's the 150 inputs at the base of the tree and what the outcome should look like, now generate me a million random trees with a depth of anywhere between 50-100, and just give them to me to evaluate myself? At that point I can evaluate their fitness myself and breed/mutate the winning pool and repeat the cycle.

Does such a library even exist?

Adbot
ADBOT LOVES YOU

CarForumPoster
Jun 26, 2013

⚡POWER⚡

PIZZA.BAT posted:

I looked around for an AI thread and couldn't find one so sorry if this should be somewhere else. I'm trying to get the groundwork set up for a personal project where I'll be teaching an AI how to play a game by having it play against itself however many millions of times it takes to learn. Most of the genetic libraries I've come across necessitate me feeding in some sort of fitness model so that it can breed the evolutionary model itself which won't work for my use case because the game itself isn't solved / isn't something that can be broken down to a simple formula.

Is there a library out there that will let me configure how the initial tree should look, ie: here's the 150 inputs at the base of the tree and what the outcome should look like, now generate me a million random trees with a depth of anywhere between 50-100, and just give them to me to evaluate myself? At that point I can evaluate their fitness myself and breed/mutate the winning pool and repeat the cycle.

Does such a library even exist?

Why is feeding it an initial decision tree a requirement? Is there a way to score the movements, actions, outcomes in a game? Are you trying to make a deterministic set of paths or can you just have a black box of a model that optimizes for whatever your scoring function is?

Also monte carlo tree search is kinda like what you're describing.

This guy has game AI videos that are meant to be edutainment but they can give you a nice sampling of some methods: https://www.youtube.com/watch?v=D5xX6nRWDko

CarForumPoster fucked around with this message at 21:19 on Jun 11, 2021

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