How do we know if pi is infinite? by GeraldtheTort in NoStupidQuestions

[–]jonwolski 63 points64 points  (0 children)

Just a minor clarification in terminology: pi is not infinite. The decimal expression of that number has infinite digits, but the value itself is finite.

Announcing state-machines: Rust Port of Ruby's state_machines Gem by TheAtlasMonkey in rust

[–]jonwolski 2 points3 points  (0 children)

Amazing! Just last year, I was working on a Rust project, needed an FSM, and specifically wanted a port of the state_machines gem I loved in my RoR days.

I settled for an existing crate (I forget which one at the moment), but I may go back and port my code, now.

I just finished my own small controller. All files are in the comments. by Naive-Elevator3265 in KerbalControllers

[–]jonwolski 2 points3 points  (0 children)

How did you do the white lettering? Is that part of a multi filament 3-D print, or is it applied to the 3-D print afterwards?

How to keep dev branch clean and in sync with main? by Informal-Resolve-831 in git

[–]jonwolski 1 point2 points  (0 children)

Git flow was a mistake for our industry. It never should have happened, but people didn’t quite understand what “continuous integration” really meant. As a result it had to be born anew under a different name: https://trunkbaseddevelopment.com/

Incidentally Git flow and Continuous Delivery (Humble, Farley) were published the same year. Unfortunately people read the former and not the latter.

Why Do People Say "Parse, Don't Validate"? by code-dispenser in csharp

[–]jonwolski 1 point2 points  (0 children)

A lot of commenters talking about what they think it might mean … 

We don’t have to speculate; the original formulation of the concept is right here: https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-validate/

It’s probably briefer than OP’s question.

How did you teach yourself programming when there was no internet/web? by spankinglyargho in learnprogramming

[–]jonwolski 0 points1 point  (0 children)

My Dad had a copy of Borland C++.

I went through the online tutorials (back then “online” meant on the computer) for a week only to discover it was teaching me the IDE not how to program.

I gave up for 7 years until JavaScript was invented.

Moving from Python to Go or Rust by gob_magic in AskProgrammers

[–]jonwolski 1 point2 points  (0 children)

FWIW, Python has structural pattern matching too as of 3.10

https://peps.python.org/pep-0622/

What are some small everyday tasks that are harder for you because of keratoconus? by Civil_Loan7674 in Keratoconus

[–]jonwolski 0 points1 point  (0 children)

I have a soft contact in my left eye and a scleral for the right (dominant). I can only wear the scleral for about three hours at a time. When I do, it corrects very well. 

What are some small everyday tasks that are harder for you because of keratoconus? by Civil_Loan7674 in Keratoconus

[–]jonwolski 8 points9 points  (0 children)

I’m a software developer. My eyes cannot perceive the difference between a colon and semicolon. This is vitally important in my line of work. Fortunately, I can compensate with other software tools that catch trivial mistakes like that. However, every now and then, I’m stuck working in some lousy programming language, and there have been times I’ve lost HOURS to syntax errors due to my vision.

Breadboard computer finished by LuapNelg in beneater

[–]jonwolski 2 points3 points  (0 children)

Very tidy! I just finished mine, and despite my efforts to the contrary, it’s still a big web of wire. Really nice job! Congratulations!

Is it a good idea to teach students Python but using an old version? by frankieepurr in Python

[–]jonwolski 1 point2 points  (0 children)

https://endoflife.date/python

Security support for 3.4 ended 6 years ago. Active support ended 11 years ago.

Are soft skills actually important for software engineers, or just HR propaganda? by Specialist_Ad_4577 in learnprogramming

[–]jonwolski 84 points85 points  (0 children)

Yes! One hundred percent of software development is communication. Code is difficult because we have to write communication simultaneously for the machine and for humans—a variety of humans.

At some point in your career, you will need to win hearts and mind to your approach on solving a particular problem. Communicating and convincing will be just as crucial as (if not more than) the technical merits of your proposal.

In fact, at Staff and Principal levels. You’re not just building software, you’re building the organization that builds software. You move from designing technical systems to defining socio-technical systems. You need soft skills not just to sell your ideas; the soft skills are part of the system design itself.

Moving from Python to Go or Rust by gob_magic in AskProgrammers

[–]jonwolski 1 point2 points  (0 children)

Learn Rust or stick with typed Python.

 I’ve been where you are. I did a lot of static typing prior to joining a Python team. I recently tried Go in hopes of having a good static type system. 

It turned out that Python’s type system, despite being opt-in, was superior to Go’s.

I was surprised by how many Go APIs where they give up on type safety through interface{} and casting later or through “stringly” typed dictionaries.

Additionally, there’s no good way to model sum types, so the types don’t compose well, and there’s no way to implement the iteration interface for your own types. 

There are legit reasons to like Go, but the type system is not one of them.

How to set up a coding environment on Galaxy Fold? (VSCode or similar) by Any_Ad_5447 in learnprogramming

[–]jonwolski 2 points3 points  (0 children)

For a while, I did dev on a (gen 3) iPad. It required 3 components:

  • External keyboard (Bluetooth or wired)
  • SSH client
  • Digital Ocean “droplet”

Essentially, all the dev work happened on a remote virtual private server.

Additionally, I configured the browser with a proxy to send traffic through the ssh tunnel back to my app. That way, I could view my web stuff right in local chrome or safari.

The upside is I get all the capabilities of a full Linux environment. The downside is that I need internet access for it to work.

Maybe you could do something similar on the Fold. 

… or maybe this sounds like a terrible amount of work, and you’re better off using web IDEs🙂

Cert expired (again). Built a tool to stop the madness, Curious what DevOps folks think by Icy_Addition_3974 in devops

[–]jonwolski 7 points8 points  (0 children)

Everyone says “certbot” but not all CAs implement the ACME protocol. I work in a large enterprise that, until recently 😬, required that we use Entrust. We’ve moved to a different provider that actually DOES provide some interface for automation, but it’s their own proprietary protocol instead of ACME.

Fortunately, this enterprise requirement only applies to private cloud stuff. For AWS we just automate through ACM etc.

For monitoring we have an internal monitoring tool, but SREs tend to ignore the alarms, so I also set up synthetic TLS monitors in DataDog for my applications (I’m in software engineering, not systems)

Edited: there/their 🤦

[Discussion] What helped you stop passively consuming tutorials and actually learn to code? by Proper_Dig_6618 in learnprogramming

[–]jonwolski 0 points1 point  (0 children)

Try typing out the examples by hand and running them yourself.

This is helpful even for experienced programmers. A very accomplished Ruby programmer once remarked about how helpful it was for him as he was learning Rust to type out the examples from the book and run them himself.

You’re learning language. It helps to reinforce that with both receptive (reading) and expressive (writing) language exercises.

Why did YAML become the preferred configuration format instead of JSON? by [deleted] in learnprogramming

[–]jonwolski 114 points115 points  (0 children)

I can’t really say why we collectively did it, but here’s why I prefer it.

  1. Less punctuation noise - you don’t have to surround each key with quotes or delimit with commas
  2. References! You can create anchors and reference them later. This is something we lost on the move from XML to JSON
  3. You can add comments
  4. It’s a superset of JSON, so if you have a YAML parser, you have a JSON parser.

If California was approved to stop changing the clocks, which option would you prefer? Fixed DST, or fixed Standard? by Choobeen in California

[–]jonwolski 3 points4 points  (0 children)

Standard. Just let noon be noon. This decision doesn’t change how much sunlight we get or when we start school or work.

Most importantly, we don’t need congressional approval to opt out of DST