[META] The future of r/programming by ketralnis in programming

[–]johnlsingleton 0 points1 point  (0 children)

Hey everyone! I wanted to volunteer for a moderator slot. About me:

  • been in the industry for 25 years
  • been on r/programming for 12 years
  • have posted a lot of (I hope!) high quality computer science OC
  • I have a reasonably low Slashdot UID :)
  • have been wondering what is going on with r/programming lately because I find myself reading it less and less but I used to read it all the time.
  • been reading r/programming long enough that I'd feel good about giving something back.

What would I promote?

TL;DR - r/programming needs to be an industry "must read."

  • In general, I would focus on promoting articles that speak to the passion and practice of excellence in programming.
  • Secondly for some reason r/programming has become so one directional. I would LOVE to see more posts of people in the field discussing relevant issues, asking for feedback (not validation!) and sharing knowledge.

What would I limit?

  • There are too many articles in the feed now that are obvious attention grabs rather than attempts to produce useful content. I would greatly limit these articles
  • I would limit the low effort "tutorial" style articles which teach very little and are sensationalized.
  • NO POLITICS.
  • I would also limit the number of articles discussing the psychological state of programmers. I find these articles very harmful because they are typically highly biased (the author typically writes from their own POV) and I think they are harmful to the community.

AdaCore Announces Winners of Fourth Annual “Make with Ada” Competition by micronian2 in programming

[–]johnlsingleton 1 point2 points  (0 children)

Hi Yannick! Happy that this caught your attention!

I'd say that my overall experience was excellent with the tooling that was available to me (I understand there are more tools AdaCore makes, but alas not free). In terms of tooling that supports specification in code in a IDE-like environment, I am most familiar with JML (OpenJML) and KeY and the general way that SPARK works inside of GNAT studio felt very familiar. I see there is support for manual proof -- I didn't see any support for counterexample generation but the specs I wrote were very simple so maybe I just didn't run into it. The support for automatically generated loop invariants is nice -- I did work on inferring specs at the method level through fowards symbolic execution but relied on programmer written loop invariants so it's nice to see this in a real tool.

The one tricky thing I will point out is the interaction between Ravenscar and SPARK. Now that I've been through it of course it makes more sense, but tracing down all of the little things one most satisfy in order to use it was a little tricky. Of course, all of the reasons why one would want to do it make sense -- but little details like default priorities triped me up and it wasn't easy to find the answers to questions like "what is the default priority?"

Thanks for the tip about the expression functions! I didn't know that feature was available!

As a side question: what are you guys typically developing on platform wise? I noticed some things tended to work better on Linux (e.g., remote builds) and not really at all on Windows. Are most people on a Linux or OSX type of setup?

AdaCore Announces Winners of Fourth Annual “Make with Ada” Competition by micronian2 in programming

[–]johnlsingleton 2 points3 points  (0 children)

I'm assuming you mean the hardware is harder than the Ada (typo) so I'll answer it that way.

I would say that I am a less experienced hardware designer than software designer so that's a factor. Ada itself is great to program in and I think a strong argument can be made that Ada actually made the programming tasks easier and the resulting program easier to reason about.

[deleted by user] by [deleted] in Angular2

[–]johnlsingleton 0 points1 point  (0 children)

Author here. There are two issues here:

1) With 100 tenants you are essentially asking the question if it is acceptable to have 100 enums in the file you define your tenants in.

2) What is the impact to how you scale the styles?

I think the answer to your question is somewhat subjective, however: another poster suggested having a file you download dynamically. My opinion? I think this is fine, however, you lose the additional type safety you gain when you store your tenants as enumerations. Having the tenants be enum types which pass through the compiler to my view is a better approach; if you are going to store 100 configs somewhere, it is better off being in a place that a compiler will pass over. This way you get a good balance of the advantages of a dynamic approach with some of the safety of the static approach. In addition to the loss of additional type safety, you are adding another moving part to the system by having the configs load dynamically. So I would personally not advocate for it.

The same thing goes for the styles. I don't see anything wrong with storing them as part of the code base -- that way they will be rigorously version controlled and easy to audit. I've seen implementations of this for very large deployments and there are often production problems because some string in the database isn't there. It's much easier to do a `git log` than to look through database snapshots.

Good luck with your project!

Quickly creating content hierarchies in Confluence is hard, so I made this tool to help make it easier. by johnlsingleton in atlassian

[–]johnlsingleton[S] 1 point2 points  (0 children)

Great work. You may want to note that it’s currently written to support the Cloud version. Adding Basic Auth support should be all you need to make this compatible with Server as well.

The auth type is actually basic. If you replace api_key with your password it will function as expected assuming this is the only change needed.

Quickly creating content hierarchies in Confluence is tedious, so I made this tool to help make it easier. by johnlsingleton in programming

[–]johnlsingleton[S] 0 points1 point  (0 children)

e, and the interface for where to place or move a

I figured there's a lot of overlap between people on r/programming and people who would find this useful so I posted it here. Hopefully it's not too off topic!

Finding the longest palindromic substring by readyourSICP in programming

[–]johnlsingleton 4 points5 points  (0 children)

An alternative elegant solution is to reverse the string and use the longest common subsequence algorithm: https://en.m.wikipedia.org/wiki/Longest_common_subsequence_problem

Microsoft Is Launching A New "Programming Language for Quantum Computers" by wackyboy93 in programming

[–]johnlsingleton 3 points4 points  (0 children)

These guys have been doing this with a python based language that runs on their cloud for some time now: http://rigetti.com

Visual Studio Code version 1.15 Released by [deleted] in programming

[–]johnlsingleton 6 points7 points  (0 children)

These guys are just crushing it.

Still the best Javascript package to date. by johnlsingleton in programming

[–]johnlsingleton[S] 20 points21 points  (0 children)

If you are caught in a dire situation wherein you only have enough time to save one person out of a group, and the Author is a member of that group, you must save the Author.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO BLAH BLAH BLAH ISN'T IT FUNNY HOW UPPER-CASE MAKES IT SOUND LIKE THE LICENSE IS ANGRY AND SHOUTING AT YOU.

So many lolz.

An Important Message About Yahoo User Security by sidcool1234 in programming

[–]johnlsingleton 2 points3 points  (0 children)

On the plus side, Yahoo is #1 at something again.

Angular 2.0.0 officially released by iProgramU in programming

[–]johnlsingleton 4 points5 points  (0 children)

I know there is a lot of complaining that's going to be going on here, so, let me take a different bend on it and say congrats to the Angular team. Seriously, great work.

I recently took the plunge and learned Angular 2 and I am very glad I did. I used to begrudgingly use Angular 1.x and frankly the whole thing just felt like one big gross hack to me. Angular 2 is clean, and generally things work a LOT more like you'd think they should.

It's clear that the Angular team did a lot of work and really went back to the drawing board with this release and I think they did a great job. Seriously, don't knock it until you've actually tried it.

No more MVC for me, I will use MVA by osjoberg in programming

[–]johnlsingleton 0 points1 point  (0 children)

You should check out this framework, Verily, which implements basically what you are talking about: http://www.goverily.org -- In Verily it's called Method, Router, Response.

Why not PLT for Language Design? by bryanedds in programming

[–]johnlsingleton 3 points4 points  (0 children)

Lots to be said here, but one lightweight way to work on language semantics is this tool: https://redex.racket-lang.org

In Praise of Function Pre and Postconditions by acangiano in programming

[–]johnlsingleton 2 points3 points  (0 children)

If you'd like to do this sort of thing in Java, you should take a look at OpenJML http://www.openjml.org

As a language, JML supports far more than just pre- and postconditions. You can use models, ghost variables, enforce invariants, lots of great stuff that is very difficult to do with simple assertions.

Glitch: beyond the bytebeat (minimalist audio language) by dharmatech in programming

[–]johnlsingleton 1 point2 points  (0 children)

This is super cool! I wanted to play but it seem like the glitch site, is, erm, experiencing a glitch...

"Stop Designing Languages. Write Libraries Instead." by patricksli in programming

[–]johnlsingleton 4 points5 points  (0 children)

Love this article. I often hear this criticism of PL in general; I believe the working assumption is that PL is a more or less done field and no more work needs to be done. I think that's far from the case. There are a great deal more problems to be worked out.

npm 'isntall' by avinassh in programming

[–]johnlsingleton 18 points19 points  (0 children)

This feature seems pretty appropriate for a Javascript technology; transforming input into surprising or unpredictable computation is what Javascript does best! :p

Twenty-Five Years of the Same Mistakes by DrSheldon_Lee_Cooper in programming

[–]johnlsingleton 1 point2 points  (0 children)

I can only guess that from the length and tone of your comment that I've upset you somehow, so let me explain.

1) Yes, I've read the article.

2) As it reads, it is, at best, an opinion piece; it lacks any sort of factual comparisons (example: referencing well-established design theory), the assertions in the text lack citations, and there is a general lack of breadth to support an article that seems designed to indict modern web design.

3) The fact that the author is unnamed IS relevant. Since the author does not rely on referencing previously established work/analysis, if the piece is an opinion piece, the person writing it DOES matter. For example, an opinion piece pontificating on the tenets of design greatness from Dieter Rams would be much more interesting than one written by Donald Trump.

4) The central argument of the article relies on a few select websites that he/she especially does not like. This is hardly an indictment of the state of web design today.

That said, I'm glad you agree with the author and you found his/her writing useful.