|
outsourcing is p. symmetric, india is not getting outsourced dev work, they are outsourcing management to americans with the right sense of entitlement
|
# ? Oct 7, 2014 13:28 |
|
|
# ? May 17, 2024 07:24 |
|
uncurable mlady posted:yet for some reason no one ever comes up with the bright idea of outsourcing management they're called "general contractors" when building a house, I guess. the problem is that, as the parasitic leisure class of software development, we managers produce no valuable artifacts, so we'd never get paid. 15 hours: read developers' bugs recording errors to keep their performance reviews mediocre 10 hours: reading about how to dress and speak in order to get my boss's job 5 hours: sending email to distract developers with process changes and requests for status 15 hours: meetings with other managers where we just play on our iPads and complain about our wives
|
# ? Oct 7, 2014 15:49 |
|
i'm doing a ~swift~ tutorial and the instructions just told me how to implement Hashable, there must be a hash method and a == overload. it proceeds to not use the hash method in the ==. twice. am i missing something?
|
# ? Oct 7, 2014 22:26 |
|
why would you use the hash in the equality operator?
|
# ? Oct 7, 2014 22:48 |
|
idk about swift but in java hashcodes don't have to be unique. objects that are equal should always have the same hashcode, but objects that are not equal can have the same hashcode or different hashcodes. because of this you cant trust hashcode for testing equality. however, assuming you wrote a unique hash algorithm for your class (don't assume this) then yes you could compare hashcodes to test for equality. but then you have to worry about the performance of your hash since it might be slower than doing the equality some other way. so the tradeoff in the hashcode contract is rare collisions are ok if we speed things up because we have equals to test for real equality if we need it.
|
# ? Oct 7, 2014 22:49 |
|
pseudorandom name posted:why would you use the hash in the equality operator? if the hashes differ, you don't need to compare the data
|
# ? Oct 7, 2014 22:54 |
|
But you had to walk the data already (entirely) to compute the hashes, so you'd rather be able to compare the data.
|
# ? Oct 7, 2014 22:55 |
|
sarehu posted:But you had to walk the data already (entirely) to compute the hashes, so you'd rather be able to compare the data. yeah, yeah of course I was thinking of immutable objects where you only calculate the hash once
|
# ? Oct 7, 2014 23:00 |
|
the answer to the question that wasn't asked is you need an equality operator because any situation where you'd use the hash code you'd need to verify equality anyway
|
# ? Oct 7, 2014 23:05 |
|
i'm finally reading about futexes and they seem pretty cool. and i'm happy to stop thinking of userspace concurrency primitives as magical, or trying to guess which one is the fundamental abstraction that the others would be implemented on top of. but wow everything around that sort of concurrency seems super subtle and fragile and the domain of wizards anyway.
|
# ? Oct 7, 2014 23:09 |
|
(i don't really dare think about how kernel space scheduling works)
|
# ? Oct 7, 2014 23:10 |
|
futexes are so neat Microsoft added them to Windows 8
|
# ? Oct 8, 2014 01:10 |
|
futexas futaxes
|
# ? Oct 8, 2014 02:08 |
|
fritz posted:futaxes is what I see
|
# ? Oct 8, 2014 05:21 |
|
*hackbunny-sense is tingling*pseudorandom name posted:futexes are so neat Microsoft added them to Windows 8 weren't they introduced in vista? or at least it was the first time they introduced keyed events (and used them to implement tons of pthread-like primitives like condvars). did it get expanded in windows 8? I'd love to read about that I still doubt they are as cool as they are in linux: you can make them inter-process by allocating them in shared memory, because they are identified by virtual page + offset, whereas windows just uses the virtual address. from what I remember of the windows vmm (ie. not much and it gets rewritten on every major release anyway, gently caress the windows vmm hard), it's probably not impossible but absolutely hellish to do the same in windows
|
# ? Oct 8, 2014 12:04 |
|
uɐʇɐs lᴉɐɥ
|
# ? Oct 8, 2014 14:40 |
|
is there any non-lisp with a good macro system that i can rub the rust people's heads in
|
# ? Oct 8, 2014 23:44 |
|
Define good macro system
|
# ? Oct 8, 2014 23:45 |
|
yeah, #define is already probably better than rust's system
|
# ? Oct 9, 2014 00:21 |
|
as usual the answer is nimrod
|
# ? Oct 9, 2014 00:23 |
|
What's up with Rust's macro system?
|
# ? Oct 9, 2014 00:36 |
|
hackbunny posted:*hackbunny-sense is tingling* MSDN says WaitOnAddress/WakeByAddressAll/WakeByAddressSingle were added in Windows 8 and doesn't say anything at all about multiple processes or file-backed or shared memory addresses. On the plus side, the API doesn't include a bunch of obsolete-because-it-was-racy options, and I'm assuming they didn't botch 32 versus 64 bit compatibility like glibc did with process-shared pthread mutexes. pseudorandom name fucked around with this message at 00:49 on Oct 9, 2014 |
# ? Oct 9, 2014 00:45 |
|
Zombywuf posted:What's up with Rust's macro system? concretely: their token-pasting is apparently broken because they added hygiene, but even if it wasn't you couldn't use it to actually name declarations because macros only go in declaration or expression positions, not identifier-in-a-declaration positions or anything, not even in the token tree that a rules-based macro returns. this is pretty easy in C, so it's extra frustrating. also rules-based macros can apparently only splice a handful of syntax bits and not even all kinds of tokens into their result. it's kinda stuck in a weird place where it's just barely too sophisticated to let you do all the weird stuff people do with the C preprocessor, but not nearly high level enough to let you do all the weird stuff people do with C++ templates. other than that: the next step up from rules-based macros is full-on programmatic syntax extensions where you have to write a function that is dynamically loaded into the compiler and handed a bunch of internal compiler structures and wished good luck both of these happen while/just after parsing, so there's also no type info or anything available to operate on higher-level concepts than tokens and ast nodes. there's special built-in magic for deriving a handful of traits, like in haskell, but you can't really build your own for your own traits. afaik the one guy who wrote the macro system back in 2011 or 2012 or so occasionally shows up to fix weird bugs and I think added hygiene at some point, but otherwise isn't really with the project anymore and only drops in when someone says 'macro' in the irc channel. it's been in a permanent state of "we might come up with a better system so we won't commit so support current macros", but it's very likely to ship as it is for 1.0 (behind an opt-in "this is unstable" flag) and i don't think anyone has any enthusiasm to work on it Vanadium fucked around with this message at 01:17 on Oct 9, 2014 |
# ? Oct 9, 2014 01:13 |
|
now having visions of people running their rust through gcc -E before compiling.
|
# ? Oct 9, 2014 01:23 |
|
people do it with haskell, i wouldn't even feel bad it doesn't help that the tool people use to generate rust bindings from C headers doesn't attempt to reproduce #defines at all, even if they're just integer literals or something edit: apparently you can use the tool as a macro now, that's pretty cool i guess
|
# ? Oct 9, 2014 01:25 |
|
Vanadium posted:is there any non-lisp with a good macro system that i can rub the rust people's heads in Maybe doesn't apply (ahem) because it's not in the core language? Whatever. I don't know if you care about that as criteria.
|
# ? Oct 9, 2014 01:52 |
|
Shinku ABOOKEN posted:uɐʇɐs lᴉɐɥ
|
# ? Oct 9, 2014 03:00 |
|
who will snipe page 1000? we can only wait and see
|
# ? Oct 9, 2014 04:43 |
|
who cares
|
# ? Oct 9, 2014 04:44 |
|
who will gas this thread before 1k
|
# ? Oct 9, 2014 05:17 |
|
let's get a new thread
|
# ? Oct 9, 2014 05:42 |
|
tef posted:let's get a new thread why it is pretty much the same recycled stuff
|
# ? Oct 9, 2014 06:45 |
|
tef posted:let's get a new thread programmers always wanting to rewrite poo poo
|
# ? Oct 9, 2014 07:05 |
|
what do you people think about ethereum's programming language?
|
# ? Oct 9, 2014 07:59 |
|
pseudorandom name posted:MSDN says WaitOnAddress/WakeByAddressAll/WakeByAddressSingle were added in Windows 8 and doesn't say anything at all about multiple processes or file-backed or shared memory addresses. aha thats cool, they made a win32 api for the keyed event. no its def not cross-process, keyed event is a per process singleton technically its been in the kernel since vista, fe you can figure how WakeByAddressAll was used to implement WakeAllConditionVariable still thats not a futex, its a sleepon lock, a seriously old school unix kernel synch primitive (only other os with an user mode api for it is qnx, iirc). a futex is tied to memory storage, not virtual address, and iirc its an actual variable the kernel can read/write. theyre a pretty unique thing e: whereas a sleepon lock is a low-overhead way to retroactively add synchronization without defining new variables, as in the synchronized/monitor pattern in java/.net/objc e: nope, it's not even a sleepon lock, sorry, it lacks LockByAddress/UnlockByAddress. it's literally just a way to create anonymous events on demand hackbunny fucked around with this message at 09:18 on Oct 9, 2014 |
# ? Oct 9, 2014 08:30 |
|
so a futex is a lock with a penis right
|
# ? Oct 9, 2014 08:36 |
|
Luigi Thirty posted:so a futex is a lock with a penis right crit(sec)s with dicks
|
# ? Oct 9, 2014 08:58 |
|
Stringent posted:programmers always wanting to rewrite poo poo and in my favorite language
|
# ? Oct 9, 2014 09:18 |
|
real programmers snipe page 1024
|
# ? Oct 9, 2014 12:13 |
|
|
# ? May 17, 2024 07:24 |
|
gas this thread
|
# ? Oct 9, 2014 12:32 |