HNHacker News
TopNewBestAskShowJobs

frankietwenty9

16 karma · joined April 13, 2018

submissionscomments
frankietwenty9··on [dead]
Spotify's first post https://news.ycombinator.com/item?id=19377322

Active discussion on this post from Apple https://news.ycombinator.com/item?id=19396966

frankietwenty9··on Asia-Pacific is home to a rise in new self-made billionaires
Don't Xiaomi sell their brand to other manufacturers? So devices are designed by Xiaomi with decent quality, while others fall short?
frankietwenty9··on Bill Gates promises to add his own billions if Congress does nuclear power push
why remove the incentive for businesses to optimize their energy usage? They have as much if not more external costs as a residential home.
frankietwenty9··on Tesla's giant battery saved $40M during its first year, report says
Nuclear would be ridiculously expensive for Australia. Renewables and gas would be achievable in under 10 years.
frankietwenty9··on Tesla's giant battery saved $40M during its first year, report says
(a) didn't take that long

https://www.greentechmedia.com/articles/read/tesla-fulfills-...

frankietwenty9··on Goodbye, EdgeHTML
Can't resize columns in 'network' tab

Step, Step Into, Resume.. use different function keys than I'm used to on Linux.

Edit + Resend doesn't work for me on Linux. It works on Windows for me.

Copying headers doesn't work well for me on Linux. I have to click 'Raw Headers' to copy a header. Works fine on Windows.

Chrome is still faster than Firefox.

I prefer chrome and Edge's download monitor.

I prefer Firefox's proxy controls.

frankietwenty9··on Why I wrote 33 VSCode extensions and how I manage them
I thought that's what the official language extensions are.
frankietwenty9··on Notes on the Go2 Generics Draft
Changing the language specifically requires experience reports. If that's not real world evidence i'm not sure what is.

The problem with the wider go community is they are usually not driven by evidence, but adherence to a philosophy. eg, its not possible to write large programs without generics.

frankietwenty9··on A legend reborn: Microsoft brings back the iconic Classic IntelliMouse
I use it constantly. I like how the charging plug is at the front compared to the Revolution which requires you to cradle the mouse.

I use both the receiver and the Bluetooth support, and the three receiver function daily.

I love the shape of the mouse, truly the best mouse I've owned.

frankietwenty9··on IRC.com Bought by London Trust Media, Pledges an IRC Revival
it feel a bit biased when you say that IRC could have a protocol bump, but you wouldn't make the same modifications to hide pictures in Mattermost.

Additionally not being able to share images as a feature? I guess everyone will do the three step upload to imgur first.

In my world - if I could get away with less different clients I would. It makes it a nightmare to support.

frankietwenty9··on Show HN: CircuitVerse – Online Digital Circuit Simulator
Depends on the quality of your SPICE models. (https://en.wikipedia.org/wiki/SPICE)

When you model by hand you typically use ideal models. SPICE models can be vastly more complex. A good example is a diode which is harder to model as it's a non-linear device.

Simulated "electricity" (voltage and current) is reduced to a set of differential equations, which the program then uses to plot charts.

frankietwenty9··on Apple Wins $539M from Samsung in Damages Retrial
LG Prada?

Don't get me wrong - the iPhone was ground breaking. It's the hundred little details that made it special.

But would someone else have done it? Yes. Is this relevant? No

frankietwenty9··on The ASUS Tinker Board is a compelling upgrade from a Raspberry Pi 3 B+
Firefly have a range of devices (Rockchip): http://www.t-firefly.com/
frankietwenty9··on Go: The Good, the Bad and the Ugly
> But specifically on simplicity of implementation

I'd suggest a simple language requires a simpler implementation.

> It wasn't enough to just add features to existing programming languages, because sometimes you can get more in the long run by taking things away. They wanted to start from scratch and rethink everything. ... [But they did not want] to deviate too much from what developers already knew because they wanted to avoid alienating Go's target audience.[1]

Sometimes for simple problems a simple tool is the best fit.

[1]https://arstechnica.com/information-technology/2009/11/go-ne... (via wiki)

frankietwenty9··on Go: The Good, the Bad and the Ugly
> They're called tags, not annotations, per the spec (https://golang.org/ref/spec). I don't know what you're trying to say there, but it's using wrong terminology.

My mistake

> How is that possible? As you say on the next line, they don't need to conform to any format. How can my linter know that I don't have a package that parses "josn" tags, and that I typoed? Please link me to the lint rule if it exists.

https://golang.org/cmd/vet/#hdr-Struct_tags

frankietwenty9··on Go: The Good, the Bad and the Ugly
> Speaking of magic, json tags are weird stringy magic only used at runtime via reflection.

Annotations are used at run-time via reflections. JSON marshaling is a common use for annotations.

> If I have a struct with the tag `josn:"foo"` instead of "json", I won't get an error, it'll just silently blow up.

well it won't blow up, it won't function as intended - much like a logical error. A linter, like the one that comes with VSCode will catch this error for you.

Annotations don't need to conform to any format and are not compile time errors. I am unsure how this could change while maintaining the Go1 guarantee. Perhaps this could be an area of improvement going forward - having typed annotations.

> If I add a new field, I have to manually add the tag too.

It will work in go too. If you want it to deviate from the naming of your struct field, you would need to describe the map. It's like complaining that when you add a field to your database, you need to add it to your code too. Sure it's not as powerful as Rust, but that's the point.

> In rust, I write '#[serde(rename_all = "camelCase")]' above a struct. If I typo, it won't compile. If I add new members to the struct, they'll work without me having to remember some boilerplate.

That's handy, but incompatible with Go 1. It is worth noting that Go and Rust are different. Rust is more focused on power, while Go has more of a focus on simplicity.

frankietwenty9··on Go: The Good, the Bad and the Ugly
I think one of the reasons Go is so good at being simple (relatively) - is that each feature required no other option available in order to make it into the language. I forget the article I read this from, so I may have the semantics slightly off.

With just rsc we lose a little of this. There are many other incredibly talented engineers involved such as Ian Lance Taylor. I'm interested if this philosophy will still be important in the future.

frankietwenty9··on Go: The Good, the Bad and the Ugly
At the same time critiquing without understanding the problem the engineer was trying to solve is equally easy.

Go is far from perfect, I just don't agree that lumping things in a good/bad pile is very insightful.

Engineering is all about making compromises. It's unsurprising that you'll meet everyones use cases that it's not designed for. The article would have provided additional value if it explored alternatives to the bad, and the disadvantages that come with them.