Here's what I remember from Haskell (around 2018):
I love the language, but hate the tooling.
Used it for Uni (did a minor where I learned Haskell, recursion, parsing and regex - probably the most information dense part of school I've ever had. Half a year of minor also burned me out, so I never went for my masters; I'm OK with my Bachelors :D ), but never felt like picking it back up.
I'm working on a some materials for a class wherein I'll be teaching some young, wide-eyed Windows nerds about Linux and we're including a section we're calling "foot guns". Basically it's ways you might shoot yourself in the foot while meddling with your newfound Linux powers....
That box story right below the original message is hilarious! 😂 It's always good to bring up happy memories after someone passed away. Good way to mourn, IMO.
Interesting read, but does it beat JPEGMini? Yes, it's a paid product (not that I've paid, ☠🏴 yarr), but it does what it needs to do, and it does it well.
Just take on fewer points per sprint, if you can't make it every time? Scrum is about becoming predictable, not being the absolute fastest. That's been my experience, anyway. If your PO is pressuring you to take on more, you say "no", because that's your responsibility, not his.
Hi, I'm a first year CS student and this 3 month period of vacations I want to follow a good free course on programming. If it's possible, I also want to learn how is the process in which a code written in a text editor can become an executable with it's GUI in the operating system (currently using Linux), because I really have...
Read through the HTML5 spec if you want to do anything frontend related. Yes, it can be boring at times, but using a TTS extension for your browser helps a lot.
It'll teach you which HTML5 tags exist, which attributes exist for each tag, which tag goes within which tag, etc. Very helpful if you want to actually learn an up-to-date HTML5.
It will provide a very good fundamental knowledge before you start learning whatever popular JS framework exists in a few years.
It is not accurate to claim that frameworks automatically make programmers bad. In fact, frameworks are powerful tools that can accelerate development, promote best practices, and facilitate code maintenance. However, it can be argued that overly relying on frameworks without understanding the underlying principles of...
I’ve always flunked at math; and knowing how intertwined programming is with math, I’m skeptical of my ability to learn how to code. Can someone be too dumb to learn programming? If it helps, I’m mostly interested in learning Common Lisp.
I only learned Algebra by learning programming and through that I learned how to think abstractly (abstract just mean “hiding details” - think of how a child draws a car. You can’t tell it’s colour, brand, model, etc, yet you can tell it’s a car, even though all those details are hidden). Once I got that, I was able to follow videos from MIT that taught me more of the maths, giving me a theoretic foundation for programming. Now I’m doing an Algorithm course (also MIT) and feel like an “actual programmer” (because I felt like a “fake programmer” before that - though that still sometimes returns). After that I intend to learn more about SQL because I’m painfully lacking in that regard.
Anyway, I’ve been at it since 2005 when I was a 20-something kid, and there’s always something new to learn.
FYI: I made a dependency graph of a bunch of freely available MIT courses, left is a dependency for stuff on the right: thaumatorium.com/articles/mit-courses/
I want start with python but I don’t know what operating system and tools to use. I have a 6 RAM icore3 180 GB hard disk Notebook laptop running Linux mint. I plan to save up to Buy a PC in the future but for I have to make due my old laptop...
If someone flies the “software engineer” banner seriously, I expect them to have some theoretic knowledge besides the practical one. They would know different programming paradigms (procedural, OOP, FP), know about programming patterns, layers, UML, and at least a programming language or 4 (3 superficial, 1 in-depth).
A software developer can be any random code-monkey picked up from the street that is self-taught and/or had a boot camp of sorts. Nothing wrong with being self-taught or boot camps, as SDs need to eat, but it lacks a certain level or rigor I would expect from a SE.
If both had a certain amount of experience the SD would mostly catch up to the SE, in practice. Not sure if on theoretic knowledge too, but that depends.
I told my boss I had an idea for a program that could improve efficiency across much of the business, and he let me build it on company time. In the long term, he wanted to be able to sell it to other companies. However, the program never got implemented due to personnel mismanagement, and I’d rather be able to post it on my...
Even worse: Depending on (local or national) law, it may be the company’s property, even if written in personal time. Especially if the code is in competition with your work.
Yes, it’s ass-backwards, but that’s how it is in some places.
I’m trying to learn programming and something I struggle with the most is trying to separate code mentally into chunks where I can think through the problem. I’m not really sure how to describe it other than when I read a function to determine what it does then go to the next part of the code I’ve already forgotten how the...
Learn how to debug. For me, it’s a lifesaver for me to be able to step through some code to figure out what it actually does, instead of me trying to read the code to figure out what it may do. Yes, I do this for my own code too, because we tend to make assumptions, and I want to confirm those, always.
That means learning how to setup your IDE of choice - I presume you use vscode, so you’ll then have to google for “vscode debugging”. Maybe you’ll have to install some addons to add the support, probably setup some launch.json in a local .vscode folder. It all depends on your language of choice.
Learn how to test. This goes great with debugging. I write code in Python, so I end up creating src/ and tests/ folders. src/ for my actual code, and tests/ for my tests. I can use either pytest on the terminal, or just the vscode test addons to run tests.
Anyway, my tests end up being something like this:
src/my_app/main.py or something, with src/my_app/__init__.py existing to turn that folder into a module:
<span style="font-weight:bold;color:#a71d5d;">def </span><span style="font-weight:bold;color:#323232;">main</span><span style="color:#323232;">():
</span><span style="color:#323232;"> </span><span style="font-style:italic;color:#969896;"># some code I want to run
</span>
Then in tests/test_main.py (mirroring the src/ folder; adding test_ makes the file findable for pytest, and I call it main to make it easier to link to the main code):
This is how I always start off with - just a simple piece of code that does a thing, and a test with almost the same name as the function I’m trying to test. I can now add a breakpoint inside test_main and run the test within vscode, which means I have a way of hooking into the main function.
Think about the process of your application
Think about how to cut up the steps to create your application into smaller and smaller steps. Whenever something feels insurmountable, I’ll just have to stop in my tracks and mentally cut up a task into smaller and smaller steps, until I feel comfortable to take some steps.
I’m a data engineer, which means I tend to write code to ‘ingest’ data (which means, grab it from source A and put it into target B (where B is some centralized location to store all raw data).
So the main task is:
Write ingestion
I then have to figure out “what is the source”, because that dictates how I grab the data (do I have to loop over all folders in an SFTP server? Is there a state file that makes my life easier? Do I use an API instead?)
Write ingestion
figure out what the source is
Is there an SFTP state file? is it an API?
Do I need a username/password? Some API key?
I then start writing a small piece of code that connects to the source, or just grabs some random data to show the connection works.
So now I can grab some data. Is that data too large to ingest all at once? If a file is super large, I may not be able to hold it into data, which means using a buffer. And how many files are there to download? Should I batch those?
Write ingestion
figure out what the source is | SFTP
Is there an SFTP state file? is it an API? | there is a state file
Do I need a username/password? Some API key? | usename/password
How big are the files?
How many files are there?
and this is how I slowly grow my applications from an idea “ingest all data from some source” into something that can actually run.
Now, I do have some experience and know that filesize and filecount are important to take into account, but that’s something I learned along the way.
My first applications just loaded whole files into memory (a bad idea if your memory limit is 4 GB, and I’m trying to load multiple 1GB sized files into memory 😆), and taking local state (which files have I already downloaded) and external state (which one have updated or been added?) into account, etc.
Anyway, you’re already on the right path: You already know a weak point, and you’re smart enough to know your limits and ask for help when you’re stuck. That’s one of the fastest ways to grow as a programmer.
Not that that means anything to people outside the industry (spoiler: it means our energy networks need upgrading to accommodate all those solar panels in the network, and all that generated energy needs to be tracked, which it’s not as of today, because only a handful of locations used to generate energy, which we didn’t need to track)
I’m just a data engineer, but that shit is pretty fascinating in and of itself!
Red Hat Announces RHEL AI ( www.phoronix.com )
[Thread, post or comment was deleted by the author]
What're some of the dumbest things you've done to yourself in Linux?
I'm working on a some materials for a class wherein I'll be teaching some young, wide-eyed Windows nerds about Linux and we're including a section we're calling "foot guns". Basically it's ways you might shoot yourself in the foot while meddling with your newfound Linux powers....
A large state corporation in Brazil is currently trialing 800 Linux PCs. If successful, it will deploy and replace 22k Windows installs, comparable to the migration happening in Germany. ( www.reddit.com )
PostgreSQL maintainer Simon Riggs has died in a small airplane crash ( m6n.io )
C++ creator rebuts White House warning ( www.infoworld.com )
Python is memory safe? Can't you access/address memory with C bindings?
Compressing images with neural networks ( mlumiste.com )
The Best Password Managers in 2024 ( blog.thenewoil.org )
2023 was a record-breaking year for cybersecurity in a bad way. Ransomware payments hit a record high of $1.1 billion, which is likely to...
Please don't use Discord for FOSS projects ( drewdevault.com )
I installed Windows 10 in a virtual machine...man, this is straight up dystopian.
https://lemmy.ml/pictrs/image/be22ba36-0ad7-4d26-91d0-46ee2a934846.png...
Advanced git commands every senior software developer needs to know ( optimizedbyotto.com )
As aliases...
Feeling stuck on a never-ending software project
Scene: Surprise meeting with the project owner 0-3 days before the go-live date...
Announcing freenginx.org ( freenginx.org )
Everything about TOML format - Orchard Dweller ( www.youtube.com )
Visualizer:...
First year CS student currently on vacations looking for programming course to follow.
Hi, I'm a first year CS student and this 3 month period of vacations I want to follow a good free course on programming. If it's possible, I also want to learn how is the process in which a code written in a text editor can become an executable with it's GUI in the operating system (currently using Linux), because I really have...
State machines are wonderful tools ( nullprogram.com )
Here are 20 reasons why frameworks make us lousy programmers ( chat-to.dev )
It is not accurate to claim that frameworks automatically make programmers bad. In fact, frameworks are powerful tools that can accelerate development, promote best practices, and facilitate code maintenance. However, it can be argued that overly relying on frameworks without understanding the underlying principles of...
Male players: Why do you play female characters? ( kbin.social )
Got the idea of posting this when I watched this YouTube video that talks about reasons men love playing as girls....
Can one be too dumb for programming?
I’ve always flunked at math; and knowing how intertwined programming is with math, I’m skeptical of my ability to learn how to code. Can someone be too dumb to learn programming? If it helps, I’m mostly interested in learning Common Lisp.
Waveterm ( www.waveterm.dev )
What operating system and tools should a beginner use to learn programming?
I want start with python but I don’t know what operating system and tools to use. I have a 6 RAM icore3 180 GB hard disk Notebook laptop running Linux mint. I plan to save up to Buy a PC in the future but for I have to make due my old laptop...
Software Engineer vs Software Developer
In your opinion what’s the difference between the two? In my opinion both terms are frequently used interchangeably in the workplace....
What's the biggest change you would like to see in computing/tech?
I wrote a program for my boss. How legal is to to write the program again and make it FOSS?
I told my boss I had an idea for a program that could improve efficiency across much of the business, and he let me build it on company time. In the long term, he wanted to be able to sell it to other companies. However, the program never got implemented due to personnel mismanagement, and I’d rather be able to post it on my...
As a beginner, how should I go about learning difficult concepts?
I’m trying to learn programming and something I struggle with the most is trying to separate code mentally into chunks where I can think through the problem. I’m not really sure how to describe it other than when I read a function to determine what it does then go to the next part of the code I’ve already forgotten how the...
Is anyone else stuck on overhead?
I work for a services company, and we’re not getting much right now. Just wanted to ask about work availability across the board.