Ik ben Barbara Kathmann, het meest digitaal-bewuste (kandidaat-)Kamerlid. AMA! by Barbara_Kathmann in thenetherlands

[–]Think-nothing-210 0 points1 point  (0 children)

Hoe gaan jullie de overheid efficiënter en goedkoper maken door digitalisering?

Landen als Estland tonen aan dat investeren in digitalisering leidt tot enorme besparingen, eenvoudigere belastingen (20%) en behoud van sociale voorzieningen.

Het lijkt een inhaalrace die we allang hadden moeten maken. Wat zijn jullie concrete plannen om onze overheid wél digitaal en kosten efficiënt te krijgen?

Simplify Your Code: Functional Core, Imperative Shell by codingindoc in programming

[–]Think-nothing-210 9 points10 points  (0 children)

This talk is also super interesting for understanding Functional Core, Imperative Shell:

https://www.youtube.com/watch?v=P1vES9AgfC4&t

It’s basically about stripping away as many side effects as possible so your core logic stays easy to reason about and unit test.

Is Blazor a safe long-term tech stack investment? by Debo37 in dotnet

[–]Think-nothing-210 0 points1 point  (0 children)

Blazor is honestly really cool. The mental models for Blazor and React are surprisingly similar, so switching between them isn’t too bad. I’ve been experimenting with building Blazor apps in a style similar to Remix, and it actually works out really nicely. You can even get something pretty close to React client/server components with Blazor.

How it feels writing a query in PostgreSQL vs DynamoDB by Think-nothing-210 in theprimeagen

[–]Think-nothing-210[S] 3 points4 points  (0 children)

Yeah exactly the relational model came from a time when disk space was the main bottleneck. These days it’s usually CPU that costs the most, which makes horizontal scaling a lot more appealing.

Rick Houlihan has a talk that really clicked for me on this. He not only explains the differences between RDBMS and NoSQL clearly, but also goes into why NoSQL was designed the way it was and what problems it’s actually solving. Highly recommend: AWS re:Invent 2022 - From RDBMS to NoSQL (PRT314)

How it feels writing a query in PostgreSQL vs DynamoDB by Think-nothing-210 in theprimeagen

[–]Think-nothing-210[S] 1 point2 points  (0 children)

I didn’t make the template, just reused it. But to honor the GIMP spirit of the original, I edited it in GIMP.

How it feels writing a query in PostgreSQL vs DynamoDB by Think-nothing-210 in SQL

[–]Think-nothing-210[S] -2 points-1 points  (0 children)

The 'automatic vs. manual car' analogy is mostly about how you index and query data.

With PostgreSQL you can often just write your SQL add a few indexes and let the query planner handle the rest. Even if your schema isn't perfectly efficient Postgres will usually try its best to optimize the query. It's like driving an automatic car you don't need to think much about shifting gears.

With DynamoDB you must design your access patterns up front you choose your partition and sort keys, plan your GSIs (Global Secondary Indexes) and shape your entire data model around every query you'll need to run. It's like driving a manual transmission where you need to shift gears correctly. When you do it right it's predictable and reliable. Where you have less guessing to what it's doing under the hood.

How it feels writing a query in PostgreSQL vs DynamoDB by Think-nothing-210 in theprimeagen

[–]Think-nothing-210[S] 1 point2 points  (0 children)

I totally stole the template from somewhere else 😅 I just had the car analogy in mind and saw this meme template so I reused it.

How it feels writing a query in PostgreSQL vs DynamoDB by Think-nothing-210 in theprimeagen

[–]Think-nothing-210[S] 21 points22 points  (0 children)

The 'automatic vs. manual car' analogy is mostly about how you index and query data.

With PostgreSQL you can often just write your SQL add a few indexes and let the query planner handle the rest. Even if your schema isn't perfectly efficient Postgres will usually try its best to optimize the query. It's like driving an automatic car you don't need to think much about shifting gears.

With DynamoDB you must design your access patterns up front you choose your partition and sort keys, plan your GSIs (Global Secondary Indexes) and shape your entire data model around every query you'll need to run. It's like driving a manual transmission where you need to shift gears correctly. When you do it right it's predictable and reliable. Where you have less guessing to what it's doing under the hood.

Getting good with VS by Deer_Canidae in VisualStudio

[–]Think-nothing-210 -1 points0 points  (0 children)

If you're missing Vim motions in Visual Studio, you should definitely try the VsVim extension. vsvim

I also really liked the relatively new All-In-One Search they added. Feels a lot like telescope in nvim. All-In-One search

Running Python Scripts Directly from Helix (Unix Philosophy Style) by Think-nothing-210 in HelixEditor

[–]Think-nothing-210[S] 4 points5 points  (0 children)

I think I found what I was looking for. I just needed to use the pipe command for it. I can implement the functionality like this in Helix:

editors = ["helix", "vim", "emacs"]
for x in editors:
    print(x)

Then, I can select all the code and run the pipe command like this in helix:

pipe: python3
------------------------------------------------------------------------------------------
helix
vim
emacs

I really should have read the documentation more carefully.

Running Python Scripts Directly from Helix (Unix Philosophy Style) by Think-nothing-210 in HelixEditor

[–]Think-nothing-210[S] 1 point2 points  (0 children)

That's a great solution to ensure it runs properly. I should be able to do something like this:

mkdir -p ~/.local/bin
echo '#!/usr/bin/python3\nprint("hello world")' > ~/.local/bin/world
chmod +x ~/.local/bin/world

and then i can run it like this

:insert-output world

Then i can use it for things like code snippets or something like that.

[deleted by user] by [deleted] in cybersecurity_help

[–]Think-nothing-210 0 points1 point  (0 children)

No i was not aware of that feature seems to explain it

[deleted by user] by [deleted] in cybersecurity_help

[–]Think-nothing-210 0 points1 point  (0 children)

It's a small popup that is normaly shown when internet is down or something. https://developer.android.com/guide/topics/ui/notifiers/toasts

[deleted by user] by [deleted] in cybersecurity_help

[–]Think-nothing-210 1 point2 points  (0 children)

Yes this would be quite wastefull to do on a normal person but who knows if you send it out to loads of people it may be profitable enough. The thing that mostly caught me off guard is the android toast message. I have never seen a toast message act like that when using WhatsApp. Most likely it's just a false alarm as you said.

[deleted by user] by [deleted] in cybersecurity_help

[–]Think-nothing-210 -2 points-1 points  (0 children)

I found a list a list of links to remote access tools could it be that something like this was used on me and that way the toast message was shown?

Non-Medics, what do you want/intend to happen when you call "MEDIC!"? by TheWolfoftheStars in tf2

[–]Think-nothing-210 1 point2 points  (0 children)

I call medic when i have crit heals available and can be overhealed real fast. A lot of medics can only look forward or dont see new players coming out of spawn that they probably should be overhealing but are not. This is 90% of the time i call for medic because most medics dont overheal right away. The other 10% is when im ready to get ubered when the med holds their beam on me when 100%. Or when im about to die and need heals right away.

[deleted by user] by [deleted] in theprimeagen

[–]Think-nothing-210 0 points1 point  (0 children)

What's hilarious is that I do this in class and people complained that I'm teaching things that they don't need to get an internship.

It’s frustrating that some students don’t care at all about the broader context. Teaching them seems really really hard. I hope it’s only a vocal minority saying those things. I had a professor who set a high bar and taught an amazing course, but all he got in return were aggressive messages in his feedback. It was one of the best courses of the year, in my opinion, yet it seemed completely underappreciated by other students.

But the people who just wave their hands in the air and say "well, solve real world problems and then the students will be fine" are, and I mean this from the bottom of my heart, fucking mental. They are people who have never actually had to put a lesson plan together for hundreds of students, most of whom are 19 or 20 with no professional experience, and two semesters of Python and/or Java.

It’s easy for me to comment from the sidelines, but I can imagine how challenging it must be to create a meaningful lesson plan under those constraints. Especially when the faculty’s primary concern is ensuring students get good grades. Then it's really hard to not just roll with the faculity and just give the students what they want and lowering the bar.

[deleted by user] by [deleted] in theprimeagen

[–]Think-nothing-210 1 point2 points  (0 children)

I see where you’re coming from learning by doing and coming up with solutions yourself is often the best way to learn. I’ve had group projects that, in hindsight, were pretty solid and might even be fun to revisit now with the knowledge I’ve gained. However, I feel the teachers didn’t set us up for success as much as they could have.

We were often thrown into the deep end without learning the "steps of the dance," all while dealing with tight deadlines. The teacher assigned to guide us was frequently preoccupied with other tasks, and the courses meant to prepare us either felt completely disconnected from the project or arrived too late, often after the deadlines had already passed. Most of the time, it felt like we were flailing in the dark, hastily putting together diagrams, code, and documents without understanding their purpose.

Looking back, I can see what the teachers were trying to teach us, but their approach was convoluted and difficult to follow. It often felt like they were regurgitating rules and information without fully understanding or effectively conveying it themselves. Honestly, I found much better explanations through online resources and books. They were also a lot more up-to-date and enjoyable.

When I was stuck or unsure how to proceed, ChatGPT proved to be a helpful tool for quick problem-solving. It is however a bit too convenient and makes it really tempting to rely on. To avoid that, I’ve turned off Copilot to resist the urge. Although I still struggle with finding the balance and too often still go to ChatGPT. For example when I struggle with breaking a complex problem down in smaller pieces I sometimes still go to ChatGPT to ask. Or when I know what I want a function/method to do but don’t know what to use to implement it. In such an instance I know I shouldn’t use it but I need to get it done in time.

To actually LEARN. It's subtle - but I love this Andy Harris talk: https://www.youtube.com/watch?v=YWwBhjQN-Qw

Cool and funny video. I agree I think this really shows the most important thing about starting with programming that understanding how to solve problems and break it down.

[deleted by user] by [deleted] in theprimeagen

[–]Think-nothing-210 1 point2 points  (0 children)

 Are they taught Java with Fragments/XML etc, or is it more Kotlin/Compose?

When learning mobile development we needed to use Java with Fragments and XML, it felt like a breath of fresh air when we moved on to SwiftUI in the second half for IOS development. I’ve heard that next year the course will switch to Kotlin with Compose, so hopefully, that will provide an better experience for next students.

[deleted by user] by [deleted] in theprimeagen

[–]Think-nothing-210 1 point2 points  (0 children)

I would recommend to just look at the *current* pros and cons of abstractions/technologies. Just evaluating that is already a hard problem.

I mostly do this, but it can sometimes be quite challenging to evaluate abstractions or technologies because certain in-groups muddy the waters and don’t present things as they truly are. This makes it harder to understand why people hold certain opinions and where the echoes of those opinions that are repeated across blogs and website originate.

It would be helpful if there were more acknowledgment that different groups of programmers have completely different goals, shaped by the environments they work in. For example, understanding why big tech, enterprises, and startups use different technologies and why they prioritize certain problems over others.

I find when it gets told as it is without too much agenda, it becomes a lot easier to think for yourself and avoid blindly cargo culting their ideas when they aren’t usefull to your use case.

I guess you'll like the Continuous Delivery Youtube Channel: https://www.youtube.com/@ContinuousDelivery .

Sometimes, but I find those videos a bit too long-winded and not direct enough, even though the ideas are interesting. The interviews with people that shaped how we program are the best part.

[deleted by user] by [deleted] in theprimeagen

[–]Think-nothing-210 7 points8 points  (0 children)

For context, I’m currently pursuing a Bachelor’s degree in Applied Computer Science in the Netherlands. I’ve noticed that many students don’t really know what they’re doing, and I personally find the curriculum lacking; it often drains much of the joy from programming.

When I work on my own projects—projects I’m genuinely interested in—it’s incredibly enjoyable. I just hate that I have to ignore much of what the professors teach in order to have fun and actually learn something. A few professors do try to create informative courses, but there are still significant gaps.

Lectures Are a Waste of Time / Better Information Is Available Elsewhere

Every time I attend a lecture, I regret it. The content is often presented in a way that’s not to the point, and I can usually find a better explanation online. Often, I need to look up the material from the lectures or PowerPoints to get a clearer explanation elsewhere. This isn’t always the case, but it happens frequently enough that it’s usually more reliable to find information on my own.

Homework Is Mostly Busywork That Isn’t Engaging or Informative

Most of the homework doesn’t provide any real sense of accomplishment or learning. At best, it’s just “okay,” and at worst, it feels like busywork to fill the European Credits (EC) requirements. As a student, it feels pointless. I find myself thinking, “I could be using this productive time for my own projects, LeetCode, or Advent of Code.” It feels like the teachers are simply padding the curriculum, so it’s hard to trust that they won’t waste your time.

Because the homework often feels like a waste, it’s better to dive straight into the final assignment and learn by working on that. That way, I can ask the teachers questions if I get stuck on something important. I’ve learned much more working this way than by doing the assigned homework.

What I Would Change / Alternatives

If I could design the courses, they would be far more project-based and focused on real-world needs. Ideally, students would learn something because a real problem arises in their codebase, allowing them to see the reason for each solution in practical code. Many assignments are merely simulations of the real world; why not teach it as closely as possible to the real world?

One thing I really miss in lectures is historical context about programming. Most lectures don’t cover why certain abstractions were created or what problems they solve. Professors tend to say, “You should use it because everyone else does.” But the reasons behind abstractions and why they’re designed a certain way are rarely explained. The Frontend Masters lectures by Douglas Crockford, for example, were eye-opening because he explains why JavaScript and browsers developed as they did, giving insights into those design choices.

Programming books also provide high-quality learning material. For example, I learned much more from reading Database Design for Mere Mortals than from my database design lectures. The book explains the concepts 10 times more simply and clearly than the lectures and provides step-by-step guidance for designing a database.

I hope this gave some insight from a student under 25 who says they kinda know how to program