HNHacker News
TopNewBestAskShowJobs

redsymbol

1,474 karma · joined August 14, 2007

Aaron Maxwell Software engineer and media buyer/marketer Author of Powerful Python: https://www.amazon.com/dp/1098175700 Contact: amax@redsymbol.net
submissionscomments
redsymbol··on The EU Copyright Directive: What Redditors in Europe Need to Know
Thanks so much for publicly sharing this.
redsymbol··on Finland freezes arms export permits to Saudi Arabia and UAE over Yemen
Thanks for commenting, good information.

It's a useful distinction: perhaps Finland isn't protesting SA's involvement per se. Rather, one can be neutral about that, or even support it... but not support the incompetence of how that intervetion is executed, i.e. resulting in the deaths of children and civilians. Makes a lot of sense.

Edit: And I'm now thinking about how well those can be separated. Could the military intervention continue, but change in a way that dramatically decreases innocent victims (or relatively innocent, etc.)? It seems like that ought to be possible. But I don't know the situation on the ground.

redsymbol··on Finland freezes arms export permits to Saudi Arabia and UAE over Yemen
Good points.
redsymbol··on Finland freezes arms export permits to Saudi Arabia and UAE over Yemen
The situation in Yemen is complex. As I understand it, the civil war essentially started in 2014, when a group called the Houthis attempted a military coup, to seize control of the government over the democratic election process. These are the "rebels" referred to in the article.

Saudi Arabia has been supporting the government of Hadi, the former vice president who became president in Yemen's 2012 election. Meanwhile, Iran has been giving support to the Houthis. Again, the situation is complex, but it seems to me that without SA's military support, the coup would have been successful in seizing control of the country.

Imagine SA withdraws all military support, and the Houthis are successful in taking over the country by force. Is the world now a better place?

Maybe. Maybe not. I sincerely don't know. But if you felt intense anger while reading this article... I have to point out that you probably don't know, either.

The humanitarian needs in Yemen are immense, and heartbreaking; it's the poorest nation on the Arabian peninsula, and it's essentially run out of water. Maybe it's better to let the coup succeed just to allow some stability and rebuilding.

Just don't have any illusions on what you're actually supporting.

EDIT: And if you don't know what to think yet, or what's best for everyone... be willing to say that to yourself.

redsymbol··on As U.S. fertility rates collapse, finger-pointing and blame follow
Actually, and I didn't read the article, but responding to your last sentence... Apparently the primary oocytes in a female human body are all created before she is born, and available evidence says it's likely no more are produced after that:

https://en.wikipedia.org/wiki/Oogenesis#Oogenesis

redsymbol··on GIMP receives a $100K donation
1) Hardware upgrades catapult productivity. Ever gone through the sheer hell of developing on a sluggish, over-taxed computer? For a project like this, the faster build times alone will make HW upgrades worth it.

2) This team has proven their dedication by sacrificing immense time & opportunity - some of them, for years - to work on this fantastic gift to the world. Not that it's your call, or mine - the $ was given to them, not you or me - but I say let 'em spend it however they see fit.

redsymbol··on Java’s new garbage collector promises low pause times on multi-terabyte heaps
OT: I initially mis-read this as "Jay Z's new garbage collector".

Talk about an intriguing headline.

redsymbol··on Rockstar: A programming language where programs are also song lyrics
My bittersweet tragic morning:

0) Check hacker news

1) Read about Rockstar. Get more and more excited

2) Go to download/build the interpreter/compiler/whatever

3) It's not implemented yet? I can't write Rockstar code RIGHT NOW?!

NOOOOOOOOOOOOOOOO

redsymbol··on Python post-Guido
Don't know why you're being downvoted. As a Pythonista and author of a Python book, I'm really curious. Would you mind suggesting a few aspects of Javascript's ecosystem to look at?

Thanks in advance.

redsymbol··on YAML: probably not so great after all (2017)
Clark, thanks so much for YAML. I love it and use it a lot. It actually increases the day-to-day joy of the work I do as a developer.

(While constructive criticism is fine, those rare people who trash it are... nonsensical to me. I'd like to see them do one-tenth as good under the same conditions!)

redsymbol··on Teach Programming to become a better programmer
No hostility ever, no, because (a) I freely acknowledge I don't know everything, and (b) I'll not hesitate to say if I don't know something or I'm not sure (or become unsure). People are of course really understanding and good-natured about it. "Eat me alive" is an overstatement; better to say they won't let it slide.

> Also, what, in general, is intermediate-to-advanced Python?

Basically the kinds of topics covered in my Python book, which I'll plug here without shame:

http://amazon.com/d/0692878971

It's either intermediate or advanced, depending on your perspective.

redsymbol··on Teach Programming to become a better programmer
In the first 4 months of 2018, I taught intermediate-to-advanced Python to about 2500 working engineers around the world. This was through a 30-hour series of online trainings, repeated once or twice each month.

It absolutely made me a better developer. Some comments:

* Since I don't teach beginners, some of the questions I get are really hard. As in, someone who's good enough at writing software they've been paid to do it for many years will encounter some hard problem, bang their head against a wall with it for days or weeks... and then ask me about it live during the Q&A.

* If I make some claim during class that is not accurate, the students - who, again, are all professional engineers in the work force - will eat me alive. The early classes quickly dispelled a lot of incorrect knowledge I didn't realize I had. (If I were teaching something like art or politics, maybe I could sometimes BS my way through something... but not coding.)

* Toy code sucks. I quickly figured out it is 10,000% better to have a realistic example that might actually exist in a production code base somewhere, for all sorts of reasons. This is also 10,000% harder to do well, for the instructor.

* We all have certain mental models and even beliefs that have been "installed" in our thinking from our previous coding experiences. A big part of my job is to quickly figure out what lens you're using to view coding reality (e.g. maybe you're a Java expat, and tend to think in terms of its type system); pace that reality so I don't lose you; and gently drag you into a very unfamiliar way of thinking, using the different metaphors required to reason about the new language/technology. Oh, I have to do it for 150 people from two dozen different countries all at the same time.

* Biggest surprise: what's been more useful than anything in helping me become better as a trainer: studying psychology and hypnosis. (Lots of subtle hints in how this applies in the previous item.)

redsymbol··on Back end development in 2018
Deployment: Perhaps that topic will be covered in the separate DevOps roadmap they say they are working on.
redsymbol··on No hugging: are we living through a crisis of touch?
(context: live & work in San Francisco/Silicon Valley area)

Before becoming an engineer, I studied massage, and came very close to choosing it as a profession.

Doing massage, you learn not just to touch, but HOW to touch. There's lots of different ways to touch a person, which give in different ways. Even now, it's naturally woven into my personality. I touch as part of my normal face-to-face communication with most people.

Generally speaking, adults are STARVED for touch. As in, they deeply crave to be touched, and to touch others. But for whatever reasons, people around here don't have enough opportunity to give/receive that, even those in a relationship.

Knowing how to give that to people in a way they can receive is a massive gift. It's desperately, desperately needed.

redsymbol··on How “Exit Traps” Can Make Bash Scripts More Robust and Reliable
Thank you!
redsymbol··on How “Exit Traps” Can Make Bash Scripts More Robust and Reliable
Author of article here (but not submitter). I wrote this years ago, and it's fun to see it pop up on HN like this every year or two!

Here's another bash article people like:

http://redsymbol.net/articles/unofficial-bash-strict-mode/

redsymbol··on Python 2.7 Countdown
I mean this in the kindest possible way:

You're taking what I wrote too literally, and thus missing the point. What I wrote means: if the only Python you know is 2.x, it might close off opportunities for you in the near future.

redsymbol··on Python 2.7 Countdown
I teach online workshops on intermediate Python to several hundred developers each month, scattered globally. Since these are engineers in the work force, I start each class with a quick poll about which version they primarily use on their jobs: 2.7, or 3.x.

18 months ago, the results were typically 20% Python 3, and 80% Python 2. Over time, the ratio shifted. In recent months, it's VERY consistently 60-70% Python 3; one class it was 80%.

As I tell those students: sooner than you think, having only Python 2 on your resume will make it look dated.

redsymbol··on New deep learning course by Andrew Ng
There's a trick to making it appear. See my other comment in this discussion.
redsymbol··on New deep learning course by Andrew Ng
At first I could not find a way to sign up without paying - when I click enroll, I didn't see the audit link that Sjenk and others mention.

The trick is that the audit link only appears when you sign up for the individual course, not the entire sequence. So if you go to this link:

https://www.coursera.org/specializations/deep-learning

... and click "Enroll", you can only proceed by supplying payment info. However, if you scroll down to that page to the box titled "Course 1", at the bottom of that box is a link "You can choose to take this course only. Learn More".

Click on THAT to go to the individual course page. Then, click Enroll, and in the first box that pops up, you'll see the link "Or audit this course" in the lower left.

This allowed me to sign up for all five without supplying payment info.

redsymbol··on Key differences between Python 2.7.x and Python 3.x (2014)
Poorly worded. I taught 4 classes in March and 4 in April, over 500 unique engineers total (some were in more than 1 class).

There's definitely going to be pockets of resistance. My attendees are a very wide-spectrum sample from many different companies and industries and even countries, so I have some faith in the trend that's showing up. Could be that there's some bias in my students for sure. Regardless, the ratio I've been seeing has been steadily increasing month after month since late last year.

redsymbol··on Key differences between Python 2.7.x and Python 3.x (2014)
To people whining "why hasn't Python's community moved to 3 yet": It has.

I teach online advanced-Python programming workshops every month. The audience of each is 50-100 working developers from around the world, every one of whom use Python in their day-to-day work.

I start each class by polling who's using Python 2 vs. Python 3. A year ago, about 20% said they use Python 3, 80% Python 2. In the last 2 months, it's consistently 60%-70% Python 3.

Python's community has already plowed through the sigmoidal inflection point to 3; most just don't realize it. The linked article is years old.

redsymbol··on Diaspora-common: does 'rm -rf /' on purge
I'll take this opportunity to plug my most popular essay of all time here:

http://redsymbol.net/articles/unofficial-bash-strict-mode/

Looks like it might have prevented this.

redsymbol··on Physicists taking jobs as Silicon Valley software engineers
Anecdata: As a software engineer who studied physics before C.S., it feels like I've had a massively unfair advantage my entire career. Served me very well.
redsymbol··on Wordpress on AWS: smooth and pain free
Great information, thanks - and I have a question: have you had issues with S3 being only eventually consistent for some usage modes [0]? If so how do you work around them? My first intuition is that this property of S3 could cause occasional problems with plugin upgrades, file changes, etc.

[0] See "Amazon S3 Data Consistency Model" on this page: http://docs.aws.amazon.com/AmazonS3/latest/dev/Introduction....

redsymbol··on Ask HN: Posture – what do you do during work to avoid back pain?
Doing these two things has worked extremely well for me:

1) Doing deadlifts. This is a strength-training exercise: https://www.youtube.com/watch?v=4AObAU-EcYE

2) Seeing a good chiropractor about twice a month. (You might need to shop around - I can elaborate on how to select a quality one if people want)

You asked about an app. I actually corrected my earlier posture and lower-back problems using the above and not any kind of app to remind myself to get up and move around; the above helped even though I routinely sat 1-2 hours at a time, in a deep coding trance, without moving around. Recently, though, I started using BreakTime (a macOS app) to remind me to look away from the screen, mainly because I believe it's healthier for my eyes. This is a $5 app I've been quite happy with.

All the above is in the anecdotal "works for me" category. Good luck in your effort to find what works best for you!

Edit: The video link above gives a rough sense of the exercise, but the fine details matter greatly, so if you decide to do it I highly recommend studying the relevant chapter of this book: https://www.amazon.com/dp/0982522738/

Edit 2: More about chiropractors: Few are MDs; the ones I've worked with all went through a 4-year, post-bachelors program. In my experience, chiropractors fit on a spectrum, going from ambulance-chasing quacks to gifted, remarkably effective healers. You want the latter. Only way to find out is to pay for about 3 visits; if you and your body are consistently feeling better physically and emotionally by then, you've found a good one. If not, stop, and go find another. So far, the best I've found lean towards alternative medicine (which was really surprising at first... I'm trained as a physicist, and was REALLY skeptical.) Can't say that's a general rule though. Again, all this is my experience; better to get your own experience and evaluate based on that, instead of blindly deciding based on something you read online.

redsymbol··on Spark 2.0.0 Released
Thanks for creating it. It's one of only 8 subreddits I subscribe to.
redsymbol··on Sci-Hub Is Blowing Up the Academic Publishing Industry
> In 2015, the company earned $1.1 billion in profits on $2.9 billion in revenue...

How in the world does a company like Elsevier accrue $1.8 billion in expenses? Apple's 2015 worldwide operating expenses were $30 billion [0], or about 17 times higher. Yet Apple's costs for manufacturing, retail, sales, payroll, etc. ought to be hundreds or thousands of times greater than Elsevier's; Apple has 115,000 employees [1], for example, while Elsevier only has 7,200 [2].

It just seems that if their revenue is really $2.9 billion, then even if we weren't in an age of nearly expense-free digital distribution, Elsevier's profit margin should be far higher than it is.

What do they spend all that money on?

[0] http://www.wikinvest.com/stock/Apple_(AAPL)/Data/Total_Opera...

[1] https://en.wikipedia.org/wiki/Apple_Inc.

[2] https://en.wikipedia.org/wiki/Elsevier

Edit: My employee-count example is a bad one, since the ratio of employees for each is about the same as the ratio of operating expenses. But Apple has huge R&D, manufacturing, and retail expenses. Elsevier's equivalents must be minute in comparison.

redsymbol··on Python 3 Is Winning Library Developer Support
Probably my favorite single thing, which is really a collection of things, is that Python 3 makes many classes of previously obscure bugs more immediate and obvious. hasattr() no longer masks exceptions; object comparisons without ordering methods defined will raise a TypeError, instead of being based on object ID (which is a race condition); two exceptions raised in succession will give you two stack traces, instead of just the last one. These and similar changes make bugs more likely to be found and fixed quickly, during development, instead of lurking until they're deployed. More info here: http://migrateup.com/main-difference-python-3/

That said, it depends on what you mean by "innovation". To me the above is a worthwhile improvement, and more important than (say) asyncio. It's also a "nice to have", in the exact same sense that 2.7's features are a nice-to-have compared to what's in 2.5. At the end of the day, if you want to continue coding in 2.7, that's what you should do.

redsymbol··on Python 3 Is Winning Library Developer Support
Wow...

That "rogue band of developers" consists of the Python core committers - the people who have been volunteering their time and energy for years to bring you Python in the first place.

"nothing there is true technical innovation" - There is so much innovation in 3.x, I could write for an hour and not list everything.

"CPython3 was slopped together" - From my perspective, most of it has been extremely well thought out. That is not to say that everything turned out perfect. What software project on this scale has NOT has things that, in retrospect, turned out to be mistakes? Hindsight is 20/20.

It's like you are looking at all the many, many, many aspects of the change from Python from 2 to 3, positive and negative, and only seeing the bad things. If that's your mindset, I feel really sorry for you.

http://sealedabstract.com/rants/python-3-is-fine/

← PreviousPage 4 of 9Next →