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

Pages: 1-4041-

Chose your co-programmer.

Name: Anonymous 2014-01-12 23:30

From these stereotypes:

1:
Languages by experience: Bash, Python, Ruby, Perl, Haskell
Languages by love: Haskell, OCaml, Erlang, Scala, "Lisp"
Has written: Automated testing software, eStores, social network data mining software.
Favorite programs: Git, BSD, Vim, Sublime text, Twitter
Hates: Object oriented programming.
University grades: Completely average.

2:
Languages by experience: Java, C++, Smalltalk, Common Lisp, Forth
Language by love: Common Lisp, Forth, Smalltalk, Java
Has written: Equipment calibration, educational software, traffic control systems, signal processing and visualization
Favorite programs: Codewarrior, IntelliJ, Emacs, Zmacs, Macsyma, Mirai, Genera, Squeak, Mathematica, ACL2, Qemu, GNU Electric
Hates: UNIX
University grades: Very high, but two random fails.

3:
Languages by experience: C++, C#, x86, VB.NET, Delphi
Languages by love: Delphi, C#, x86, VB.NET, C++
Has written: Antivirus software, Serious Sam, natural language processing software
Favorite programs: Hiew, Visual studio, WinDbg, Borland Turbo Pascal, PIX, Windows 2000, FreeDOS.
Hates: Excessive use of libraries.
University grades: terrible.

Name: Anonymous 2014-01-13 0:07

They're all shit but I'd pick 1.

Name: Anonymous 2014-01-13 0:19

>>2

O.K

Now choose your project:
1: Credit card fraud recognition system.
2: Porn website front end.
3: Interactive flow and heat analysis extension for a large CAD system.

Name: Anonymous 2014-01-13 0:27

2

Name: Anonymous 2014-01-13 0:34

I refuse to judge the future perfomance of an individual by their past work. The only factor that I take into consideration is what they hate. It's ok to hate something, but it's not ok if that hate prevents them from taking the said thing into consideration as a possible solution to problems. Given this, I would make my choice considering my impression of how open or closed they are to using things they hate, and how necessary the things they hate may be to the problems at hand.

>>3
3 is the most interesting but I elect instead to produce an ocr program that outperforms the average human at captchas.

Name: Anonymous 2014-01-13 0:39

3

Name: Anonymous 2014-01-13 0:39

Favorite programs: Git, BSD, Vim, Sublime text, Twitter
Considering Twitter a program? I'd kill this nigger.

Name: Anonymous 2014-01-13 0:43

2 seriously confuses me. The traffic control system and someone liking Mathematica sounds really cool, but loving Java and hating UNIX is an obvious sign of being a fucking fag.

>>3
How are you even supposed to recognize fraud? I don't get it.
Porn is shit and so is web ``development''.
I'll pick 3, thank you.

Name: Anonymous 2014-01-13 0:44

Yourself and your co-programmer begin work. Your co-programmer has limited experience with JavaScript so you agree on him taking two weeks to experiment and get up to speed while you come up with the document structure and discuss with the back-end guy.

He reads "JavaScript the good parts" and seems to be making progress and you think "great I'll have my co-programmer just in time for the logic".

However, after this he learns of ClojureScript and decides that ClojureScript is the best way to do front-end web programming. He insists on using ClojureScript and, being curios, you give in.

After a week of going no where and spending your time with broken tools and debugging two languages simultaneously you say "Look it'll be easier if we just used plain JavaScript with JQuery". Your co-programmer argues and feels dejected but he eventually agrees.

You finally start making some progress and have most of the get queries going. Your co-programmer, upset with the "spaghetti code" and "inelegance" insists on using "Functional Reactive Programming" with "Elm". He also cites the "elegance" of its syntax and its similarity to Haskell. You adopt a different tactic this time and tell your colleague to see what he can do with it, while you work on what you already have.

You complete your logic while your colleague miserably tries to fit round pegs into square holes but always pesters you with every little accomplishment. He keeps reworking his more "elegant" rewrite of the logic, which begins to grow far more incomprehensible compared to your plain event driven JQuery, despite your colleague's insistence otherwise.

You spend the next two weeks writing the CSS and testing, and eventually both yourself and the customer are happy with it.

Your colleague did not help much, but at least you completed the project.

Name: Anonymous 2014-01-13 0:51

>>8

Ok, CAD system it is, now pick your colleague.

Name: Anonymous 2014-01-13 0:54

>>5

Ok, OCR system it is, now pick your colleague.

Name: >>9 2014-01-13 0:56

>>9 was in response to the combination of programmer 1, with project 2 as desired by >>2 and >>4

Name: >>5 2014-01-13 1:14

Do I smell a programming visual novel?

>>11
I choose colleague 3

Name: >>8, CAD 2014-01-13 1:22

>>10
I choose 2.

Name: Anonymous 2014-01-13 1:59

Why would 2 hate unix?

Name: Anonymous 2014-01-13 2:23

>>14

Whenever you see your colleague, you are always surprised. He is clean shaven, save for a carefully trimmed moustache, dressed in a nice, ironed shirt carrying a TI-89 in the front pocket, and 501 jeans. He has no smell, and has medium length hair and deep intelligent eyes. However whenever you try remember his face or describe him to others all you recall is an ancient man with wisdom (not just intelligence) in his eyes, and a long white beard, the only words you can utter in such a situation are inexplicably "The Sussman". You ignore this phenomenon.

Your colleague walks you through the high level algorithmic program flow required to solve the problem using Mathematica. Your eyes glaze over as he offers explanation after explanation of finite element analyses, efficient vector field simulation, how Mathematica possibly does this or that, how Mathematica can't give you the last term of some ODE while Macsyma can etc. etc.

You partition definite tasks regarding interfacing with the CAD software, which is written partly in Java partly in C++, but your colleague and yourself also leave a lot of room for improvization. You write the GUI extensions to the program in a week and spend the next week or so visualizing their use and refining the design. You implement the required stubs for the heavy lifting. Your colleague on the other hand attempts to understand the heavy lifting discussed earlier using Mathematica by experimenting in Common Lisp and looking at the Maxima source with his hands on his head. He explains what he is doing to you and you provide constant input, which he values and respects. You like the way he writes programs, but you have huge reservations on how these things will work in Java without being slow or overly verbose.

Once your colleague thinks he has everything down-pat, you and your him to work implementing and refining things Java. Your colleague and yourself work together writing tests and making them pass.

But when it came to the system as a whole, your colleague surprises you with feats of Java wizardry you had not previously dreamed of. Java to him was as malleable as Smalltalk. He summoned Java spirits you have never even heard the name of: The reflection API (yes you've heard of it, even used it, but like this? never), hand coded .class files, dynamic generation of classes and methods in one amazing symphony. The internal data structure of the 3D part was turned into a winged edge structure, from this symbolic expression trees represented by Java objects were generated, from those programs were born! You finally understood. Of course, the STRUCTURE and INTERPERTATION (nay, in this case compilation!) of computer programs. From data structures representing symbolic expressions (You had often made the mistake of describing this or that algebraic expression from this or that source literally, "No no no!" the wizard would admonish, "how are you to check if its monotonically increasing? how are you to know if adding another term wouldn't give you a better local optimum? keep it symbolic, only when you are sure you can't do better then compile it and send it to the FPU!") programs were born. Efficient. Beautiful. Computer programs tailored to the needs of the run-time system.

The beauty! In Java! You had thought it impossible. You thought such beauty was reserved for those mysterious and impenetrable languages like "Haskell". But what "elegance" you saw in all those Haskell tutorials could not compare. Nay in the face of such magnificence all the things you once admired were revealed to be cruel farces, jokes, bad jokes. Bitterness flowed through you for a second, but just as quickly your thoughts turned back to the magic that was now taking place. Such wizardly control over the machine. You were enamaored!

One day however there was a segfault. When it happened your colleague shed a single tear of sorrow. You hastened to explain if you could ask the vendor for sources and use valgrind and maybe in Visual Studio which has a good visual debugger but your colleague put his hand up and said "It's no good, back in the old days this would trigger a restart, I could M-. right to the source, we could write the hack and shadow the faulty symbol, leaving the bug in for any other part of the program that relied on it... as it is, it would be a waste of time".

Your remarkable colleague fell into a deep depression. He called in sick the next two days, while you worked your hardest to get things to an acceptable level. It was only a week till shipping time.

Your colleague eventually came back, and you both ironed out what was left, finishing your task only a week late, which the customer didn't seem to care about.

The wizard left just as mysteriously as he came, and you never saw him again. However you learned an important lesson, and the experience changed your life.

Name: Anonymous 2014-01-13 2:40

>>15

Why would someone who has used Smalltalk or Genera (or someone who grew up with classic Macs) like UNIX?

All such people I have met are extremely bitter about UNIX having won.

Name: Anonymous 2014-01-13 3:01

>>16
That was beautiful ;_;

Name: Anonymous 2014-01-13 3:19

>>16
Please consider writing a novel.
I truly enjoyed reading it.

Name: Anonymous 2014-01-13 9:20

>>16

I agree with >>19. Write a novel. Put it up on Kickstarter. Then advertise on HN.

Name: Anonymous 2014-01-13 10:20

>>13

Your colleague and yourself begin to work.

The first thing you notice is the difficulty of communication. Your colleague's thick slavic accent and dismissive demeanour both give him an air of intelligence (you suspect it is undeserved) and a thorny barrier to make you think twice before approaching with what could be perceived as a dumb question.

Your first idea is to use a very large neural network data structure and simple supervised learning style backpropagation: after all the hard part is already done, you could use the same data for learning as is used for captcha verification. However when you propose this idea to your colleague, he quickly dismisses it saying "No, neural network is just an inefficient regression function, it lacks predictive power". Your colleague details an image procesing pipeline consisting of color conversion, edge detection, and an A* like algorithm (i.e. both a heuristic and a cost function) on a tree of various geometric transforms applied, with the heuristic being the amount of characters isolated and the certainty of their geometric features. You agree it is a good approach.

You propose using an image processing library, or prototyping in some high level software. The idea is met with scorn almost immediately "Why use inferior programs? Why write the same program twice, once inefficiently and the other time efficiently? We will not do this". You don't dare to suggest that maybe there is an oversight in the original design.

After much difficulty partitioning tasks (due to your colleague's insistence that any up-front design (even just discussion) is pointless), you get to the point where you have something concrete to work on.

You begin your task which is to write a high level prototype for the batch process in C# (at your colleague's insistence) learning the language along the way. Every now and then your colleague looks over your shoulder and gives you a tip, which you appreicate, but also grow to fear, as he has very strong opinions.

Your colleague begins writing the vocabulary of the program (if you will) in C++ full of inline assembly almost immediately. Whenver you ask, he has an immediate justification, citing MSVC not properly pipelining something, definite cache misses, and missed opportunities for vectorization. However, he also spends a ridiculous amount of time writing DLL boilerplate.

You write tests for his procedures, and find many bugs which he promptly dismisses as trivial and fixes. You also refine your batch process skeleton with the concrete vocabulary from your co-programmer, while also filling in and testing the search algorithm and image node tree data structure.

When everything comes together, it doesn't really work. Your co-programmer claims triviality, and spends long hours adding features and trying various variations. You decide the most you can do to contribute is to help with his debugging.

After three weeks of seemingly going no where like this, you get to the point where it's solving some captchas. Your co-programmer declares success, and quits the next day, saying he found a higher paying job elsewhere.

You deliver the project as-is to the customer, who is not too happy with it, but pays you anyway.

Name: Anonymous 2014-01-13 10:23

>>19

Maybe later in life :)

Name: Anonymous 2014-01-13 12:25

>>21
Damn. 3 is an insufferable Jew.

Name: Anonymous 2014-01-13 14:54

Why does the Lisp guy have Java as "Language by love"? Real lisper would sooner pick C#, because it is the closest to Common Lisp mainstream language.

Name: Anonymous 2014-01-13 14:54

>>21
What a terrible experience.

Name: Anonymous 2014-01-13 20:31

>>24

Explain and elaborate.

Name: Anonymous 2014-01-13 21:59

>>24
Java is the last in list, indicating he likes it least.

Name: Anonymous 2014-01-13 22:35

>>27
Having shit as your least favorite food still means you're a shit eater.

Name: Anonymous 2014-01-13 22:41

>>28

It means you are an involuntary shit eater, i.e. you eat it only when its the only thing you can eat.

Name: Anonymous 2014-01-13 23:52

>>29
But then you wouldn't put it in your "Languages by love" list? You're not making any sense.

Name: Anonymous 2014-01-14 1:43

>>30

Why not?

CL-USER> (defparameter *languages* nil)
*LANGUAGES*

CL-USER> (setf (get 'java 'experience) 8)
8

CL-USER> (setf (get 'java 'love) -1)
-1

CL-USER> (push 'java *languages*)
(JAVA)

CL-USER> (setf (get 'c++ 'experience) 7)
7

CL-USER> (setf (get 'c++ 'love) -4)
-4

CL-USER> (push 'c++ *languages*)
(C++ JAVA)

CL-USER> (setf (get 'smalltalk 'experience) 5)
5

CL-USER> (setf (get 'smalltalk 'love) 5)
5

CL-USER> (push 'smalltalk *languages*)
(SMALLTALK C++ JAVA)

CL-USER> (setf (get 'common-lisp 'experience) 4)
4

CL-USER> (setf (get 'common-lisp 'love) 10)
10

CL-USER> (push 'common-lisp *languages*)
(COMMON-LISP SMALLTALK C++ JAVA)

CL-USER> (setf (get 'forth 'experience) 3)
3

CL-USER> (setf (get 'forth 'love) 6)
6

CL-USER> (push 'forth *languages*)
(FORTH COMMON-LISP SMALLTALK C++ JAVA)

;; Even though Java has a negative love value, we can still
;; sort it :)
CL-USER> (sort *languages* #'> :key (lambda (language) (get language 'love)))
(COMMON-LISP FORTH SMALLTALK JAVA C++)

CL-USER> (sort *languages* #'> :key (lambda (language)
(get language 'experience)))
(JAVA C++ SMALLTALK COMMON-LISP FORTH)

Name: Anonymous 2014-01-14 2:05

>>31
It wasn't implied there could be negative weights for "love". I don't think anyone uses the expression "least favorite" when they actually mean "most hated" but I might be wrong.

Name: Anonymous 2014-01-14 2:15

>>32
In my experience, saying "that's my least loved x" or "I have very little love for x" is a common way of expressing that you don't particularly like, maybe even hate "x".

Perhaps this is not your experience. Sorry for the confusion.

Name: Anonymous 2014-01-14 2:53

>>32,33
If you ask someone how much they love something, and you say that zero represents indifference and one represents liking, if they answer negative five, it's because they hate it.

Name: Anonymous 2014-01-14 3:25

>>34
What kind of nerd would say ``my love for x is negative five'', though?

Name: Anonymous 2014-01-14 3:27

>>35
I would. Fuck you, non-nerd.

Name: Anonymous 2014-01-14 3:50

>>35
I would fuck you, non-nerd.

Name: nerd 2014-01-14 4:19

Why won't anyone fuck me?

Name: Anonymous 2014-01-14 14:06

3 and 2.
Let's drink our days away~
Starting now.

Name: Anonymous 2014-01-14 14:32

>>36-38
Somewhere, I think on /g/, I saw a good example of why punctuation is important:

I helped my uncle, Jack, off the horse.
i helped my uncle jack off the horse

Name: Anonymous 2014-01-14 17:48

>>38
Because you are a nerd, nerd

Name: Anonymous 2014-01-14 19:00

>>40
Both "I helped my Uncle Jack off the horse." and "I helped my uncle, Jack, off the horse" describe the same situation. The capitalization is more important than the comma.

Name: Anonymous 2014-01-15 13:15

>>42
uncle shouldnt be capatalized fag.

and you know punctuation can alter meanings so stop being such a fag, fag.

Name: Anonymous 2014-01-18 20:00

I ARE ANDRU

Name: Anonymous 2014-01-19 3:48

reverse necro

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