The Joys Of Programming

IMAGE(https://i.imgur.com/W6KUHPe.png)

Oh man, about 40% of the internet is wrong

Citizen86 wrote:

Oh man, about 40% of the internet is wrong

I'm pretty sure it's more like 99%

MikeSands wrote:
Citizen86 wrote:

Oh man, about 40% of the internet is wrong

I'm pretty sure it's more like 99%

I'm finally a member of the 1%!

IMAGE(https://i.redd.it/1ufjma0bet101.png)

https://strategy-madlibs.herokuapp.com/

Generate a new strategy for your organization!

Consider efforts to build inclusive, functional, engaged team cultures where you've worked. What has worked? Are "brown-bag" lunch'n'learns useful or distractions? Are hackathons (initially wrote "hackathongs" and I like it) worth the effort or do they devolve into trolling sessions? How has your organization enabled or created, in small or large scales, the means for technical folks (developers, PMs, BAs, etc.) to create a productive and enjoyable working environment?

In my own experience, I really enjoyed sitting somewhat hermitically with the developers at a nice shared table in our own room. It can lead to distraction (to which I'm particularly vulnerable) but there was so little friction in moving from idea to strong prototype and the energy was usually great. I'd like to help foster similar energy and reduced friction where I'm currently working but it's very different: last employer was a small private business; current employer is a public university. The strategy and tactics will be somewhat different, I'm sure.

Are you talking about doing things in teams that has to do with work or could it be anything? I used to work at a college and one of the things we did was have a "sci-fi Friday" thing where every Friday at lunch we'd watch an episode of a great science fiction show. A group of us got together with our lunches in a room with a nice video projector, and it was a great time. People looked forward to it every week.

I saw all of Firefly that way. In another job (more corporate) it worked as well. I started it up myself and we went through most of Star Trek: TNG.

Of course it has nothing to do with "work", but it gets people of different departments together and opens up some dialogue about something many different people enjoy. Work stuff inevitably comes up anyway to tell you the truth.

The one issue is that people who don't like sci-fi don't come, but it does get a good cross-section of folks together.

Fire the miserable cranks and hire inclusive, functional, engaged people.

d4m0 wrote:

Are you talking about doing things in teams that has to do with work or could it be anything? I used to work at a college and one of the things we did was have a "sci-fi Friday" thing where every Friday at lunch we'd watch an episode of a great science fiction show. A group of us got together with our lunches in a room with a nice video projector, and it was a great time. People looked forward to it every week.

I saw all of Firefly that way. In another job (more corporate) it worked as well. I started it up myself and we went through most of Star Trek: TNG.

Of course it has nothing to do with "work", but it gets people of different departments together and opens up some dialogue about something many different people enjoy. Work stuff inevitably comes up anyway to tell you the truth.

The one issue is that people who don't like sci-fi don't come, but it does get a good cross-section of folks together.

I think I'm talking more about generating a more-permeated sense of a common focus, a common cause, teaching each other to do work differently or better, collaboratively, but maybe that's too-diffused to be productive. We do have something like that, where every other Friday there's a board gaming lunch. That's cool for people who like board games and that kind of interaction, but maybe they'd prefer to have a semi-structured way to get together with people outside their teams and look at new ways to build Laravel apps, or learn about how the university network is set up, etc. I know there's been some interest stated in that, but I think if there were a schedule, dedicated time and venue(s) for this it'd be even better.

Mixolyde wrote:

Fire the miserable cranks and hire inclusive, functional, engaged people.

They're the ones who do the hiring. Seriously, my boss' boss hasn't ever worked anywhere else. He attended undergrad and probably worked here as a student worker/intern, then was hired in. He's a director, and fairly influential. And he's not an outlier. (Today he told us that he's the one who wrote our account-generation tool that we still use to create LDAP and associated accounts. He wrote it in 1992-3.)

People retire from the university. It seems rare that they just leave.

muraii wrote:

People retire from the university. It seems rare that they just leave.

Definitely the truth. I was an outlier in that I left for a different job when I did. Higher education jobs tend to last many years.

You mentioned "brown-bag" lunch n' learns, and those did work for us. If you guys could provide food instead of people bringing their own it would be even more well-attended. I've found that offering free food almost always gets you somewhat of a crowd, and if they learn something along the way, even better.

(Today he told us that he's the one who wrote our account-generation tool that we still use to create LDAP and associated accounts. He wrote it in 1992-3.)

The older I get, the more amazing I find it that ancient code sticks around as long as it does. There's nothing wrong with that, it's just.... if you solve a problem really well, that solution may remain in use for an exceedingly long time. Most of the modern OSes are still running code from the 90s, and Unix still has code from the 70s, and these are installed on billions of systems. And then you have all those mainframe apps that are still in use, some dating back even further.

Isn't it funny that, in those sentences, the thing you're being surprised about isn't the program lasting that long, but the programmer?

Malor wrote:
(Today he told us that he's the one who wrote our account-generation tool that we still use to create LDAP and associated accounts. He wrote it in 1992-3.)

The older I get, the more amazing I find it that ancient code sticks around as long as it does. There's nothing wrong with that, it's just.... if you solve a problem really well, that solution may remain in use for an exceedingly long time. Most of the modern OSes are still running code from the 90s, and Unix still has code from the 70s, and these are installed on billions of systems. And then you have all those mainframe apps that are still in use, some dating back even further.

Isn't it funny that, in those sentences, the thing you're being surprised about isn't the program lasting that long, but the programmer?

The surprising thing is that the programmer has stuck around and perpetuates the working philosophy and political biases that keep IT and our clients at odds with one another. His being entrenched and fully steeped in the long-lived near-monoculture might make him less qualified to make decisions yet he’s in a decision-making position.

But yes also it’s surprising that a Perl script is still at the core of the university’s security model 25 years later, especially when we know it’s insufficient for some of our near-and-long-term needs.

Malor wrote:
(Today he told us that he's the one who wrote our account-generation tool that we still use to create LDAP and associated accounts. He wrote it in 1992-3.)

The older I get, the more amazing I find it that ancient code sticks around as long as it does. There's nothing wrong with that, it's just.... if you solve a problem really well, that solution may remain in use for an exceedingly long time. Most of the modern OSes are still running code from the 90s, and Unix still has code from the 70s, and these are installed on billions of systems. And then you have all those mainframe apps that are still in use, some dating back even further.

Isn't it funny that, in those sentences, the thing you're being surprised about isn't the program lasting that long, but the programmer?

I think it is really good.

One issue with github is that it encourages you to only trust things that are under current active development. Which largely is a good yardstick, especially if you think you need support. But now and again some things are just 'solved' for a given processor/architecture/OS.

Anyone have strong thoughts about this Kotlin thing? It has a lot of cool ideas from Dart. But it runs on the JVM. The Spring Framework people like it a lot.

Big push for it at my work.
I uh, I would just use python if I was making decisions but it's fine I guess.
In the way Go is fine.
There are problems but whatever it's nice enough.

I'm evaluating it. I like the way it cleans up things I don't like about Java (null handling, named parameters, auto getters and setters*), but I don't think I can sell it to my team.

* I looked at Lombok for this, but it just feels like too much of a hack and I don't like the absolute dependency on the IDE.

Oh yeah I don't like that kotlin is very uh, jetbrains dependent. Or rather plays nicest with that above anything else.

There are a few projects that let Kotlin work without a JVM. Android (which is still kind of a JVM), Kotlin Native and Kotlin to JS.

I am not a big fan of the null handling in Kotlin. The use of a single character on a method call to imply that a method won't get called if the reference is null could lead to some serious typo kind of bugs. While Java is more verbose, the following line is way more clear

if( a != null) {a.doSomething(); }

vs

a?.doSomething();

I really like making setters and getters being hidden from the caller though. I have been using it in Typescript and C# and it is a big improvement over what Java offers. I am surprised Java hasn't stolen it yet.

boogle wrote:

Oh yeah I don't like that kotlin is very uh, jetbrains dependent. Or rather plays nicest with that above anything else.

Jetbrains did write a plugin for Netbeans and Visual Studio Code has Kotlin support. Don't know how good it is though.

The plugin for VS Code is only a syntax highlighter so far, not very useful.

boogle wrote:

Oh yeah I don't like that kotlin is very uh, jetbrains dependent. Or rather plays nicest with that above anything else.

If you're writing anything on the JVM, you should be using JetBrains tooling. Eclipse, NetBeans, and whatever-else are also-rans. JetBrains is the Visual Studio of the JVM; you just use it.

Kotlin works fine through Gradle or Maven for builds. (You shouldn't be using anything besides either of those, either.)

Ed Ropple wrote:
boogle wrote:

Oh yeah I don't like that kotlin is very uh, jetbrains dependent. Or rather plays nicest with that above anything else.

If you're writing anything on the JVM, you should be using JetBrains tooling. Eclipse, NetBeans, and whatever-else are also-rans. JetBrains is the Visual Studio of the JVM; you just use it.

Kotlin works fine through Gradle or Maven for builds. (You shouldn't be using anything besides either of those, either.)

Yeah I mean I don't enjoy the java I write a ton for that reason (I do it in intellij).

I have the most fun in a terminal chaining tools together. Attempted that with kotlin briefly and then just did intellij.

Guess I'm still just a script kid.

boogle wrote:
Ed Ropple wrote:
boogle wrote:

Oh yeah I don't like that kotlin is very uh, jetbrains dependent. Or rather plays nicest with that above anything else.

If you're writing anything on the JVM, you should be using JetBrains tooling. Eclipse, NetBeans, and whatever-else are also-rans. JetBrains is the Visual Studio of the JVM; you just use it.

Kotlin works fine through Gradle or Maven for builds. (You shouldn't be using anything besides either of those, either.)

Yeah I mean I don't enjoy the java I write a ton for that reason (I do it in intellij).

I have the most fun in a terminal chaining tools together. Attempted that with kotlin briefly and then just did intellij.

Guess I'm still just a script kid.

Ed Ropple wrote:

If you're writing anything on the JVM, you should be using JetBrains tooling. Eclipse, NetBeans, and whatever-else are also-rans. JetBrains is the Visual Studio of the JVM; you just use it.

When I get back to work, I’ll tell all the Clojure developers on my team to ditch Emacs. That should go well!

clo "i never saw a parenthesis I didn't like" jure

I mean, if you want to waste the JVM and transduce your head where the sun don't shine, sure, go nuts. (There was a sunglasses emoji here to indicate how cool and ambiguously joking I am here, but the combination of Drupal and MySQL is rotgut and freaks out when you actually use emojis, so please envision one in its stead.)

Speaking of awful things and go nuts, Golang is still very funny. Tragic, but funny.

I wanted to just pop in and say a big "bravo" to CaptainCrowbar, who I believe works for a company called Otoy. They make a somewhat amazing piece of graphics software called Octane Render, and they just released a plugin for Unity. I'm trying it out today and it's working great, and I have to say it's pretty fantastic. Well done.

It's amazing they managed to get a hardware physically-based rendering pipeline somehow worked into a real-time gaming platform. I do Unity programming every day, and I have to say it must have been quite a task to get this working.

Hey thanks! I did some of the early development on the Unity plugin, although I haven't been involved in the project recently.

Any tips for someone completely green to programming? I just started back this week (for my second semester in Cyber Defense) and Intro to Programming and Logic is one of the courses that I am taking.

It will take more time than you expect, so keep up with the lectures and work.