IT/Software career thread: Invert binary trees for dollars.

Asshat wormie

2023 Asshat Award Winner
<Gold Donor>
16,820
30,964
So here is a weird couple of questions.

1.) Does anyone know much about docker? I have dabbled with it but going to try and make one myself and not sure where to start really.

2.) So that program I had built, how hard is it to "translate" things like that to other code? I would assume it has to all be done by hand but is there a way to attempt to auto translate it by machine? Let's say it's made in ruby and I want it in python or umm nodejs or anything else.

Number 2 sounds useless as fuck so there probably does not exist a way to do so.
 

Asshat wormie

2023 Asshat Award Winner
<Gold Donor>
16,820
30,964
You would have to know the language the code is written in to be able to port it though.
 

a_skeleton_03

<Banned>
29,948
29,762
You would have to know the language the code is written in to be able to port it though.
Well yeah you would select it in a drop down box. I would hope that something that can "translate" code to code by machine would be able to detect what language it's in before doing so though.
 

Asshat wormie

2023 Asshat Award Winner
<Gold Donor>
16,820
30,964
You have to understand both language well enough to translate the code. If the goal is to rewrite something into another language, it seems much easier to actually re write the code than to create a program that would do it. While theoretically possible, it seems highly improbably and impractical to write a machine that will understand the differences in languages well enough to translate from one to another.
 
  • 1Like
Reactions: 1 user

Cad

<Bronze Donator>
24,487
45,378
So here is a weird couple of questions.

1.) Does anyone know much about docker? I have dabbled with it but going to try and make one myself and not sure where to start really.

2.) So that program I had built, how hard is it to "translate" things like that to other code? I would assume it has to all be done by hand but is there a way to attempt to auto translate it by machine? Let's say it's made in ruby and I want it in python or umm nodejs or anything else.

I have never heard of anything with the ability to translate from one high level language to another.
 

wilkxus

<Bronze Donator>
518
210
Well yeah you would select it in a drop down box. I would hope that something that can "translate" code to code by machine would be able to detect what language it's in before doing so though.
It is impossible to write a translator of such a general nature today because it a task on the order of difficulty and complexity of essentially creating an artifical learning neural network capable of tasks equivalent of the domain inteligence of a human software developer.

To write software you need enough intelligence to do following:
  1. know language A & B (syntax): possible but complicated (ie compilers level complicated hehe). Part of Comp Sci domain
  2. know problem domain which CHANGES by application (need neural network to train level of complexity, cannot *code* it by hand unless *you* have your own neural network experience with the domain:)
  3. have experience applying language to problem domain. In this case domain is porting from language A to language B.... (again, complex learning tasks requiring human level neural learning network)
While human language to language translation is getting better as the learning algorythms/networks improve for absorbing domain inteligence on human languages (grammar & context from body of human literature), we are not nearly there yet for any more complex problem domains.

And if we WERE there, already having machine inteligence or automation tool with that depth of domain knowledge, there would/will be a LOT (if not most) software developers and software engineers out of work!

Even the relatively simple task (your project from last wek) for a human of *assembling* already existing and working components, and gluing them together in a functional manner using OSS code and APIs, (20 hours of work for a human?) would require an incredibly complex system!

...One not in existance at the moment and out of scope by orders of magnitude at least relaive to even the most advanced existing artificial neural learning networks anywhere.
 

moontayle

Golden Squire
4,302
165
I've done a lot of translating from Java to Kotlin over the past year. Even though they both compile down into Java bytecode, there's not always a 1:1. Syntax knowledge is very important and sometimes the translation isn't obvious.
 

alavaz

Trakanon Raider
2,001
713
They have translators - they were actually pretty popular back in the 80's and stuff. I know for sure there are FORTRAN to Ada and Pascal translators. I think there are some C/C++ to python type of translators as well. Most of them just rewrite source find and replace style so it would probably be too complex to write a modern language translator.
 

Deathwing

<Bronze Donator>
16,390
7,391
Why would you want to translate C/C++ to Python when Python is implemented in C?
 
Last edited:

alavaz

Trakanon Raider
2,001
713
I'm guessing for legacy shit that people don't really need/want/lack the support to maintain in C any longer? who knows.
 

Ao-

¯\_(ツ)_/¯
<WoW Guild Officer>
7,879
507
Everyone else seems to have ignored it: Why do you want to use docker?
 

Noodleface

A Mod Real Quick
37,961
14,508
Yuck I can't imagine writing python code that was translated from C.

Van python even do a lot of the low level things? I've never looked into it.
 

Asshat wormie

2023 Asshat Award Winner
<Gold Donor>
16,820
30,964
I dont agree that a deep learning approach is what a language translation system would use. I would imagine a type system akin to proof checkers is the way to go.

But speaking of deep learning, I heard about this on a podcast yesterday and its an awesome read:

https://arxiv.org/pdf/1610.06918v1.pdf

Basically a sender and receiver neural networks were given a goal to protect information from a hostile neural network during transmission. The machines figured out a way to successfully encrypt the data without being told anything about encryption. Pretty hot.

In other news, this just hit my mail box:

http://www.acm.org/binaries/content/assets/public-policy/2017_usacm_statement_algorithms.pdf

Who is ready for some SJWisms in their algorithms? Hell yeah! :(
 

a_skeleton_03

<Banned>
29,948
29,762
Everyone else seems to have ignored it: Why do you want to use docker?
I got your PM but the popular thing in the selfhosted community is to spin up everything in containers. You don't even have to know how any of it works just pull it down and assign the port you want to it.
 

chaos

Buzzfeed Editor
17,324
4,839
I read that that Google Brain shit, pretty wild. At Defcon they had an automated CTF last year using DARPA grants, that's wild. Going to listen to those guys talk on Sunday.
 

Asshat wormie

2023 Asshat Award Winner
<Gold Donor>
16,820
30,964
I read that that Google Brain shit, pretty wild. At Defcon they had an automated CTF last year using DARPA grants, that's wild. Going to listen to those guys talk on Sunday.

Adversarial learning is going to be the only way to do security in some years I bet. How can it not be? All Hail Skynet.
 
  • 1Like
Reactions: 1 user

chaos

Buzzfeed Editor
17,324
4,839
Gary Kasparov was on Sam Harris' podcast, and he was talking about playing chess vs a computer. The bottom line is that now, even at Kasparov's level, there is no human on Earth that can beat the best computer. However, a human/AI team can, easily at that. I think that's probably the way the industry is headed. I don't know how he does his AI-assisted human playing chess thing, but I imagine that is the concept of where attacking/pentesting/code review is heading over the next decade or more.
 

Ao-

¯\_(ツ)_/¯
<WoW Guild Officer>
7,879
507
I got your PM but the popular thing in the selfhosted community is to spin up everything in containers. You don't even have to know how any of it works just pull it down and assign the port you want to it.
Usually it's building the containerized app with all of it's contents so it's faster to deploy and version. Not knowing anything about it is dangerous, but that's an admin's choice. You basically want to be able to deploy the container, build your app on it (either in the same container as an immutable part of it, or in a separate container), and then can deploy that app via the containers to efficiently scale it or update versions etc.

Unless you're taking advantage of some of the Docker feature set, it's pretty similar to using an installer with a good configuration management front-end.