HNHacker News
TopNewBestAskShowJobs

babarock

1,840 karma · joined October 7, 2011

My name is Joe. I work at Red Hat.

The opinions I express here represent my own and not those of my employer.

submissionscomments
babarock··on Transitioning from Docker to Podman
Honest question, what's the difference between "from inside a VM" and "directly on a hypervisor"? I always thought it meant the same thing.
babarock··on Transitioning from Docker to Podman
Genuinely curious what issues you came across. Any chance you documented them somewhere?
babarock··on MIT 6.001 Structure and Interpretation (1986) [video]
First of all, I want to mention that SICP is so much more than learning lisp. As a matter of fact, learning lisp only takes 10 minutes in the first lecture. The rest of the course is about learning programming techniques (and _magic_ as they call it) with the explicit intent of learning to manage complexity. Even if you're completely fluent in lisp, taking this class will be massively mind opening.

With this out of the way, what's so special about lisp? Where did it get this reputation for mind-expansion? Part of it is historical. 20-30 years ago, the industry was focused around _stricter_ (for lack of a better term) languages like C++ or Java, and lisp presented some features that were super powerful, like REPL, interactive debuggers, higher order functions, lexical scoping, lambdas, etc. Lots of mainstream languages have since adopted these features (python, perl, ruby, javascript, ...), making lisp a bit less exotic than it used to be.

Still, today, there're some things that are unique to lisp that might be worth studying. The most important thing is macros. Macros are only possible because of the (lack of) syntax of lisp. It's a programming technique that consists of _programming your compiler_, for lack of a better term. It allows you to define a language specific to the domain you're working on. Pretty unique technique, and like all the other techniques, sometimes smart, sometimes useless, sometimes abused. I still believe it's worth learning, because understanding how macros work will explain a lot of things about the other tools you're using as a programmer.

I hope this makes things a bit clearer.

TLDR: A lot of what made lisp special is now available in other languages. Learning lisp is still worth it to expose you to _macros_. Regardless of how well you know lisp, going through SICP will be massively beneficial.

babarock··on Ask HN: A way to adblock “we're using cookies” popups?
The 2 aren't mutually exclusive.

Seriously, I wonder if adding those cookie banner impacted tracking in any significant manner, because it definitely significantly impacted the usability of the web.

babarock··on Linux is Most Used OS in Microsoft Azure – over 50 percent of VM cores
Between this and their Azure Sphere product, Microsoft may very well be the largest Linux vendor today.

As someone who discovered Unix in the early 00s, this makes me chuckle. What a world!

babarock··on Goodbye, Clean Code
One of the areas where I really like "incidental duplication" is in tests.

Tests can sometimes be very repetitive and identical, and it's tempting to want to refactor it in some clever way. That's almost never good.

On top of the reasons laid out in parent comment, tests also function as unofficial documentation. I like having everything explicit in there, it makes them easier to read and understand.

babarock··on Interpol issues 'red notice' for Carlos Ghosn's arrest
"presumption of innocence until proven guilty" is a Human Right (article 11 of https://www.un.org/en/universal-declaration-human-rights/)
babarock··on Debian votes for Proposal B, “Systemd but we support exploring alternatives”
You can be a volunteer project and still strive for having uniformity across packages in your project. The fact that you're volunteering doesn't mean you get to do whatever you want. That's exactly the reason Debian holds such votes.
babarock··on BSD vs. Ubuntu motd(5)
Not a downvoter, but if you think that compiling from source means you don't have to trust anyone, then I encourage you to read a paper called "Reflections on Trusting Trust" by Ken Thompson.

It's a very famous computer science paper, pretty easy to read. Nothing niche or controversial. I'm sure you'll find it interesting.

babarock··on Moving the Linux desktop to another reality
Same. And I like many, I turned that damn cube off after 2-3 months of use.
babarock··on IBM Closes Acquisition of Red Hat for $34B
Slight nitpick. OpenShift, since its latest major version (3?) is Kubernetes. It's mostly a repackaging/distribution of k8s. OpenShift can run on top of AWS/Azure/GCP, but also, most importantly, OpenStack.
babarock··on IBM Closes Acquisition of Red Hat for $34B
Red Hat employee here, working in the cloud division. I can't speak for IBM, I'm not too familiar with it. I don't know what the future will hold.

So far, Red Hat plays in a field slightly different than AWS/GCP/Azure. Our customers mainly want something _on premise_, something on their machines, their datacenter, behind their firewall. Most of our customers don't want to, or can't, hold their data on machines they don't physically own.

babarock··on IBM Closes Acquisition of Red Hat for $34B
https://www.freedesktop.org/software/systemd/man/journald.co...

Seriously, it's in the man page.

babarock··on IBM Closes Acquisition of Red Hat for $34B
> And that timeframe might be shorter than you'd think. My guess would be "days".

Any evidence to back up your guess, or is it just the hunch of some dude on the internet?

babarock··on IBM Closes Acquisition of Red Hat for $34B
How will they service open source if they stop funding its development?

I'm assuming that you're implying that's what IBM wants?

babarock··on IBM Closes Acquisition of Red Hat for $34B
"IP acquisition"? Honest, if all the code that RH writes is open source, how can this be an IP acquisition?
babarock··on Emacs 26.2 Released
Depends what you're looking for. If you want blazing fast text-editing, you're better off learning advanced vim features like jumps, macros, registers ...

If you care about integration with other text-based tools (like email, instant messaging, source control, code review, IRC, ...) then switching to emacs will transform your workflow.

There are a couple of emacs modes that stand out, and in my opinion make emacs worth it:

* Org-mode (https://orgmode.org): A note taking system * Magit (https://magit.vc/) the best git client I've ever used.

babarock··on California’s Monarch Butterfly Population Hits Record Low
Thank you for the reasonable answer.

Still, I find no harm in asking "what is it about this species that makes them stand out?" I was expecting to get factual answers along the lines of "these butterflies are tied to this specific other species and we know that this could snowball into X, Y, Z". I would've liked to hear something like this instead of the other patronizing answers and the accusative tone.

> Asking questions is fine! It's great. It's how we learn. But cavalier comments like the OP are downvoted not because they are asking serious questions, but for stinking of militant ignorance.

I'm getting downvoted just like OP. Am I being cavalier too?

I'm more concerned about our inability to have a discussion without assigning nefarious implicit meaning to questions. I realize that denying human impact on the environment is a reality in US politics. I'm not from the US. I don't understand much of these things.

If you don't mind me asking, what exactly in OP's question made it stink of militant ignorance? Am I displaying the same ignorance as well? Or am I only expected to perpetuate the outrage and never question anything.

For instance can I ask where this comes from "The extinction rate today is 100 to 1000 times higher than geological norms." or will it sound like I'm denying all human impact on the planet?

babarock··on At least it wasn't Oracle
380,000 employees at IBM, you're sure your 3 categories encompass everyone?
babarock··on Trump says he is likely to support ending blanket federal ban on marijuana
You say laziness, I say censorship. Which one of us is right?
babarock··on Linus Torvalds: “Do No Harm”
This.

Not breaking user space is fundamental to the success of most operating systems today. I read this article I cannot seem to find about Microsoft employees spending months replicating "wrong" behavior in <oldwindows.. win95?> so that applications still ran on <newerwindows... win98? win2000?>. Users don't want to see their applications crashing.

I wish I could find this article again, it's very relevant to your comment.

babarock··on Linus Torvalds: “Do No Harm”
> Why would you not want this?

You don't want your machine to start crashing after installing the latest kernel. Or at least, that's the golden rule of Linux development.

If phones start crashing after installing the latest Android update, people won't see this as a security/stability improvement. They'll simply see the new version as buggy and of poor quality.

babarock··on Ask HN: Does HN cause depression?
"Best way to learn everything about a topic is to explain it wrong on HN" ;)
babarock··on Linux 4.5-rc5: efivarfs fixed to avoid “rm -rf /” bricking UEFI
A lot of people are busy arguing who to blame, I just think it's interesting that sometimes you need to support non-standard software. Actually, I think it's interesting that highly successful programs are not the ones who go "not my fault, you should just implement the spec better".

Raymond Chen talked[1] about the importance of supporting that ran on Win95 but broke on WinXP, even if they weren't complying to Microsoft specs.

I also remember reading that web browsers had to go to great length to render completely non-compliant web pages.

In your experience, when should you decide to support "non-complying" behavior?

[1]: Unfortunately I cannot find the original article by Chen but I could find extensive mentions of it in [this article by Joel Spolsky](http://www.joelonsoftware.com/articles/APIWar.html)

babarock··on Some of the most popular games get the least respect from game enthusiasts
There are many things I dislike about Monopoly but the randomness isn't one of them. A good deal of games I love have a big chunk of luck/randomness and I'm fine with it.

The things I dislike about Monopoly:

* Not too much strategy involved. The player who wins is usually the one who buys a lot of lands early.

* It's long. Even the shortest games last over 90 minutes. However the winner is decided much earlier in the game. There's very little you can do to prevent an early leader from taking the game, and you have to sit there watching them bully you slowly for several hours.

* The theme sucks. "Buy land, make more money". I don't find that particularly fun.

* The good elements of monopoly are often found in other games that don't share the same bad elements (I'm thinking of Settlers, but there are others too).

babarock··on Indonesia is burning. So why is the world looking away?
You can own a gun but not be able to do whatever you want with it. Property doesn't mean absolute freedom.

Not even for libertarians.

babarock··on Ask HN: How do technical non-developers help with open source projects?
There's a lot you can do.

* Writing (doc, blog posts, ...)

* Evangelization (answer questions on IRC/Mailing-lists, help your entourage to start using it, go on live conferences, give talks, ...)

* Testing. Test everything in each new release and give the authors a good bug report when needed. Test the tool on multiple OSs, using multiple versions of a lib, test the different drivers, different dbs, etc. Test the installation procedure and the user features.

* Triaging issues in a bug tracker. What's really a bug, what isn't? What's a major blocker for users? What's a luxury nice-to-have feature? What's too old and not relevant anymore?

You can start doing all this, without actually needing any permission or access to anything. I'd suggest you just let the active members of the community know you exist (they usually hang out on an IRC chan or something like that). That's not even required, if you're shy don't say anything and start working.

As you get more and more active, you're going to be naturally contacted by someone active in the project and from here, you'll usually be given more "official" responsibilities.

babarock··on Awk in 20 Minutes
You kinda alluded to it, but I'm going to leave this here for reference. Here's a good explanation of why you should avoid parsing the output of `ls`: http://mywiki.wooledge.org/ParsingLs
babarock··on Awk in 20 Minutes
Good question. I've been working with awk for several years now, and here's how I feel about it.

AWK is old. 1977 old. Later versions that appeared (nawk and gawk are the most common) helped make it a smoother language, but it's still a pain. There are definite features you will be missing in an awk script:

- Any useful data structure slightly more complex than associative arrays. Try multi dimensional arrays, it's actually fun to do. Once.

- Any useful programming construct to help manage with complexity of scripts longer than a few hundred lines. No classes, no variable scoping, no namespaces in general. Not to mention an extremely permissive compiler.

- Any easy way to deal with the environment (other than text). Try sending http requests in awk, it can be a pain.

In 2015, if you need to write a script you should almost always prefer python/ruby over awk.

Now if you're asking whether you should learn awk? It comes in handy. There are a lot of awk scripts in the wild, and you may need to read them or edit them one day. Also, awk has a fun way of parsing input, which makes for very enjoyable one liners. Learning awk (and some complementary utilities like sed or find) turned me into a "oh, it can be done in a quick one-liner" kind of guy. Definitely recommended.

babarock··on Emacs 24.4 released
I spent a couple of years using vim before switching to emacs around 3 years ago. I'll write about my own experience with both editors.

Learning emacs won't automatically give you a huge productivity boost the way learning vim does. Vim is this blazing fast editor; it's been designed from the ground up to be good at editing text. If your goal is to increase your productivity, I'd say invest time learning vim advanced features, like jumps, macros, registers, and the plethora of other things I don't know about.

Emacs is not about speed. It's about control. It's a fully customizable environment to manipulate text. You can use it to edit prose, code, scientific formulas, but also emails, IRC/Jabber clients, clients for virtually anything with a REST API. Here are some of the use cases that make my work easier using emacs:

+ Evaluating pieces of code at once. I write a lot of Python. Most REPLs out there allow editing of one line at a time. emacs allows me to fire a python interpreter and evaluate regions (multiline function definition, or data structure) at once. Similar features exist for other "dynamic" languages.

+ Better code review workflow. I receive code review requests via email immediately inside emacs. I can play with the diff files, the source files. I can make modifs or run the code without leaving my editor. And since the code review system has an HTTP API, I can even post my comments and votes back.

+ Org-mode (http://orgmode.org/). I would use emacs for this module alone. It's a note taking system that can easily transform into an agenda, todo lists, memo, document markup, tables (oh, the org-mode tables!), ...

Basically, to answer your question: I think you'll get a lot of benefits from emacs if you enjoy customizing it and integrating it to your workflow. If you don't like spending time customizing and prefer something that will just make you write text (well, code and configuration files) faster, stick to vim and spend this time learning advanced commands.

← PreviousPage 3 of 11Next →