HN user

webartifex

165 karma
Posts5
Comments38
View on HN

Hi HN,

I am not a security expert and was wondering how I can secure my (Ubuntu) Linux based system from such an attack?

Background: I am using the pass password manager to copy & paste passwords all the time.

Now, I am afraid that websites like LinkedIn may have stored my clear-text password.

I researched this but only find clipboard managers. No security tools for that.

Thanks for any help.

Thanks for your comments.

I have used Thunderbird and Evolution mainly. They cannot really do that afaik.

Probably some good IMAP-Client supports this? The Gmail clients do that (at least the last version's I remember 3 years ago). Haven't seen any other FOSS that does so too. That is what made going away from Gmail kind of "hard".

Currently I'm using K9 on Android and the web client by mailbox.org based on OX AppSuite. Both are ok, but usability could be better.

Agree.

I am using the German email provider mailbox.org They even report how often the government forces them to release info with a search warrant.

However, I have yet to find an email provider that mimics Gmail's tagging system (=> you can give n many tags to a single email and that email is only kept once on the server).

I often think that Google's "Don't do evil" motto is stretched way too often these days.

Hello world,

two weeks ago, I recorded and published my "Introduction to Python & Programming" course that I have been teaching to non-CS majors over the last 2 years.

Materials on GitHub: https://github.com/webartifex/intro-to-python

Playlist on YouTube: https://www.youtube.com/watch?v=3Zns-vfhuic&list=PL-2JV1G3J1...

Question: Because the semester is over at the end of April and I have no teaching obligations until the fall term, I was wondering if I should be teaching the course over the summer. I have no experience with developing a MOOC, so I am curious to hear your suggestions.

My plan was to put one video lecture up per week and then have a Q&A for the students on, for example, Zoom. My university has a big license.

My big observations over the last couple of semesters are that non-CS majors need some personal tutoring. No need to be 1-on-1. Assigning students into small study groups and then talk to the groups is enough.

So, I am basically offering my time once a week for free for any beginner to Python.

Maybe we can start an initiative where other software engineers also volunteer their time in a similar format.

I audited a couple of the standard MOOCs on edX and coursera in the last year and find that especially beginners struggle if they only have a message board to ask questions and not an interactive tutor.

What are your thoughts?

Cool initiative. I will take a look at some of the sessions. Can you post a schedule when they will take place?

I am in particular interested to see how much depth you expose the "non-programmers" to. Is it just an applied course? E.g., here is a function X that does Y. Or do you focus also on the implications in memory and, for example, Python's object model?

Good luck. We need more non-programmers to learn to code. Not for coding's sake. Most of them won't become developers. But it allows academics from all kinds of disciplines to teach their students advanced stuff. I see programming just like most students independent of the major must take Calculus 101 or Statistics 101.

BTW, I am the author of this introduction to Python (also for non-CS majors): https://github.com/webartifex/intro-to-python

I teach Python at a business school. Due to Corona, the campus was closed and I put all my lectures on YouTube: https://www.youtube.com/playlist?list=PL-2JV1G3J10lQ2xokyQow...

Subscribe to my channel https://www.youtube.com/user/webartifex if you are interested in more Python applications in the field of business administration. I am new to YouTube and will post at most 2 meaningful videos a month. No monetization, no hidden product placements.

See also this HN post from last week: https://news.ycombinator.com/item?id=22669084

I get you.

The plotting tools I would actually consider in an "Intro to Data Science" course, not in an "Intro to Programming".

I started to write a library implementing Gilbert Strang's Linear Algebra book assuming nothing but core Python. What inspired me to do that was reading Philip N. Klein's book "Coding the Matrix". I thought writing a LA library for fun and study purposes makes sense if you want to go on and study data science. However, that project is not yet ready to be published. Would that be what you are looking for?

I introduce the idea of a type right in chapter 1 because of exactly the argument you make.

As Python is really more about the behavior of objects and not so much their type, I introduce these already from chapter 4 onward, for example, iterable vs. container, and many more. I actually would say that this is the essence of any dynamic language (duck typing).

"and how to read the python documentation" -> that is an important point you raise!!! I found that beginners have real trouble reading the docs because they are screening for words like "list" instead of "iterable". However, as I teach abstract behaviors early, they actually understand the docs.

"like using .format() instead of fStrings" -> I mention .format() but mainly use f-strings and tell the students right away that they are both faster and easier to read and that they should default to them.

I hope there are no companies that hire a "data scientist" that only speaks HTML :)

The course aims at students of business administration. What do they usually do? Maximize some profit function. So, my background is really more traditional Operations Research.

Pandas and numpy & friends will be in Chapter 9 that I had not yet time to finish (the semester runs until end of April and is currently at Chapter 5).

Furthermore, it is a programming (!) course, not (!) a data science course.

Please define data science to me. Is it "only" curve fitting to you? Or also optimization (e.g., in logistics)? Then, dynamic programming (and because of that recursion) is super important.

I rely on Jupyter notebooks mainly because it is a course for people with absolutely no prior experience that also do not major in CS.

.py files are actually explained in Chapter 2 and will be used in a follow-up course.

Agree. I actually found that I set up a Postgres instance to put the data of an object and use pandas only via sqlalchemy. Most of the stuff pandas does, can be achieved a lot more efficient if done right in a real database.

I also agree about the algorithms part. For my research, I look into vehicle routing problems a lot and there is no sklearn for that or something alike. Maybe an idea for a future project.

An experienced data scientist with deep knowledge in the topics you mention easily replaces 10 of those "candidates". I feel the best way to train more serious programmers and data scientists is to teach kids to program earlier in high school. Maybe make it mandatory just as math is today. Then, a lot more students may choose CS or math as a major in college.

The videos are actually available in 1080p.

If you can re-do the audio and tell me how I can do that in YouTube without re-uploading the video (it's embedded, for example, in the university's Moodle), I will gladly do that. If not, as I said, I'll do proper recordings once I got more time. I did up to 4x 2.5 hour videos a day last week to get the lectures up on time. You can actually hear that in my voice sometimes.

I absolutely agree with your approach to learning.

I consider my course a thorough course. You really learn a lot of theory. This is usually what makes students at my university drop the course after two weeks of auditing. Just because the course assumes no prior CS contents (anything really, except high school math), does not mean they don't get introduced.

It depends on who wants to hire you. For the top jobs, this is for sure not enough.

I always tell people to please make sure they know all the contents from here https://www.youtube.com/watch?v=ZK3O402wf1c&list=PL49CF3715C... (Gilbert Strang's Linear Algebra course) before they make any claims about being a data scientist. I bet I can teach a monkey to open a CSV in pandas and call .fit() in sklearn. But do the people really understand the underlying assumptions. Most self-proclaimed data scientists don't I am sure.

I still have a hard time calling myself a data scientist. And I am three years into a relevant PhD. The more I study, the less I feel I truly know.

Can anyone recommend a good document camera / visualizer that works on Ubuntu Linux? The reason I had to use the lecture capture system in the lecture rooms is mainly because I don't own a document cam. Ideally, the cam would also work with Zoom. Many thanks in advance.

Two videos have the hum. This cannot be changed because the lecture capture system in the lecture room does not allow this (It's Panopto).

The quality is actually high enough. Maybe that is due as YouTube is currently lowering the quality due to Corona?

My plan is to incorporate the feedback everyone gives in the next weeks and do the recordings again in studio at the end of summer for the next semester.

The videos are actually intended to only support the chapters in the Jupyter notebooks.

The funny thing is this: Once I started doing the memory diagrams in the lecture, the students' work exhibited a lot more quality. Further, absolute beginners understand, for example, the concept of an iterator vs. iterable.

BTW: chapters 9 and 10 will be released soon on GitHub.

I agree. Although at some point, any beginner must be exposed to the command line :)

My observation about myself when studying is this: Nothing, no video course, beats a well written book. And, such books are often "slow" reads as you have to think a lot when reading. I found Jupyter notebooks a good instrument to put a lot of info in. My guess is that there is three times the info in my course's notebooks as there is in the 25 hour video recordings.