In Canada? No. Engineering is a special accredited title that bears a lot of responsibility. Very, very few software developers here are actual engineers.
The article has a whole section on the question of licensing.
What’s the point of reading the article if you can comment on the title? 🙃
I call myself a developer. If I could write an SLA and stand by the agreement legally, I would call myself an engineer. Or if I operated a ship, train, or starship engine.
The post series makes a pretty compelling point that there are traditional engineering disciplines that don’t have anything like an SLA and are still universally accepted as Real Engineering, e.g., chemical engineering.
As a former working chemist: chemical engineering is not anything like chemistry and you can bet your ass there is stuff like, “use this flow regulator with these pipe fittings or else THE REFINERY WILL BLOW UP, because the chemical reaction will go exothermic “, signed, licenced chemeng
Its mid-year review season and my first one as a team lead with direct reports so I’m learning how to help people set goals. Its very weird.
This has been my work philosophy since I started and I’ve been at the same job for four years now with no plans of actually leaving (but still leaving my knowledge behind to avoid the pesky silos)
Doing some podcast editing (Mr. Rewatch, a Mr. Robot retrospective show), some podcast writing and recording (Kevys Country Breakfast, the stupidest baseball podcast around), and calling my mom on Sunday for Mother’s Day.
A client was unable to log into their CMS that I was apart of building and migrating. The only way they could log in is if they submitted a reset-password request, and went in through the email to reset the password and subsequently log them in.
After a week or two trying to figure it out - I realized my mistake was in the character width of the VARCHAR column in the MySQL database for user’s encrypted passwords. MySQL was silently truncating the data. The reset password hack worked because it did not have to verify the newly set password to start a session for the user - it just stored it and truncated it every single time.
I’ve been a long-time MK user and while I’m a whiz on the matrix now having something like this is very valuable! Looking forward to the Web MIDI implementation. Thank you!
I’ve been a professional PHP developer for years and I really like the direction the language is going.
That being said, I have been working in a lot of legacy C# applications this past year and seeing how PHP is moving towards a very similar. Very welcome new features like Null operators, named arguments, enums and attributes in PHP 8(.1) have existed in C# for a long while.
Now we just need Generics.
What’s in the file?
This is a great walkthrough and a fun hobby but I just use the hardware mute on my mic.
The HHKB2 Lite. My girlfriend got her hands on a Keychron K6 and I was using that for a while but a decade plus on the HHKB made it a hard transition.
Is there actually a debate about not using DateTime strings in that format? Everyone I have encountered this is good practice.
Building a brand new RESTful API for internal organization use. That’s about it.
First class Enums are exciting - I will not miss making arrays of constants, or constants that are arrays of constants, to fill in the gap Enums would have filled.
Re-arranging my studio in my (new) house and running a few metres of CAT6 into it.
This was actually recommended reading in one of my early UNIX classes when I went to college a decade ago. The Beej guides are still fantastic resources.
Refactoring legacy code! Lots of anti-patterns and poorly documented .NET code. I’m not a .NET developer so getting used to using VS and how these applications were built is quite the trip.
Damn Dev-C++ got a real glow-up eh? I don’t do a lot of C/C++ but I’m willing to take this for a spin.
Being not shell literate is one of the most surprisingly common things I’ve found in the dev world. The amount of people that will copy/paste commands over and over and over rather than just learning what the command(s) do to eventually compose your own commands as needed is just crazy to me.
People look at you like a wizard for coming up with command strings like these when the real solution is learning the tools. After that it becomes second nature.
Now you’re thinking with pipes
Seriously. And it’s not like all of these people are bad programmers. I once helped an otherwise phenomenally skilled database engineer type sudo apt-get install mysql-server.
sudo apt-get install mysql-server
Truth be told, I can never keep straight the various installers on different flavors of Linux. apt, emerge, yum… whenever I switch systems (and I do deal with some old ones) I have to look up which to use. Hopefully I’ve installed something recently on the machine so I can find it in the history.
Agreed. At a previous company I ran a small shell intro workshop. It was originally for new hires on our graduate programme, but I ended up running it a few times for more seasoned devs too. The company blog where I wrote about it is gone now, but way back machine has my back: http://web.archive.org/web/20200927133906/http://techblog.net-a-porter.com/2013/02/shell-quickstart/#more-754
I’m going to share this article with some of my friends who haven’t really grok’d shell programming yet, the examples still work and definitely force one to think with pipes. Thank you for sharing!
It’s kind of you to say so! FWIW I reposted it on my personal blog, as I found the Internet Archive version to load very slowly: https://www.brautaset.org/articles/2020/shell-quickstart.html
Yes!! It’s super common, even at my top 10 CS school, for CS undergrads to not be shell literate.
the absolute state of CS education… hardly anyone even uses ssh nowadays
I mean, they’re largely not trying to teach vocational skills other than by accident; it’s not like SSH is particularly relevant to that ‘science’ part of ‘computer science’.
(This is one of my top peeves with CS-as-a-programming-degree; IMO it would be better taught in a vocational school)
I went to a college in Ontario, Canada, which is more of a vocational/practical skills education as compared to a University which is much more academic. I studied Computer Engineering Technology. Very similar to Computer Science degrees offered at Universities. We had two classes on BASH specifically, as well as three classes on C. The first class, an introduction to the language, was taught inside VisualStudio. The second two were all taught using GCC and GDB.
I have worked alongside CS grads from universities here and they are perplexed by not only the shell, but not using Windows as a main driver for every day development (I work mostly in web). Its interesting to see so many people head to university because of weird negative associations to college there are out there - despite more practical knowledge being taught at colleges.
I can assure you the decline in shell usage is not due to making good on the name of the degree. If anything curricula are moving in a vocational direction.
FWIW even academic CS research is mostly engineering, not science, and for that SSH is quite relevant.
Expecting a computer scientist to know intracracies of the Unix shell is like expecting a physicist to wrench on an engine.
But almost all computer scientists are proficient with the Unix shell.
Citation most definitely needed…
You’ll have to take my word for it as someone who claims to be a computer science grad student on the Internet.
On the internet, no-one knows you’re a dog … or a computer scientist.
Yep. It was incredibly shocking to me when I conducted a workshop on reverse engineering on campus, and the attendees weren’t able to navigate the filesystem to run gdb.
Curious as to why their systems were configured such that gdb was not in their path and they could just invoke it without having to navigate the file system.
I should’ve been clearer—I meant navigate the filesystem to run gdb against a program. In thid case, the program was in the downloads folder.
I think there’s a difference between CS education and IT education.
Some universities and private schools focus mainly on using those tools rather than the underlying concepts.
For example, take cryptography, some education will focus on the math, and some other on the use case (like where signing is used how to practically use it etc…).
Learning and debugging old .NET legacy applications to start a plan to refactor or port in 2021. There is some really weird patterns here built from ignorance (I suspect), such as a RESTful web service that always returns 200s so that “the caller can receive the message.” Which I think means read the HTTP body? So yeah, that’s my week.
I’m excited about matching, attributes, unions, and constructor promotion. I tend to write a lot of verbose boilerplate PHP for my organization and I expect these changes will help with those classes (mostly models with lots of attributes).