sping

joined 2 years ago
[โ€“] sping 0 points 3 days ago* (last edited 1 day ago)

I wasn't trying to give you advice, I was describing the situation in general. ๐Ÿคท

[โ€“] sping -2 points 3 days ago (6 children)

It's very hardware dependent with a few problem's like Nvidia. For Best results go established brands that support Linux like thinkpads.

[โ€“] sping 2 points 4 days ago

Steak fries are not shown here. They're bigger again.

[โ€“] sping 2 points 4 days ago

I'm now 1 year in to working in Go having been mostly C++ and then mostly large-scale Python dev (with full type annotation).

Frankly, I bristle now at people giving Python a hard time, having worked with Go and I now hate Go and the de-facto ethos that surrounds it. Python may be slow, but for a lot of use cases not in any way that matters and modern computers are very fast. Many problem areas are not performance-limited, and many performance problems are algorithmic, not from raw statement execution. I even rewrote an entire system in Python and made it use 20% of the CPU the former C++ solution used, while having much more functionality.

The error returns drive me nuts. I looked around for explanations of the reasoning as I wasn't seeing it, and only found bald assertions that exceptions get out of control and somehow error returns don't. Meanwhile standard Go code is very awkward to read because almost every little trivial function calls becomes 4 lines of code, often to do nothing but propagate the error (and errors are just ignored if you forget...). With heavy use of context managers, my error and cancellation handling in Python was always clean, clear, and simple, with code that almost read like whiteboard pseudo-code.

The select statement can be cool in Go, but then you realize that literally 98% of the times it's used, it's simply boilerplate code to (verbosely) handle cancellation semantics via the context object you have to pass everywhere. Again, literally code you just don't need in exception-based languages with good structures to manage it like Python context managers.

And every time you think "this is stupidly awkward and verbose, surely there's a cleaner way to do this" you find people online advocating writing the same boilerplate code and passing it off as a virtue. e.g. get a value from a map and fall back to a default if it's not there? Nope, not offering that, so everyone must write their own if foo, ok := m[k]; !ok {...} crap. Over and over and over again the answer is "just copy this chunk of code" rather than "standard libraries should provide these commonly needed utilities". Of course we can do anything we want ourselves, it's Turing Complete, but why would we want to perpetually reinvent these wheels?

It's an unpopular language, becoming less popular (at least by Google trends) and for good reason. I can see it working well for a narrow set of low level activities with extreme concurrency performance needs, but it's not the only language that could handle that, and for everything else, I think it's the wrong choice.

[โ€“] sping 2 points 5 days ago (1 children)

Go code is always an abomination.

[โ€“] sping 12 points 1 week ago

Along with "it's sometimes hard to detect your own stink"

[โ€“] sping 7 points 2 weeks ago

I know about window managers and how using them will reduce the memory usage by system a lot because they are less bloated etc.

Ehhhh... I think it's more "not using a curated general-purpose DE", rather than "using a WM". All graphical systems include a WM, and a DE in some senses is more of a concept or category than a concrete thing. The choice is whether it's one you cobble a DE together yourself, or use a pre-configured, curated one.

Many people use stand-alone WMs and then create their own DE, but quite a few of us put the WM of our choice within existing DE because we want the WM but have no interest in re-inventing all those DE wheels (and/or have >4Gb memory so the "bloat" is not an issue). In my case it's i3 on Gnome via gnome-flashback.

Curated DEs do tend to use more resources - typically mostly memory - partly because they tend to be comprehensive for diverse users. Rolling your own minimal DE for your personal needs can often be lighter weight. If you have a very constrained system then it can be beneficial, though that circumstance is more and more unusual these days when 8Gb of memory is often considered "minimal".

The main reasons for making your own DE is to do things exactly the way you want, at the expense of having to do it. Beware though, there will be various helpful features of DEs you may not realize you appreciate until you have realize you don't have them. E.g. what happens when you plug in a USB drive? Nothing, by default - a DE usually manages that. SSHing into servers a lot - a credentials agent is nice - better add one of those...

A lot of rolling your own DE is months or years of "oh yeah, that is a useful thing to have; I need to find tools and configure them to do that". Conversely, dropping your WM of choice into another DE is often a case of "huh, that happens automagically; nice!".

[โ€“] sping 4 points 2 weeks ago

Dynamic typing is shit. But type annotation plus CI checkers can give you the same benefits in most cases.

[โ€“] sping 9 points 2 weeks ago

Once you need performance

If you need more performance. Many things just don't.

[โ€“] sping 2 points 3 weeks ago

I think that's a slightly different animal. AFAIK it's doesn't switch config depending on the current focused window. E.g. for some programs I don't want remapping.

 

Well someone has to post something to this Somerville Community... So it has to be something about the community path obviously...

Google maps is always rubbish for bicycle navigation, but OpenStreetMap offers three different navigation systems for bikes, all of which are better. I'm most impressed with GraphHopper - 3 days into the community path opening will happily route you down the new path. It doesn't seem to know about the High School diversion, but that's realtively minor.

Its route for me to get to the Seaport from near Davis is pretty much what I would choose.

 

This is my rescued Marin Hamilton, that over the years has evolved into a modern take on the old English 3-speed. My former commuter was stolen, and at the same time this appeared, broken, rusty, and abandoned on the same office bike rack (coincidence?). I saved it before the office management sent it to the trash, and got it on the road again.

The wheel bearing races were pitted from rusty neglect and I find SS awkward in the urban stop-start, so after a failed experiment with an SRAM Automatix 2-speed hub I fitted a Sturmey Archer 3 speed. 3rd is a single-speed ratio, 1 & 2 are for hills and setting off. It's a sweet setup for my area and usage, and is almost as robust and low maintenance as SS.

A transportation bike needs fenders (Velo Orange Zeppelins - excellent, effective, silent). The original fork rang like a tuning fork on braking no matter what brakes or pads, so I got a $40 Marin fork off Ebay and converted the front to disk, and put on generator lighting at the same time.

And just now it got some luxury new tires - Schwalbe Marathon Supreme 700x50 on the label, but are actually 43mm, in typical Schwalbe fashion. Great tires though - light and fast and grippy and durable and puncture resistant.

It's a fast and comfortable city bomber. I have a little TSDZ2 motor and battery that I fit each year for commuting the hottest summer months, and then in winter it gets studs to get me through the ice and slush. For fairer weather riding I have a very similar derailleur bike and the pair of them get me around nicely.

 

In Cambridge, MA, USA, and nearby communities, bike advocates have made real progress with lanes and paths and general infrastructure. Also the city requires that new builds have a proper bike room. This building was recently gutted and fitted out and this is the bike room today - overloaded, and the building is barely half full... Looks like they will need to find more efficient bike racks!

Meanwhile in a recent commute I was in a queue of 30 bicycles at a light at which about 6-8 cars get through at a time. 10-15 years ago I was one of the few bikes on the roads at any time.

Hats off to the advocates and representatives of the local cities that have made this happen through continuous pressure and work over decades...

 

The lack of keyboard interface on Lemmy is killing me, but really what I want is a good client in Emacs. However, it's beyond my Elisp to design and start such a project, but I could probably help. Anyone on it?

view more: next โ€บ