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
Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Thermopyle posted:

I just want to learn something different from what I know. However, I just know I won't put in the effort if it's something so oddball that the available libraries are really lacking or if I can only deploy to some weird platform. Basically, I want something that will teach me something new and yet be mainstream-enough that I can do useful things (websites, games, scripting, whatever) with it without a ton of re-inventing the wheel.

I know everybody's already suggesting different stuff, so you're probably not going to read this, but:

I'm going to suggest C. You can start with high-level stuff that looks a quite a lot like Java/Python/C# (my experience is with GTK+, but plenty of libraries follow that model), and slowly start dipping your toes into the low-level stuff.

Later, try your hand out at Lisp and Haskell and Rust, because they're really worth exploring. But with the proper libraries and in the proper environment, C looks a lot like what you already know.

Adbot
ADBOT LOVES YOU

Selklubber
Jul 11, 2010
Not sure if this is the right tread or not, but I'll try:
In MATLAB I got four equations
a = x+z
b = x+((y*z)/(y+z))
c = y+z
d = y+((x*z)/(x+z))
How can I sort these so that I get x, y, z on the left side, expressed by a, b, c and d?

Selklubber fucked around with this message at 16:46 on Oct 3, 2013

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Suspicious Dish posted:

I know everybody's already suggesting different stuff, so you're probably not going to read this, but:

Not going to read this!

Suspicious Dish posted:

I'm going to suggest C. You can start with high-level stuff that looks a quite a lot like Java/Python/C# (my experience is with GTK+, but plenty of libraries follow that model), and slowly start dipping your toes into the low-level stuff.

Later, try your hand out at Lisp and Haskell and Rust, because they're really worth exploring. But with the proper libraries and in the proper environment, C looks a lot like what you already know.

Damnit, I read it anyway.

That's a good suggestion. I had in mind really different programming paradigms when I said I was looking for something different, but now that you mention it, something lower-level like C sounds interesting as well.

Anyway, thanks for all the recommendations thread!

Nippashish
Nov 2, 2005

Let me see you dance!

Selklubber posted:

Not sure if this is the right tread or not, but I'll try:
In MATLAB I got four equations
a = x+z
b = x+((y*z)/(y+z))
c = y+z
d = y+((x*z)/(x+z))
How can I sort these so that I get x, y, z on the left side, expressed by a, b, c and d?

You need to use the syms package to do things like that, but matlab is really not the best tool for symbolic math.

Pollyanna
Mar 5, 2005

Milk's on them.


People forget that the "mat" stands for matrix, not math. :v:

Thanks for recommending Heroku. I'll try and figure out how to develop web apps...

Selklubber
Jul 11, 2010

Nippashish posted:

You need to use the syms package to do things like that, but matlab is really not the best tool for symbolic math.

I learned that now. I should have remebered to just google it, found a calculator now. :saddowns:

Seashell Salesman
Aug 4, 2005

Holy wow! That "Literally A Person" sure is a cool and good poster. He's smart and witty and he smells like a pure mountain stream. I posted in his thread and I got a FANCY NEW AVATAR!!!!

Selklubber posted:

I learned that now. I should have remebered to just google it, found a calculator now. :saddowns:

WolframAlpha.com can solve the equations you posted.

Selklubber
Jul 11, 2010

Seashell Salesman posted:

WolframAlpha.com can solve the equations you posted.

I tried WolframAlpha, but didn't figure out how to do it in sets. Tried step by step but it crashed in endless parantheses and square roots. Here's the result if anyone wants it:

Seashell Salesman
Aug 4, 2005

Holy wow! That "Literally A Person" sure is a cool and good poster. He's smart and witty and he smells like a pure mountain stream. I posted in his thread and I got a FANCY NEW AVATAR!!!!
I entered them in a comma separated list and it seemed to interpret it right.

Workaday Wizard
Oct 23, 2009

by Pragmatica
RE: Solving equations

I haven't tested it but this exists.

No Safe Word
Feb 26, 2005

Anybody here ever undergone PA-DSS certification? Just curious because that may be something in my future...

Telemarchitect
Oct 1, 2009

TOUCH THE KNOB
Qt advertises itself on being cross platform, but I've never cross compiled stuff from it before. How straightforward is it to get a Windows Qt project running on OSX? I'm trying to develop an app that runs on both, and cross compatibility is far harder to bolt on after the fact.

I was originally looking at JavaFX but I'm starting to shy away from it because of the prerequisites mac users will have to install to get it running.

maskenfreiheit
Dec 30, 2004
.

maskenfreiheit fucked around with this message at 21:29 on Apr 28, 2019

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

GregNorc posted:

Can I update the MX record if I don't control the new provider? The new provider is G-mail.

If your email address is you@GregNorc.org then yeah, you're in control. If you're contemplating a switch to GregNorc@gmail.com then I suggest looking into your own domain.

Marta Velasquez
Mar 9, 2013

Good thing I was feeling suicidal this morning...
Fallen Rib

GregNorc posted:

Can I update the MX record if I don't control the new provider? The new provider is G-mail.

DreamHost has a procedure to do something similar in their wiki. You may be able to use that. Specifically, it's to use Gmail's interface and backend with your domain's email address.

DreadCthulhu
Sep 17, 2008

What the fuck is up, Denny's?!

NtotheTC posted:

These days this isn't the barrier to entry it used to be. Getting a simple hosted VPS set up for you to do what you want with it shouldn't cost you much more than $10 a month, and is a very good skillset to learn. That's what I've been doing recently as I had very little experience with setting up servers and I wanted somewhere to host live versions of the projects I worked on to showcase to people, rather than just having the source code on github.

As for web app ideas: Start where everyone starts, write a personal blog site that has support for posting code-snippets, and fill it with posts about things you learn, problems you face and how you overcame them and so on. It may not sound original, but that's a good thing for your first project, it means you'll be able to find quick answers to any problems you have. It is also the best way to showcase your work at an interview. You will have such an easier time getting a job if you can say "Here's a link to my website" and they can go away and look at how you identify problems and find solutions.

Totally agree with this. To add to it, I'd discourage the use of Heroku / Elastic Beanstalk or even worse, something like Parse/Firebase. I'd instead force myself to learn how to use a clean Linux box to host web applications, how to only ever interact with it through Configuration Management. How to have different deployment environments etc. It'll take you way longer than if you were to just magically slap an app on Heroku through some script they provide you, but you'll gain a very visceral understanding of how the whole stack works, which will give you a very strong foundation to begin with.

ufarn
May 30, 2009
The last time I mucked about with Homebrew, all hell broke lose, so I figure I should rather ask you guys what to do:

Sh code:
$ brew install poppler
Error: You must `brew link freetype' before poppler can be installed

$ brew link freetype
Linking /usr/local/Cellar/freetype/2.5.0.1... Warning: Could not link freetype. Unlinking...

Error: Could not symlink file: .../freetype2.m4
Target /usr/local/share/aclocal/freetype2.m4 already exists as a symlink to .../freetype2.m4.
If this file is from another formula, you may need to
`brew unlink` it. Otherwise, you may want to delete it.
To force the link and overwrite all other conflicting files, do:
  brew link --overwrite formula_name

To list all files that would be deleted:
  brew link --overwrite --dry-run formula_name
Can someone explain what I need to do to install poppler (pdftotext)?

EDIT: Tables

ufarn fucked around with this message at 22:53 on Oct 6, 2013

nielsm
Jun 1, 2009



ufarn posted:

The last time I mucked about with Homebrew, all hell broke lose, so I figure I should rather ask you guys what to do:

Sh code:
$ brew install poppler
Error: You must `brew link freetype' before poppler can be installed

$ brew link freetype
Linking /usr/local/Cellar/freetype/2.5.0.1... Warning: Could not link freetype. Unlinking...

Error: Could not symlink file: /usr/local/Cellar/freetype/2.5.0.1/share/aclocal/freetype2.m4
Target /usr/local/share/aclocal/freetype2.m4 already exists as a symlink to ../../Cellar/freetype/2.4.11/share/aclocal/freetype2.m4.
If this file is from another formula, you may need to
`brew unlink` it. Otherwise, you may want to delete it.
To force the link and overwrite all other conflicting files, do:
  brew link --overwrite formula_name

To list all files that would be deleted:
  brew link --overwrite --dry-run formula_name
Can someone explain what I need to do to install poppler (pdftotext)?

This is mostly guesswork, but:
Your current freetype installation is version 2.4.11, however poppler wants/needs to use version 2.5.0.1, which is why it fails. Brew refuses to overwrite the freetype installation just so when you tell it to link it. (I assume "linking" in this context means "creating symlinks from a versioned installation to generic names".)
Try brew unlink freetype see if it wants to do that. If that succeeds you should be able to re-link it afterwards, which should then link the 2.5 version instead.

ufarn
May 30, 2009

nielsm posted:

This is mostly guesswork, but:
Your current freetype installation is version 2.4.11, however poppler wants/needs to use version 2.5.0.1, which is why it fails. Brew refuses to overwrite the freetype installation just so when you tell it to link it. (I assume "linking" in this context means "creating symlinks from a versioned installation to generic names".)
Try brew unlink freetype see if it wants to do that. If that succeeds you should be able to re-link it afterwards, which should then link the 2.5 version instead.
No dice:

code:
$ brew unlink freetype
Unlinking .../freetype/2.5.0.1... 0 links removed

$ brew link freetype
Linking .../freetype/2.5.0.1... Warning: Could not link freetype. Unlinking...

Error: Could not symlink file: .../freetype2.m4
Target .../freetype2.m4 already exists as a symlink to .../freetype2.m4.
If this file is from another formula, you may need to
`brew unlink` it. Otherwise, you may want to delete it.
To force the link and overwrite all other conflicting files, do:
  brew link --overwrite formula_name

To list all files that would be deleted:
  brew link --overwrite --dry-run formula_name

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

DreadCthulhu posted:

Totally agree with this. To add to it, I'd discourage the use of Heroku / Elastic Beanstalk or even worse, something like Parse/Firebase. I'd instead force myself to learn how to use a clean Linux box to host web applications, how to only ever interact with it through Configuration Management. How to have different deployment environments etc. It'll take you way longer than if you were to just magically slap an app on Heroku through some script they provide you, but you'll gain a very visceral understanding of how the whole stack works, which will give you a very strong foundation to begin with.

I'd be interested in hearing why you feel this is different from telling someone to learn assembly instead of a higher level language because it will give you a very strong foundation to begin with.

NovemberMike
Dec 28, 2008

Thermopyle posted:

I'd be interested in hearing why you feel this is different from telling someone to learn assembly instead of a higher level language because it will give you a very strong foundation to begin with.

Learning how the linux box works is actually useful where the actual steps the processor takes are almost completely abstracted away with modern computers? Setting up a linux box to act as a web server is also a lot easier, we're basically talking about spending a few hours on a tutorial here, not spending weeks or months learning assembly.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
Yes, let's spend time learning the arcane Apache configure syntax rather than writing my code.

carry on then
Jul 10, 2010

by VideoGames

(and can't post for 10 years!)

Okay so if we're at "low level understanding vs high-level productivity," what's next on the wheel?

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

NovemberMike posted:

Learning how the linux box works is actually useful where the actual steps the processor takes are almost completely abstracted away with modern computers? Setting up a linux box to act as a web server is also a lot easier, we're basically talking about spending a few hours on a tutorial here, not spending weeks or months learning assembly.

Heroku and the like completely abstract away setting up a box.

Knowing how to set up a box is only useful if you need to set up boxes.

Look, I don't think there's anything wrong with learning it if that's what you want to do, it's just that in this day and age it's not necessarily required.

Opinion Haver
Apr 9, 2007

carry on then posted:

Okay so if we're at "low level understanding vs high-level productivity," what's next on the wheel?

That article about 'what every programmer needs to know about memory' that goes into muxes and refresh rates?

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

Suspicious Dish posted:

Yes, let's spend time learning the arcane Apache configure syntax rather than writing my code.
Even if you are setting up your own servers there aren't a lot of compelling arguments for using Apache these days other than that you already know how to configure it.

Drythe
Aug 26, 2012


 
Can anyone explain finding runtime for code concisely? I missed a few classes and my textbook really likes to say a lot more than it needs to.

coffeetable
Feb 5, 2006

TELL ME AGAIN HOW GREAT BRITAIN WOULD BE IF IT WAS RULED BY THE MERCILESS JACKBOOT OF PRINCE CHARLES

YES I DO TALK TO PLANTS ACTUALLY

Drythe posted:

Can anyone explain finding runtime for code concisely? I missed a few classes and my textbook really likes to say a lot more than it needs to.

You mean, finding complexity bounds for algorithms? Christ, you'll have to be a bit more specific because there're entire academic disciplines about it. Is it just about counting loops?

coffeetable fucked around with this message at 15:28 on Oct 7, 2013

Munkeymon
Aug 14, 2003

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



GregNorc posted:

Haha, sounds cool. What was the name of this parser? I'll check it out.

Pretty sure it was just this: http://docs.python.org/2/library/email.parser.html

Drythe
Aug 26, 2012


 

coffeetable posted:

You mean, finding complexity bounds for algorithms? Christ, you'll have to be a bit more specific because there're entire academic disciplines about it. Is it just about counting loops?

It looks like we started counting while and for loops and now we are doing upper and lower bounds.

nielsm
Jun 1, 2009



Drythe posted:

It looks like we started counting while and for loops and now we are doing upper and lower bounds.

Sure sucks, doesn't it?
Complexity analysis is hard stuff, don't miss those classes next time you can take the course.

(Or study extra hard, do some exercises and find someone who's willing to check your work and explain your mistakes.)

JawnV6
Jul 4, 2004

So hot ...

Drythe posted:

It looks like we started counting while and for loops and now we are doing upper and lower bounds.

This is a huge topic and forum posts aren't going to cover it. They're still gently easing you into the concept of complexity, you haven't hit the heavy lifting yet. Christ, go to class.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Does anyone else find that every once in a while they get stuck on a simple problem that you know is a simple problem?

I spent an hour trying to get a stupid 6 line for loop working that looked for a column of data with the lowest number of elements in it with a couple of constraints on what kinds of elements got counted. Super simple Baby's First Programming 101 problem and I could have cried because I couldn't see where I hosed it up.

(Turns out that a ">" is not the same thing as a "<")

Jewel
May 2, 2009

Thermopyle posted:

Does anyone else find that every once in a while they get stuck on a simple problem that you know is a simple problem?

I spent an hour trying to get a stupid 6 line for loop working that looked for a column of data with the lowest number of elements in it with a couple of constraints on what kinds of elements got counted. Super simple Baby's First Programming 101 problem and I could have cried because I couldn't see where I hosed it up.

(Turns out that a ">" is not the same thing as a "<")

It's usually the simplest/shortest problems that give the most anguish (at least, in a shorter time span). My friend yesterday got stuck on the second question in an easy maths textbook while revising, for over an hour, and said he felt like poo poo because he'd seemingly gotten so bad at maths over the years, but it turns out the answer in the back of the book was wrong :allears:

Internet Janitor
May 17, 2008

"That isn't the appropriate trash receptacle."
I can think of a few instances where I had a really tough time writing a particular piece of code the first time and this resulted in a sort of lingering fear of that problem. I spent a while silently dreading implementing word-wrap routines for this reason. Then a few years ago I sat down, opened an editor and hammered out an implementation in 20 minutes that worked correctly the first time. Can't let yourself get psyched out while coding.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Thermopyle posted:

Does anyone else find that every once in a while they get stuck on a simple problem that you know is a simple problem?

This is me every five minutes when using auto layout in Cocoa. I forget one stupid constraint and boom, an hour evaporates.

AMBIGUOUS LAYOUT go gently caress yourself

Doctor w-rw-rw-
Jun 24, 2008

pokeyman posted:

This is me every five minutes when using auto layout in Cocoa. I forget one stupid constraint and boom, an hour evaporates.

AMBIGUOUS LAYOUT go gently caress yourself

This is why I don't use autolayout. I use a C++ class which is basically a device-aware struct of measurements, so the client code simply requests an instance. I can put up a gist on github late tonight / tomorrow morning if you're interested.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Doctor w-rw-rw- posted:

This is why I don't use autolayout. I use a C++ class which is basically a device-aware struct of measurements, so the client code simply requests an instance. I can put up a gist on github late tonight / tomorrow morning if you're interested.

I don't make it a habit to dive into C++ but I'd love to see it, if it's not much work to put up a sample.

shrughes
Oct 11, 2008

(call/cc call/cc)

Drythe posted:

Can anyone explain finding runtime for code concisely? I missed a few classes and my textbook really likes to say a lot more than it needs to.

It's easy.

1. Learn descriptions of the running time or memory usage (or other metrics) of all the necessary language constructs and library functions.
2. Given this information, compute descriptions of the running time or memory usage (or other metrics) for other pieces of code.

Descriptions are often made with big O notation and related forms of notation, which are nice because they combine easily and omit details that won't surprise you in large test cases.

Adbot
ADBOT LOVES YOU

Zaphod42
Sep 13, 2012

If there's anything more important than my ego around, I want it caught and shot now.

Drythe posted:

Can anyone explain finding runtime for code concisely? I missed a few classes and my textbook really likes to say a lot more than it needs to.

:ssh: A whole lot of programmers feel this way early on and skip stuff, and then later on find out that nothing makes sense and they just copy & paste and fudge their way to a degree, and then can't write basic programs and are unhirable.

Some of that stuff may actually be worth reading. It may seem basic, but the basics are EVERYTHING.

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