Genuine question: What in your opinion are the differences between a great and an average band leader? I've been making music as hobby for most of my life, and band leading is a topic I think about a lot - but it seems for many musicians I meet is not even on the radar.
HN user
rednum
Kinda. In this context I mean "response SLO" - how much time you have between receiving the page and starting debugging stuff. I think it's also important to clarify; I've been on rotations with response SLO ranging from 5 through 30 minutes to unknown: literally my manager couldn't answer the question "so how fast do you expect me to react" (in hindsight, that was a pretty big red flag about how team approaches production that I missed).
Personally, I also ask more questions about on-call:
- is there a SLO?
- what is the schedule? 24h is no go for me.
- is non-business hours on-call compensated (even when there are no pages)?
In particular, I strongly believe we (as profession) should push more the employers for the last point. Being oncall during weekend means I need to seriously adjust my plans; need to have corporate devices somewhere close, etc. In particular this also means I don't fully disconnect from work if I have to carry laptop/phone with me. This kind of stress slowly accrues long term. All in all: staying alert for oncall is some sort of work. A physical security guard gets paid for keeping an eye on things even when nothing happens; it's startling that so many devs don't.
I used to really like Spotify when I first installed it long time ago, but over the years they worked really hard to make me hate them with passion. It feels like their motto is "Change for change's sake", they seem to remove and add stuff randomly, shuffle UI elements whenever they want to, etc. In the meantime, the basic functionalities regress. I had the app bug out on me countless times in weird ways; offline stuff disappearing, freezes when clicking on an album, that one time when I was listening on headphones and suddenly Spotify changed volume from minimum to max and almost gave me hearing damage, etc.
Some time ago I moved to Tidal. It's not perfect, the search is inferior, the app bugs out sometimes too; but at least they don't seem to change it that much.
Well, that's sad news. Wolt used to be the only food delivery company that had actually functional customer service. They replied swiftly, sometimes automatically even granted some promo codes when the delivery was really late. I suppose that will be gone soon.
Other companies I used ranged from "Your order never arrived? Ok, we'll refund you after some time if you jump through enough hoops" (Glovo) to non-existent: "Your order never arrived? Not our problem, talk to the restaurant. Restaurant ignores your email and calls? Well, still not our problem." (pyszne.pl, polish-only).
I liked the concept when I first saw it but honestly it's more trouble than it's worth. On my old work laptop, it would sometimes bug out and stop registering touch. That's a problem when you are in the middle of a call and you need to adjust volume because one of the speakers is too loud or too quiet.
I also don't like how it's harder to operate than physical buttons. Too many times I hit the wrong spot on the bar and for example ended up putting my laptop to sleep instead of adjusting brightness. I've also tried to configure Ableton Live to do something useful with it (maybe mute/unmute tracks or control their volumes); but with little success.
Long story short: I'm happy to see it's gone.
there's no great firewall of europe
Not yet, but it seems someone is thinking about one, see: https://www.europarl.europa.eu/RegData/etudes/STUD/2020/6487...
Perhaps he gambled on the options being worth more. I don't know about all the companies mentioned, but Sumo IPO'd last year.
What might interest you is all the psychedelics I did were technically legal. Shoutout to 4-AcO-DMT and 4-HO-DMT.
They are both illegal where I live (Poland). The government maintains a huge list of forbidden substances (link only in polish: https://pl.wikipedia.org/wiki/Wykaz_%C5%9Brodk%C3%B3w_odurza...). This is in response to a big designer drugs crisis that started over decade ago. Which most likely than not was caused by tightening of the drug laws happened around two decades ago. It's a bad situation that will take another decade to improve, I suppose.
Not OP, but I've met people that seemed to sort of lost their agency and ambition, because their psychedelic insight was that the universe will sort everything out on its own. Though maybe the causality is the other way round here - they were not ambitious in the first place and psychedelic insight helped rationalise that.
Also disclaimer: I'm not trying to discourage or encourage people from psychedelics. Personally I believe they should not be criminalised, but people should be cautious using them.
to not want to appear dumb
Few production incidents are enough to change this mentality. I'd rather write more verbose but "obvious" code than "clever one liners". I feel sorry for anyone who has to understand someone's DSL on the fly when there's an outage and your business is burning through X$ per minute of downtime.
(On the other hand, you probably want to structure your production changes in the way that they are easy to roll back without understanding everything, but that's other conversation. Either way, the thought that someone may want to chase me after work because my code broke and they can't understand it is enough for me to stop being clever).
Yeah, good luck when someone with experimental temperament decides to implement some of your crucial functionality with semialgebras. (that's what happened in my previous job where we run Scala). I'm happy I didn't have to debug any customer issues around that module. Also, I didn't enjoy constant bickering with my reviewers what makes a beautiful code or not. Apparently there are five ways to do everything in Scala and I always ended up picking not the one my teammates would like the most.
Actually Rob Pike said that Go was supposed to be "easy to understand and adopt": https://www.youtube.com/watch?v=uwajp0g-bY4
I suppose this is obvious but the traditional way of increasing prices is to lower the supply.
I've been thinking about this recently and it feels like the current culture in software engineering is to increase the supply. I see people who code and offer free coding lessons to their friends. Pre-covid there has been multiple meetups where I live in themed like "programming for no programmers" or "build your first app".
At the same time when I look at other high impact jobs, like lawyers or doctors, they seem to be keen on building moats around their profession. There are no "six week law bootcamps" that would give you useful skills or anything like that. I'm getting a feeling that engineers are unwittingly cutting the branch they sit on, but they will only realize this years from now when it's too late.
Sidenote: I really like how this stops playing sounds when I change the tabs. It'd be nice to have browser setting that does it.
Similar situation in Poland. Also my anecdotal experience is that Haskell classes are not considered to be the most difficult, rather they are somewhere in the middle.
I had similar opinion to yours until around 2015, then things started to break randomly. To be fair, I discovered some good stuff via recommendation and I like other features you mentioned (though I don't really use podcasts). However none of this matters when basic playback functionality is broken.
Looking at title I thought it was rant about product quality. But it's not, so I'll provide mine.
Since 2013 when I've started paying for Spotify it has turned from one of my favourite apps to one of those I hate most. On my previous Android phone it would freeze every other day when there was no internet. Why? Who knows. Could be related to me using SD card, or could be something else. The phone wasn't very old, but still on many days it was basically unusable. Somehow I was gifted a new phone and it kind of works. I say kind of, because sometimes when I click on a downloaded album it doesn't work - no tracks display. Why? Who knows. And few days ago something bugged out and tracks suddenly started setting volume to max. Apparently it's known issue that appears occasionally. Why? Who knows. Happily I wasn't wearing headphones so I did not get hearing damage. But who knows, maybe this will happen again.
There is also desktop app which severely crippled local file support few years ago. That really sucked for me, because I record a lot of my own stuff and I want to listen to music in one place. I don't know if this was fixed since then because I pretty much switched to using web app, which usually works. There is also iPad app which seems to routinely delete stuff I have downloaded do my iPad; and sometimes it also freeze in offline mode when browsing my library. At this point I didn't even try filing a ticket with support, I lost hope of them fixing this. I suppose soon I will simply stop paying them and make switch to something else.
EDIT: Why post this here? I hope people at Spotify see that submission about Spotify is on top of HN, and maybe, hopefully, someone sees my comments and thinks twice about setting 2021 OKRs and put some capacity into improving the app reliability. I know, this is optimistic, but who knows.
Don't worry about sanitizing inputs--extra effort slows you down.
I feel like many people downplay how important this is. I've wasted way too much time because of this. Doing code archeology to understand why data persisted to database many years ago breaks some seemingly unrelated feature for a customer is definitely not my favourite part of the job. Working on a validator that someone was "too busy to add" in the first place is also not fun (and a waste of time - because original author could probably do this in matter of minutes; whereas someone fixing things post-factum need to reverse engineer what is going on; check whether some funny data wasn't persisted already and potentially handle it).
To phrase my frustration in more constructive way: it's always a good idea to put explicit constraints on what you accept (What characters are allowed in text-like id - only alphanum? Only ASCII? What happens with whitespace? How long can it be?). Otherwise it's likely you will find some "implicit" constraint down the road; ie. other piece of code breaking down.
I vaguely remember learning similar fact years ago, but it was phrased something like "There are as many floats in [0, 1] range as in [1, infty]". Leaving aside where exactly "midpoint" of floats lies (either in Ruby's implementation or other languages'): what would be implications of this for writing code dealing with floats? Can I shoot myself in the foot somehow with low precision if numbers I'm using are "too close" to infinity?
Another fun fact about this system: something changed in how the binaries are evaluated and one VST plugins I've downloaded months ago was marked as malware. The plugin is quite popular in community so I think it's unlikely it contains actual malicious code (in fact I've contacted the developer and he said he has done some fixes for Apple's security policies recently). Imagine my shock when I open an old project in Ableton and suddenly some sounds just don't work. This really sucks, I don't want to worry about whether my music will work five or ten years from now (I can imagine I may I want to remix some old piece). I suppose I can err on side of safety and export all tracks to wav.
However, it's not an isolated problem. It feels that every other week something happens that undermines my confidence in Macbook as good device for making music.
Git is one of those technologies where it's super important to get a good grasp of how to internals work.
In my opinion relying too much on user understanding implementation is a mark of bad design. I don't care about more advanced functionalities of git, on daily basis I have very simple workflow that I want to "just work". Sure I can spend few days studying git internals, but it feels unnecessary. Especially given that in the past I've worked with simpler proprietary tools that "just work" (though did not have equivalent of "power" features).
On the other hand I think git is like bash - has some serious warts but it's good enough to be used widely; and unlikely to be replaced by anything else at this point.
I haven't used Windows in long time, but it feels like "the gap" was closed by Apple, by letting their system degrade. The high end 2019 MacBookPro is in many regards less reliable for music production than my old 2012 MacBookAir, which is really, really sad. Unless Apple gets their act together my next music production setup will be Windows-based (or maybe I'll even try Bitwig on Linux).
I don't think I will give this a shot anytime soon. I'm still unhappy about upgrading 2012 Macbook Air to 2019 Macboook Pro. The main reason for that is that audio setup seems much less stable; there are glitches when I play on output speakers half the time and the audio inteface I use for recording also stopped being reliable. There's also a bug when laptop resets itself in sleep mode unless it's connected power charger. And there's also all 32 bit VSTs I cannot use anymore. I'm really tired of this, I've paying premium for Apple stuff years ago so I don't have to mess around with small issues like that (which occurred all the time on my linux machine), but now this experience is gone. I'm slowly leaning to agree with my linux/windows friends that I've wasted money.
This seems a bit similar to Melodics[1], except open source and it actually uses the standard notation.
I know how to read music and started taking classical lessons as an adult. Some time last year a friend recommended me to check out Melodics. It has 3 instruments: keys, pads (finger drumming), drums. I've played pads for few mont;hs, that was good, I've felt it improved my timing and rhythm skills quite a bit. Then I switched to keys. I didn't really like that; it felt like I'm mindlessly repeating whatever is on the screen instead of internalising music. OTOH, when playing pads it felt that something stays in my head after playing. So I guess this may be useful to some people.
For me it'd be more interesting to have some sort of memory trainer - I play something on screen few times, then I replay from memory and app shows me a diff maybe? Or when I'm learning a piece, it would give me a challenge "play bars 21-25 both hands" or "play bars 19-23 left hand only".
[1] https://melodics.com/, I'm not affiliated in any way
Eh, that's nothing, few friend of mine had issues where Android would sometimes not ring alerts. Why? Who knows, maybe some weird bug that manifested itself in some combination of system settings and phone firmware.
I have multiple devices so I usually set alert on home phone + work phone if it's something really important like a flight at 6 AM; but if I were to use an alarm clock everyday I'd probably buy the simplest one I can find for few bucks.
Probably there's no easy answer. I guess if you could think yourself into getting motivated you'd already do that.
Some things that help me:
- right environment. If you want a PhD it's probably good idea to join some kind of research group you will feel good being part of or advisor you get with on very well. For the record I don't have a PhD but both of those things made quite a big difference for me when I was learning stuff throughout high school/university (though this is something I've realized quite late). Judging by how you put more effort when cooking for other, I guess you'd also put more effort when learning with others.
- setting realistic expectations. Sometimes it may be a good idea to lower your standards, for example change "cook healthy meal every day" to "cook healthy meal once a week". I'm a perfectionist so it helps me to say something like "OK, maybe I won't write a great design doc for the new thing my team is working but design something where X and Y work well but Z and T are not working so well". Often it turns out Z and T are not so important or that I can do iterative improvements on them
- getting bored from time to time. Planning to "waste" a day (though it's better to do this not in front of computer).
To rephrase what I mean: I disagree with the idea that we can explain all technical concepts in non-technical way, which OP seems to support. I don't think we can get much better with teaching monads than providing actual formal definition plus motivating examples. I simply believe monad is too abstract and we can't have a nice analogy similar to the one OP provides ("Functors can be broadly explained in terms of containers..."). In my opinion the "platonic ideal of a monad tutorial" is more or less the (semi) formal definition of monad + some motivating examples. This is also something that cannot be understood if you don't have proper background (which is understanding simpler typeclasses like monoid and functor).
I also would not call monads a pain point to be fair.
As someone who stopped following Haskell world few years ago, this was quite interesting read. I wonder what is the state of ecosystem (libraries) now: a few years ago one of my friends complained that for most basic tasks there is some library but usually half-working and abandoned.
However: I think the point about monads is fundamentally misguided. Monad is an abstract concept and trying to explain it in non-technical way (as linked from the post) will always fail. It makes as much sense as explaining time signatures in non-musical terms, or a Banach space in non-mathematical terms. I've seen this sentiment recurring every now and then; it feels like some people really want to avoid formal definitions for the sake of it, even when formal definitions make things easier. When it comes to monads, I think you can't get any better than the semi-formal definition (typeclass with return and join) plus some motivating examples. For me looking at Reader/Writer/State helped get this; I agree with OP that List is kinda weird.
I've tried that, recording is still broken sadly.