Reputation
332
Top tag
Next privilege 500 Rep.
Access review queues
Badges
1 12
Newest
 Curious
Impact
~4k people reached

Apr
2
comment C Language - K&R 1st vs 2nd Edition?
@JerryCoffin Oops, sorry, you're right about long long being C99. Still, what's at stake in your conversation with user29079 was explicitly not the choice between 1st and 2nd edition K&R - it was whether even K&R 2nd edition is outdated and shows practices that no longer make sense or seem bad in light of modern ideas about programming style. My factual error about when long long was introduced doesn't change the point that it clearly does show at least some such obsolete practices.
Apr
2
comment C Language - K&R 1st vs 2nd Edition?
@JerryCoffin, while I haven't read all of K&R, user29079 is entirely right to say that at least some of it is outdated. You only need to get half a dozen code samples into the book to find them advocating data type choices that were obsoleted 16 years ago by C90 and no longer make any sense; I'm sure there's more similar issues be found. Even the second edition is an ancient book.
Mar
12
awarded  Curious
Mar
11
awarded  Citizen Patrol
Mar
11
accepted Why does expressing calculations as matrix multiplications make them faster?
Mar
11
asked Why does expressing calculations as matrix multiplications make them faster?
Feb
7
comment Better to have 2 methods with clear meaning, or just 1 dual use method?
@TheInnerLight Sure, the patterns used by built-in APIs are not necessarily the pinnacle of good design - that's why the reference to them in my comment was one among many. That doesn't change the fact that effectively nobody ever has used CQS on a real project, and there's little reason they'd ever want to.
Feb
6
comment Better to have 2 methods with clear meaning, or just 1 dual use method?
Almost no code conforms to Command Query Separation. It's not idiomatic in any popular object-oriented languages whatsoever, and is violated by the built-in APIs of every language I've ever used. To describe it as a "best practice" thus seems bizarre; can you name even one software project, ever, that actually follows this pattern?
Nov
5
comment Why is Math.Sqrt() a static function?
Python already supports both of these syntaxes. Every non-static method takes self as its first parameter, and when you call the method as a property of an instance, instead of as a property of the class, the instance gets implicitly passed as the first argument. Hence I can write "foo".startswith("f") or str.startswith("foo", "f"), and I can write my_list.append(x) or list.append(my_list, x).
Oct
15
awarded  Excavator
Oct
15
revised Can I use GPL software in a commercial application
removed some unhelpful noise
Oct
15
suggested approved edit on Can I use GPL software in a commercial application
Oct
14
comment how to refactor many singletons
@phresnel Calling 5000 lines of Python "medium-sized" seems entirely reasonable to me. For comparison, the web framework Django is only a couple of hundred thousand lines, and you can (and I frequently do) write scripts to do interesting and useful things in a few dozen lines. By orders of magnitude, a 5000-line application lies halfway between those extremes.
Oct
12
accepted Why does “charset” really mean “encoding” in common usage?
Oct
6
comment Is progressive HTTP download a viable alternative to HLS/DASH/RTMP for providing live video?
As far as UDP goes - sure, UDP-based protocols like RTMP are probably superior performance-wise, but that's of little use to you if you're developing a browser-based client, since JavaScript doesn't give you any way of using UDP. Flash does, but if you've got Flash available to you, you're probably better off using RTMP anyway (which is TCP-based, not UDP-based). My motivation for considering progressive download solutions was to increase browser compatibility - anything that needs UDP defeats that objective immediately.
Oct
6
comment Is progressive HTTP download a viable alternative to HLS/DASH/RTMP for providing live video?
Ease of content copying is a real disadvantage over dash.js and HLS, though. And I'm not sure how variable bit rate streams could be implemented using progressive download, although I expect it would be possible with a little cunning.
Oct
6
comment Is progressive HTTP download a viable alternative to HLS/DASH/RTMP for providing live video?
Also, some of the other concerns here - like seeking and recovering from disconnects - are problems that apply equally to a JavaScript implementation of DASH, yet dash.js presumably overcomes them. I imagine they could be overcome for a progressive download player just by stealing whatever solutions the dash.js developers have come up with.
Oct
6
comment Is progressive HTTP download a viable alternative to HLS/DASH/RTMP for providing live video?
It seems incorrect to mention latency as a disadvantage of using HTTP progressive download given that the primary competitors include DASH and HLS which deliver segments of video via multiple sequential HTTP requests. I don't know every detail of the protocols, but I'd assume that the latter approach requires a minimum latency of at least the segment length being used, whereas with the progressive download approach there is no theoretical minimum latency - lower latency should be an advantage of the progressive download approach, right?
Oct
6
awarded  Nice Question
Sep
16
comment Are clean coding rules less relevant for large open source projects?
@BenAaronson yep. Mundane example: variable name changes can often remove the need for a comment explaining what the variable contains.