skysight-inc/HackerNews huggingface dataset:
Actively:

- Learning guitar via https://www.justinguitar.com/

- Learning Spanish via duolingo

- Learning Kotlin via "Atomic Kotlin"

Why guitar? Purely for myself. I'd learned some when I was a teen but my evangelical Protestant parents only wanted me to play "for the glory of God" and so I couldn't play "secular" songs. Now I'm grown and finally have enough time and disposable income to pick it up again.

Why Spanish? I'm latino, but parents never learned Spanish b/c of generational assimilation (having any accent was "bad") and I want to learn.

Why Kotlin? Java has been my primary language for the 10 years of my career and is the #1 language at my company. (We/I also use Objective-C, JS/TS, Perl, and Ruby.) However, I'm always bouncing between learning languages on the weekend, mostly as a hobby. I've tinkered with C C++ Swift Go Python CommonLisp Clojure and Rust. Each language, even though I might not have actually used, has taught me something new and for that alone it's been personally fulfilling to just get a cursory familiarity with the language. Picking up languages also makes it very easy to pick up the next and so on.

Kotlin itself seems like what I've been needing: a Java++. Something I can actually use at work, that won't take much to ramp up others, interacts easily with existing Java code/systems, and solves real problems that Java has. It's like Java with "Effective Java" built-in, as well as some great concepts from other languages (like coroutines from Go).

Been working on "wax on, wax off"-style kicking the tires with Kotlin. Like setting up a web server stack on AWS with it (Spring + Thymeleaf + Elastic Beanstalk + CodePipelines).

Backlog:

- Going through Crafting Interpreters https://craftinginterpreters.com/ using Kotlin (instead of Java).
> Larry David left the show (as a writer) after season 7.

I’m rewatching with my wife, who never watched it before, and definitely the latest seasons feel worse. I didn’t remember it this way. Now I understand why.
The police take murder very seriously, but doesn't mean they like people to do it.
Java has gotten a ton of hate since it’s inception. Now it’s so embedded that no one really cares anymore.
> This is the equivalent of saying “try looking sexy, women, maybe you’ll get hired.”

That’s not really fair (and largely not true.)

What it’s saying is that appearances matter - they’re an important non-verbal signaling channel, and to the extent to which one can control the way you present, you should, and secondly, dress for the job you want.

For both men and women that does not mean dress like you’re going to a club. It is also an admission that even the best of us subconsciously treat attractive people as more competent.

I’m old enough to have worked during an era when you wore a suit and a tie to an interview for any position. If I showed up for a senior role at a startup wearing a suit and tie I would be telling them from the get go that I’m either I’m out of touch with the culture of the org (not good) or I choose to differentiate myself (maybe I’m a lawyer or an accountant.)

Finally, as an example in my case - I am over fifty and overweight, but I am tall. I know (from mirrors) that I look better standing than sitting, so when in person interviewing I try to be standing when people enter the room simply because I get the difference between “former football player” and “fat slob”. Does it bother me? Yes and no. Ultimately I need to be able to deliver the goods, it’s nice not to have to fight through preconceptions.
I agree, talent needs to catch up, and new UI concepts are needed (the current VR web browsers feel very awkward). One app that was built very thoughtfully for VR and nailed it imho is Hyper Dash. Making teleporting the preferred form of movement vs. walking was brilliant.
Leaving the casual xenophobia aside, I never said anything about "real" yak shaving.

Indeed, as others noted already, I clarified that everything I'm writing is from the point of view of my niche, which (as the title implies) is systems engineering. In the SRE/PE/DevOps meaning of the name, since that's also an adopted job title that has quite different semantics in other fields.

I'm glad _someone_ keeps track of where bits and bobs of jargon come from, because they'll make great trivia in a future episode of QI, but to be perfectly honest, I'm not profoundly interested in the philology of our terms as much as I have an interest on providing a quotable reference to explain specific work.
Wouldn't that be a consistent factor across cars at a certain price point, though? You could reasonably compare Model 3 owner satisfaction to Lexus IS250 owner satisfaction, for example.
I've openly heard managers talk about "experience" in sub for age, eg: "I think this person has too much experience for this role" (when talking about a very senior role).

My best advice is to engage HR right away if you hear this kind of stuff. A fair amount of HR folks are older and will jump right on this kind of behavior.
My team has been coding Rust full-time professionally for 4 years and match+locks is literally the only language-level footgun we have encountered after writing many hundreds of thousands of lines of code.

Relative to the footguns in other languages, it's pretty minor. But it's definitely jarring when you've been spoiled to expect zero footguns.
Has it shown a clear need? What's the required energy needed to show the new thing, and what what need does it fill?

Will the next collider solve climate change?
The Why of DX
Is this the same type of conjunction talked about by Geralt of Rivia in The Witcher?
Note that a large number of these examples in European languages are calques

https://en.wikipedia.org/wiki/Calque

In these cases, people who knew both languages consciously adopted the structure of a foreign word by translating its components (morphemes). For example, German has a lot of calques from Latin compounds.

That is to say that it's not always a coincidence or an indication that people inherently think of the concept in the same way; sometimes it's an indication that people thought a foreign word for a concept was awesome, and wanted to borrow it by translating it literally.
The technology used in the accelerator and the detectors keeps changing though.
Particle accelerators today are quite different to those in the 60ies.

Also not sure where you got the 23 billions from. Total budget for LHC is less than 8 billion euros. And that's over quite a long time frame. The whole CERN budget is only 1.1 billion a year (and they run quite a few different experiments apart from the LHC). That's within a factor of a few of a major sports club!
Is this similar at all to the old pyjs/pyjamas project? I had some fun playing with that but there was no way I would have ever actually made anything serious with it.
The buses I've seen are still capable of going under their own power, and they can easily attach/detach from the wires: https://www.youtube.com/watch?v=9k1z10U3utc

So detours and overtakings are no big deals.
... really? Come on. As of this writing, 29 out of 30 posts on page 2 are younger than this post. 30 out of 30 posts on page 3 are younger than this post. 29 out of 30 posts on page 4 are younger than this post. I could keep going. The fact that you can find one outlier and then wave your hands and say "there are many more" doesn't make your argument reasonable.

> Flagging is detrimental to post ranking. And rightfully so.

As I understand it, flagging is to get moderator attention to posts that don't follow the HN guidelines. It's not the general way to punish posts that upset you, that's called downvoting. Treating flags as a "stronger downvote" basically makes the very concept of flagging worthless.
Hulu is the worst of all IMO. Then you pay to remove ads to discover oh that’s not all ads. It’s some particular subset of ads.
What is the real FDA process for approval?
Independently from being an atheist I’m very dubious about the historic validity of Jesus. Clearly all the supernatural aspects (virgin birth, miracles, & cetera) are to be eliminated as implausible, but even what remains doesn’t strike me as substantiated by historical veracity. Accounts are inconstant and do not gel well with certainties we have about the period (such as Roman censuses https://en.m.wikipedia.org/wiki/Census_of_Quirinius).
Where's the source code to that?
I’ve always seen Go as far more like Java than C. They facilitate the use cases. Go isn’t a good C replacement for mostly the same reasons Java is not.

People are adopting Kotlin, I’ve seen many coworkers using it for new projects. It becomes a bit more complex if you’re trying to integrate it into an existing large code base, of which there are many in Java.
Worm Science Secrets
Table lookups aren't fast if the table isn't in cache. A modern processor can do a lot of instructions in the time it takes to do a cold memory access.
You don't necessarily need a light UCAV to make this work, for the record the variant B of the F35 is easier to deploy from smaller boats than a TB2 or a predator while also being orders of magnitude more capable.
> To be honest, the old people who are obviously fading might be an easier sell to bosses than the ones who are 50, 60, 70+ and still rock solid, because with them, you really have to wonder what went wrong that they're still in the running for subordinate positions. (I mean, there could be—often are—a million reasons why an excellent person's career might go sideways, but bosses aren't usually the forgiving type. They still want to believe the system works, because they are the system.)

Actually, you're engaging in the bias right now. I don't ever plan on getting out of IC/Engineering. Stop assuming that's something everyone wants to do.
Polish: odpowiedź : odpowiedzialność
There's nothing objective about "worth" & you obviously know that.

This subjective truth, however, comes from my value for integrity, which you apparently lack.

If you have no moral qualms about having a worldview based on lies, then more power to you.
I like pyarrow a lot, but this is my first time come across DuckDB. I'll check it out!

I'm curious how it loads so fast initially.
They could have fixed this easily by running all the wires horizontally. Seems like a surprising oversight. First impressions matter.
Can you think of any reasons why this might not be a realistic choice?
I should have been more precise: The four CL implementations I'm familiar with (ACL, LW, CCL, SBCL) don't do reference counting and they probably comprise the vast majority of the market.
> To be honest, the old people who are obviously fading might be an easier sell to bosses than the ones who are 50, 60, 70+ and still rock solid, because with them, you really have to wonder what went wrong that they're still in the running for subordinate positions.

Honestly that’s why a lot of people do consulting gigs. It’s a lot easier to say it was a choice than to explain how you’re a 54 year old AVP.
Wouldn’t be an NPR blog post without bringing up colonialism, and sure enough, there it is.
I don't suffer from that ailment and agree with OP. Looks like a bunch of needles all an incident away from going straight through my eyeball.
> The loop iteration variable is reused across iterations, so capturing it by reference (the default for closures) is likely to lead to bugs.

Is there a language where this isn't true?
An easy, direct link, for example:

Careful observation of the orbit of Mercury —> Special Relativity —> General Relativity —> GPS satellites able to keep exact time —> the map app on your mobile phone.
Missing galvanic corrosion as a serious concern while making an aluminum and steel ship is pretty impressive. I guess they didn't actually miss it though. In your article, they say a cathodic protection system appeared on a list of things that were originally planned for the ship, but left off in the end. Which is incredible to me.

I'm definitely in the learning phase with respect to how different metals and alloys interact, but I'm pretty sure I would have caught that myself. Galvanic corrosion is a pretty well-known issue when dealing with aluminum.
LTT Labs Head revealed – Gary Key, ex-Anandtech writer
As you originally suggested, the closest may be the CTO role. Do startups generally hire CTO's? And are CTO's expected to code?
They can with new versions of Android:

https://www.xda-developers.com/android-12-alternative-app-st...
> Errors on unused variables are annoying as well.

> Not everything that should be done needs to be done right here right now.

Hence the ability to suppress it with `_ = unused_var`! The point is that it's explicit. You have an out — it's not the pretty out you like but that's the whole point. It's unpretty and annoying in order to force you to think twice. Every design decision is Go has been the result of consensus of multiple people who've been bitten many times by the issue the design is addressing (in case that wasn't obvious). Have a read of issues, drafts and proposals on Go issue tracker to get a feel of what it takes to get something in.

> Imagine trying to learn a musical instrument and being berated at every time you play the wrong note. That’s not a way to teach; it’s a way of asserting dominance.

WTF!

> No sum types with exhaustive pattern matching

> I tried a search for a code pattern often seen due to the lack of exhaustive pattern-matching in Go

> That’s 38.7k hits in the source code across GitHub etc. as of Apr 29 2022.

Great. Write it up in an issue and with such an overwhelming evidence, it's a good candidate to make it to the language in the future. Why isn't it there to begin with? See above.

> No overloading for common operations

For many, that's a huge positive. When reading the code, it's much easier to reason about the extent of side effects for-loops have.

> Yes, one can use map[T]struct{}, but that feels needlessly cumbersome.

Now you're just trying too hard.

> Go has a convention that doc comments must begin with the name of the entity they describe.

Rob Pike, and docs, and blog posts talk about why this is the convention. Read up.

> Limited markup support in godoc

Thank goodness.

You have a rust/swift programmer (from dozens of mentions of each language) trying to beat Go into a shape they're familiar with and not enjoying it. That's not the right way to learn and use a language, just as you don't go learning Japanese, expecting it follow the grammar rules of English. And especially in case of Go, bits are added pragmatically and after long and careful deliberation, not as a race to have as many features, bells and whistle as every other hot-lang out there.

A experience report that keeps mentioned language X and Y as a benchmark for what language Z should be like, only tells how language Z differs, not whether it's better, worse, etc. So labeling the differences positive and negative is of little value in this case.
No mention of CSP makes me think the author is still writing Go programs in a non-concurrent, imperative style. Used in this fashion you only get limited gains from Go's simple syntax and nice tooling. But writing using CSP patterns gets you a different experience and feel and is where Go really shines.
Well, a need for badass head gear is still a need. Maybe gods like you better that way.
I suspect, without having researched it, that människa and mensch are direct cognates where vowels have been inserted for various reasons.

It's not unusual that an affix can have a form with a vowel that gets lost or added, or that cognates can have different morphemes in addition to their shared morphemes. (For the latter case, when writing about Grimm's Law above, I re-learned that although "hundred" is cognate with "centum", the "red" part is a separate Germanic morpheme meaning 'count'. For that matter, the "um" part is a separate Latin morpheme that is a neuter noun ending.)
You can format the source so any editor can handle it. But a 32-bit table is clearly going to be huge. Better to break it into two 16-bit or four 8-bit pieces and add the counts together.
Oh, I didn't realize it worked that way in RadioPaper. Does that mean all the leaf comments are always hidden? That would seem a bit strange. If you asked me something, and I agreed, that wouldn't necessarily warrant a further reply — but then no one would ever see my expression of agreement?
I know you are trying to be funny but you can just install it in a new profile and then inspect the extension on your machine, or use a website that downloads Chrome extensions or just use curl to download it from Google (https://stackoverflow.com/a/19665274).
I made a few internal UIs with it. It was easy for that and worked well (and fun). This was 2010
As a person who likes Go a lot, and who finds Go bashing -- and really, bashing in general -- pretty tiresome to read, I thought this was a pretty decent article and the sort of thing we ought to encourage on HN. At least in contrast to the usual rants.

In particular I appreciated the author's interest in exploring the reasoning behind the design decisions they disagreed with, rather than stopping at "I don't like X".
> This seems even more strange; instead of giving a “missing type in composite literal” error, it gives a syntax error.

That's a syntactic limitation (wilful I assume): `{1, 2}` is not a valid expression in general, however it is specifically allowed as an item within an existing composite literal:

CompositeLit = LiteralType LiteralValue .
LiteralType = StructType | ArrayType | "[" "..." "]" ElementType |
SliceType | MapType | TypeName .
LiteralValue = "{" [ ElementList [ "," ] ] "}" .
ElementList = KeyedElement { "," KeyedElement } .
KeyedElement = [ Key ":" ] Element .
Element = Expression | LiteralValue .

The "LiteralValue" item occurs only as a sub-item of the CompositeLit rule, which means it's not valid as a function parameter (or as a value to set on a variable, or as a return value).
> Don't take this as an indictment of all electric buses.

Exactly, or any electric vehicles. Interesting to see this here to remind others that a bad electric bus should not spoil the bunch of other electric buses.

> It will just take some time to get all the tech worked out everywhere as all these buses are custom spec and not mass produced models yet, but we will get there.

Yes. There will always be issues in the technology and it takes time to iron the issues out. Question is with that specific manufacturer / developer / maintainer however is whether if partners or clients are going to wait for fixes to be resolved or will they move to a competitor or back to the status quo.
Having written a lot of Scala, I generally agree until you can form a team that knows what they're doing or has a background in Scala. After that, Scala shines as the codebase(s) scale.
A weird special-pleading argument, as Java is intensively used in our industry, including for new projects, and language features are engineering decisions, not moral lessons.

Of course, people have to come up with special pleading arguments about Go, because most of the complaints (and all the most pointed complaints) are shared by the other most popular languages in industry. You can't get any traction with a takedown of Python, only with Go or Rust. So these kinds of complaints are invariably pretzled up into some form of "Go is a terrible language for the good language it is compared to most other languages; it may be better in many ways than its predecessors, but it had no business not being even more better". Well, peachy.

Don't have a programming language as part of your identity. It takes you weird places.
I've been working on imitation learning recently and can attest that reducing RL to supervised learning gives remarkable results, even when using naive algorithms (like Behavioral Cloning).

That's an excellent quote by the way, do you perhaps have any source? Sounds like a good opener slide :)
More often then not I see folks that are faking it all dressed and proper. The people that are the heavy lifters can dress down because they know they are the heavy lifters and they don’t need to pretend. It’s a power play of sorts
I appreciate your comment because even some astronomically rare events aren't worth the toll on our personal lives and schedules to see them.

That said, if you ever get the chance to see a total eclipse of the sun, do not for your life miss it. It's an experience that elevates your intuition of the universe and your place in it, and the sensory feeling of it is all encompassing.
OCaml has had pipes for a long time and it has also added let-operators, which are very similar to computation expressions. In the upcoming version 5 they are also going to push towards direct-style coding of parallelism and concurrency thanks to the new effects systems, making 'futures', 'promises' etc. and their use with computation expressions obsolete.
Good point. I love C, but I can't imagine doing web scraping in it. I pick up Ruby for that.
Does a Toddler Need an NFT?
> don't polute the air

It does pollute the air, but not at the same place (where the energy is produced) and not where the bus is running (in town)
Thank you for pointing this out; I am definitely falling for the branding. Now that I realize it I’ll be more discriminating in what I read from substack.

Thanks again!
My golang wishlist:

1. A error return syntax like =? In rust.

2. Sum types

3. Pattern matching

There is a lot of boilerplate but I've found libraries like Uber/fx help a TON.

Also I've been doing a lot of codegen using a library that can parse a package and return an ast API whose name escapes me right now...

Overall I think the language is in a great place with generics added
"There's a lot of engineering and construction involved but the new ones are really just very expensive and huge without netting necessarily much in terms of engineering science."

This is extremely false. The new engineering science required to make the incredibly strong magnets for each collider (newer colliders requiring stronger magnets) is one obvious counterexample.
No, I am the creator of the repo and yes I'm wearing a mask in my photo. At the time of this photo there was a mask mandate here in Vancouver that I was simply adhering to. I liked the photo because it was taken in a place important to me, therefore I made it my avatar.
Legends die hard.
Monolith vs microservices is not the problem. It's architecture and code design in most cases.

When i hear "Rails monolith is a disaster" what it usually boils down to 8 out of 10 times is people putting their business logic inside models or controllers, when really it should live in its own set of classes, usually called services or service objects.

Here's a guide
https://codeclimate.com/blog/7-ways-to-decompose-fat-activer...
If “interest based advertising” is your first usage example, how about starting off with “this is a feature we want standardised specifically to support our abusive business model, and is explicitly anti-user”?
Mental illness doesn't make you special
I liked that article very much when it was shared, perhaps time for a rereading! Cheers.
https://archive.ph/ghrnR#selection-421.31-433.15
There is also "!!" for the entire prior command line. Someone elsewhere in this thread mentioned the usefulness of

sudo !!

for "run the entire previous command under sudo".

Another example could be

echo "!!" > myscript

for "save the previous command into the file myscript".
> search, etc

Without search I can't see how anyone could make much use of it.
I do apologize, I also hate watching others eat. I should mute during mealtimes!
It's pretty simple, people don't understand why their favorite language is not as popular as Go eventhough they think it's vastly superior.
A decent amount of the messages I'm getting have actual unfinished boilerplate in them, like "Your experience in put experience here looks very interesting".

Doesn't feel like someone is reaching out to me as much as a trawler is passing by and my linkedin or whatever got caught in the net.