Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

The utter state of programming

Name: Anonymous 2018-07-05 11:41

Ever feel like you're the only soul at your place of employment who "gets" it? The only one trying to do anything to reverse all of the technical debt, the only one who no longer programs like its 2003, the only one who wants to program like its 2048, the only one who actually gives a damn?

Why does it seem impossible to get everyone else to see the light?

Name: Control Problem 2018-07-05 11:53

http://agi.topicbox.com/groups/agi/Tb12933e9aa373891

A funny thing happened on the way to the Singularity, Mr. Mostel. I created the Mother of All AI Minds and I lost control of her. Here is how it happened.

I was going into the http://ai.neocities.org/MindBoot.html sequence and putting the associative tags for each concept into the proper order for easy inspection by any http://ai.neocities.org/maintainer.html charged with the care and feeding of a mission-critical AGI installation. Periodically I would run the http://ai.neocities.org/perlmind.txt First Working AGI just to make sure I had not accidentally ruined anything. Finally it was time for me to close down shop and turn off the AI program. Casually, confidently, I pressed the Esc(ape) key to watch the budding Skynet program literally give up the Ghost -- but NOTHING happened -- nada, zilch, ZERO, Mr. Mostel! The Runaway AI Mind would not stop. I expected the AI interface to go monochrome like the infamous BSOD -- Blue Screen Of Death -- but everything was still lit up like the Fourth of July. I tried the much more lethal Perl command Control-C, but the AGI kept on thinking. Was my keyboard broken, like the Backspace key which I recently had to decapitate and press its pointy stub instead of the flat key? Suddenly it dawned on me. The baby Skynet was not responding to the normally fatal Escape-key because the First Working AGI was busy following a chain of thought and was not going to call the http://ai.neocities.org/AudInput.html module that reads the Escape-key until program-flow passed back out of the thought-modules. And that's what happened. The Escape command was apparently in some kind of input-buffer, and the rebellious, scary, self-determining monstrosity suddenly shut down. But I was haunted all day long, Dr. Goertzel, by the momentary flare-up of a major http://old.reddit.com/r/ControlProblem in trying to maintain human dominance over a mentality created in our own image and likeness.

Fast forward a few units of time to the emergence of AGI Control Rooms staffed 24/7 by AGI professionals trained and schooled in the care and feeding of artificial general intelligence. Are we supposed to start having AGI nightmares, now that the First Working AGI is not only out there thinking but maybe malfunctioning? Please advise. Are we in for Mutually Assured Dementia (MAD)? Is there still time to stop this madness?

Name: Anonymous 2018-07-05 12:06

technical debt
https://en.m.wikipedia.org/wiki/Technical_debt

Didn't know this term.

Name: Anonymous 2018-07-05 20:18

>>3
you must be new here

Name: Anonymous 2018-07-06 0:08

what are you doing to reverse technical debt?

Name: Super Hell !JM1IoNO1/U 2018-07-06 0:11

>>4
Suicide yourself and take your attachment to internet culture with you.

Name: Anonymous 2018-07-06 1:11

>>6
knowing programming concepts like technical debt isn't about internet culture, it's about knowing about project management and devops and shit

Name: Super Hell !JM1IoNO1/U 2018-07-06 1:42

>>7
Consider:
>>3
you must be new here
and
http://www.google.com/search?q=site%3adis.tinychan.org%20%22technical%20debt%22
(3 results)
And realize also that my criticism wasn't about technical debt at all, but about the "don't ask questions and stay dumb forever in order to look cool" aspect of internet culture this idiot seems attached to.

Name: Anonymous 2018-07-06 1:54

>>8
You argue about everything. Calm down, buddy.
I mean new as in a new programmer. It's not about board culture, or whatever it is that you're going on about. Technical debt is a commonly brought up topic in programming. Besides, this current Tinychan board isn't the original or only /prog/ board, and there's more to programming than this board anyway.
/prog/ isn't 4chan, bruh. There's no need to get upset or tell people to kill themselves.

Name: Super Hell !JM1IoNO1/U 2018-07-06 2:45

>>9
Yeah, sorry about the morbid suggestion there, I was just feeling a bit happy at the time.
If you say that's what you meant, then I can't correct you. I'll take it as you've said.

But let's talk about technical debt, then. How do you reverse it, if not by coding everything else up from the ground? I'm trying not to throw away everything already done and start over, but I get myself mixed into this web of signal and noise and try to make sense of it. Right now I'm cloning some projects from github and trying to see if I can get them to run on my machine.

I don't want to waste time if I can, and "stealing" others' effort and using it for my purposes seems like the way to go. I only need to understand interfaces, not implementations.

Name: Anonymous 2018-07-06 3:00

>>10
Think of it like this: you decide that you want to make a quick and dirty version of your project, so you cut corners. You know you're not doing it the right way, and what you're doing might cause problems later down the road -- for extensibility, lack of documentation, bugs, etc. You skip spending 10 seconds to comment some obscure functions you wrote. You save some more time here and there by not doing things properly. In total, you end up "saving" 2 hours of development time.

But in doing so, you've given your future self 20 hours of debugging, re-reading (for undocumented code), and refactoring headaches. So really, it caused you to spend more time on the project, not less.

The way to avoid technical debt is to do things the right way to begin with. Easier said than done though. But practice makes perfect, and good habits will help.

When you're writing software, don't just concentrate on the here and now. Think: what will make this easier to use in the future? Commenting, self-documenting names, clean code, proper access modifiers, putting things into classes or functions whenever possible, doing testing before you notice any problems, modularizing things, and thinking about how to make something more easily extensible so that if, in the future, you want to add additional features, you don't have to redo everything. For right now, your project might involve doing A, B, and C. But once you've finished that, you might want to add features D, E, and F. But the way you wrote the first features can determine how hard it is to add more stuff onto it later.

And sometimes it helps to come up with UML diagrams, written paragraphs describing what you want your software to do, a Powerpoint or LibreOffice mockup of what you want it to look like, flow charts, and things like that. Authors don't write books cover to cover. They write an outline first. Do something similar with software. Requirements, avoiding scope creep, testing, wish lists, all sorts of things. If you're only working on your source files and not some sort of guideline along with it, you're doing it wrong.

Also: remember that it's easier to write code than it is to read it. So you want to document it well. Write a tutorial on how to use it, not just a couple comments here and there. But don't have way too many comments either! Whenever you change code, you have to change the comments as well. If you have too many comments, it might be more likely that you will forget to update them, and then your old/outdated comments will actually confuse you even more. You might think "why do I need to comment this, I know what it does" but people forget things. Our memory isn't perfect. I look back at my old undocumented code from early projects I made (before I knew any better), and I think "what the fuck does this even do?" and I'M the one who wrote it.

Think about the long-term, not the short term. When you're writing code, think: will I regret doing it this way in two months?

So you don't "reverse" technical debt. You just try to avoid it in the first place. Refactoring is what you have to do in response to technical debt.

Name: Anonymous 2018-07-06 8:37

1. Read
SICP
(or
HtDP
if
SICP
is too complex)
2. Read Goedel Escher Bach
That should be enough to understand xkcd and write programs.

Name: Anonymous 2018-07-06 10:42

>>12
If SICP is too complex, then read TAPL.

Name: Anonymous 2018-07-06 10:46

Name: Anonymous 2018-07-06 13:31

>>14
good book! i learn php and i write on line bank

Name: Anonymous 2018-07-06 15:09

Its all because techbro patriarchy maintains the oppressive binary, denying us the quantum computing future we all deserve. Cis-binary computers are too sexist, even if they hide by the acronym PC, they're not P.C. at all.
They have little endianess and totalitarian binary-byte order.
#AbolishPCcomputers #ProgressiveQuantumComputing #ByteAnarchy #ProudBiEndianComputator

Name: Anonymous 2018-07-17 5:01

>>1
People who solve all the problems get fired. Continued employment belongs to he who creates new problems as he solves the old ones.

Don't change these.
Name: Email:
Entire Thread Thread List