|
rotor posted:well they really are for the most part, clopen sets are fairly unusual not really
|
# ? Dec 18, 2014 22:25 |
|
|
# ? May 20, 2024 07:28 |
|
Soricidus posted:a fandom is a homomorphic functor over cogroupoids you know they make preparation-ζ to treat those
|
# ? Dec 18, 2014 22:38 |
|
the generalized product is the only thing i have ever seen from category theory that is slightly useful, the rest is the mathematical version of smearing poo poo on a canvas and giving it a pretentious title
|
# ? Dec 18, 2014 22:46 |
|
Subjunctive posted:I like Casey Muratori's talk on API design and evaluation a lot. anyone know of other good resources in the same vein? https://www.youtube.com/watch?v=NHtJLABTdCE
|
# ? Dec 18, 2014 23:47 |
|
tef posted:a story: a feature request written like software fanfic. tef have you considered putting this up on your blog or something? i sometimes want to link it when we're discussing ~our workflow~
|
# ? Dec 20, 2014 19:48 |
|
suffix posted:tef have you considered putting this up on your blog or something? that is... perfect. especially now that i've almost completed a university course called "Agile Software Engineering" which is full of agile and scrum and kanban and now i have to write a few essays on those subjects and why all of those things are great. also #noestimates
|
# ? Dec 22, 2014 11:00 |
|
my workplace is switching to GDF - game development framework, for all software, even non-games it kind of makes sense. instead of having a list of features for each release, you just work on a feature, and when it's done you mark it "done" and it gets put in the next monthly release. and there's these "gates" that everything goes through, like inception, design development, approval, something something (making these up). so that avoids getting these tickets that are like "make the search better" and you have 2 weeks till code lock to figure out what that means and do it. and maybe it keeps the work more constant. in "agile" sometimes it seems like the dev gets 5 tickets and they're all "change this to blue" and they finish the sprints work in 2 hours and watch youtube for the literal rest of the month. or otoh you can have 5 massive tickets that all have to be done by deadline and they hold the whole release back by two weeks when they're not done.
|
# ? Dec 22, 2014 11:37 |
|
fire ur scrum master
|
# ? Dec 22, 2014 12:11 |
|
stories should have points that designate how long of a burn they're supposed to be
|
# ? Dec 22, 2014 12:12 |
|
ahmeni posted:stories should have points that designate how long of a burn they're supposed to be and they should be on an exponential scale
|
# ? Dec 22, 2014 12:16 |
|
for the whole course, i felt that yest, all of these things could work if the whole organization commits to them, but i've always seen them done halfassedly. maybe the smallest, most low level thing that could promote agility is collective code ownership, but even that never seems to happen. every widget is someone's personal domain that nobody else touches. then again, i've been a consultant for all my career so i've always been dropped into the middle of a project being all and then been ejected (at best) when it's almost done, but not quite.
|
# ? Dec 22, 2014 12:23 |
|
PleasureKevin posted:and they should be on an exponential scale in the #noestimates (yes, the title was a hastag) lecture, the lecturer told that they use a "t-shirt scale" of S, M and L, where S is about 1 day of work, M is a few and L is more, and he said that only "S" tasks get done and larger ones have to be split into smaller bits. i agree on that if a task estimate is more than 2-3 days, it's usually a complete asspull. a 15-day task is basically "i have no idea how long this is going to take" then the burndown chart goes down in a nice 45 degree angle, until there's 3 days left and then it becomes a horizontal line.
|
# ? Dec 22, 2014 12:28 |
|
burndowns are a not-dumb feature of agile and the point is recalibrating your estimates based on performance. the estimates don't even have to be abstract, if your team of four achieves 150 hrs of work in the first dev cycle of 2 weeks and you've got 750 hours left then you can say it will probably take 5 more cycles or 10 weeks. everyone focuses on the input side which is stupid, it's the results and recalibration that matter
|
# ? Dec 22, 2014 14:15 |
|
Wheany posted:in the #noestimates (yes, the title was a hastag) lecture, the lecturer told that they use a "t-shirt scale" of S, M and L, where S is about 1 day of work, M is a few and L is more, and he said that only "S" tasks get done and larger ones have to be split into smaller bits. i agree on that if a task estimate is more than 2-3 days, it's usually a complete asspull. a 15-day task is basically "i have no idea how long this is going to take" And you know that the biggest take away from that lecture was that if you want anything to get done you have to label it as a Small.
|
# ? Dec 22, 2014 14:17 |
|
Wheany posted:for the whole course, i felt that yest, all of these things could work if the whole organization commits to them, but i've always seen them done halfassedly. Time to go back to Alistair Cockburn regarding methodologies: quote:
quote:
People are a first-order effect of software development. Many methodologies do not, or used not to care about them to this level, but gave people second-order importance. Cockburn says:
The idea stems from Conway’s Law, in The Mythical Man Month. The law states: quote:Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure. What they found out was that the organizational structure of the company in large projects was a far better predictor of the quality quality and defect rate of the final project than any technical metric (code churn, cyclical deps, code complexity, code coverage, etc.). Who owns the code, who works on it, focus, alignment on objectives, and who contributes to it has a much bigger effect than code itself.
|
# ? Dec 22, 2014 14:53 |
|
that "They were successfully able to ignore us, and were still delivering software, anyway." quote is probably the one i have been looking for for a while now. software happens regardless of discipline or structure or methods
|
# ? Dec 22, 2014 15:37 |
|
Wheany posted:that "They were successfully able to ignore us, and were still delivering software, anyway." quote is probably the one i have been looking for for a while now. certainly my experience is that software development runs a lot quicker if you ignore as many meetings as possible, so i don't find this finding terribly surprising
|
# ? Dec 22, 2014 15:38 |
|
so, i've had some time to look into newlib's approach to reentrancy [newlib is a libc implementation designed for embedded stuff]. it seems... problematic. basically, any function that needs a struct _reent to encapsulate some state (eg. errno) in a thread-local fashion in order to be reentrant is broken by default - they have a _REENT macro that boils down to a pointer (impure_ptr) to a single statically allocated struct _reent, and thus everything blows up if you actually use the function reentrantly. their suggested fix is to make a table of struct _reents and hack your rtos kernel so that you point impure_ptr at the appropriate element in the table for the currently executing task/thread whenever you do a context switch. ok fine whatever, this makes things thread-safe but i think it will still blow up if the function is called re-entrantly from an interrupt service routine (or signal handler i guess, though anything running on an OS with sysv signals will run glibc or bsd libc rather than newlib). now of course like a good little embedded guy i reflexively don't make any function calls from inside an isr so i'm not affected, but that's kind of a heck of a caveat! the way around this would be for each function which needs a reentrancy structure to allocate one locally on the stack, though this would eat a shitload of memory really fast. i can understand why they chose the particular tradeoffs they did, but it would have been nice if it were a documented part of each function that uses a struct _reent rather than a footnote on their website.
|
# ? Dec 22, 2014 17:16 |
|
how do you schedule a bottom-half if you don't call any functions from your isr newlib is ehhhh. why do you need a libc beyond string.h and std(bool|def|int).h anyway. here, have a libc for bare-metal projects whose printf implementation requires a heap. i've whipped up several lovely sprintf implementations that understand %s, %d, %x without needing a heap to do it?
|
# ? Dec 22, 2014 18:07 |
|
yeah i didn't pick it (it's the libc that cypress ships with psoc creator; extra lol in that they don't ship the source but just headers and .a's) and i have half a mind to ask some probing questions on their mailing list
|
# ? Dec 22, 2014 19:11 |
|
suffix posted:tef have you considered putting this up on your blog or something? yeah, put it on a blog, i want to send it to the course instructor (after he has graded me )
|
# ? Dec 22, 2014 20:56 |
|
i did a scrum™ course and at one point the instructor asked "if you were given a project and you had the choice to pick either the team, the technology or the process, what would you pick?". the idea being that if you can pick a good team you could do COBOL and the worst possible process and you might still have a decent chance, but if you have a poo poo team nothing's gonna save you.
|
# ? Dec 23, 2014 11:56 |
|
I'd pick process tbh
|
# ? Dec 23, 2014 12:02 |
|
I'd pick the bikeshed
|
# ? Dec 23, 2014 12:10 |
|
it's a trick question, you don't actually get to choose any of those
|
# ? Dec 23, 2014 12:36 |
|
The team is the expected answer, but the best answer is "I'd change jobs for a substantial raise and decision power over more than one element in this list"
|
# ? Dec 23, 2014 15:47 |
|
MononcQc posted:The team is the expected answer, but the best answer is "I'd change jobs for a substantial raise and decision power over more than one element in this list" nice
|
# ? Dec 23, 2014 16:24 |
|
here's an interesting read about how they're improving arrays in the next version of the best language. the way they do it now is actually kind of inefficient. arrays in PHPNG are going to use less than half as much memory!
|
# ? Dec 23, 2014 17:38 |
|
Wow they must be atrocious now
|
# ? Dec 23, 2014 17:42 |
|
Have they considered implementing them as arrays
|
# ? Dec 23, 2014 17:43 |
|
Bloody posted:Have they considered implementing them as arrays php arrays are infinitely better than the crippled "arrays" most languages have so it stands to reason there's some overhead involved in how they're handled internally. it's exciting to see that overhead being reduced so much tho
|
# ? Dec 23, 2014 17:49 |
|
if you have to tell your language how big your array is when you make it, or what kind of stuff you want to put in it, or it only lets you use indexes in a certain range, or it doesn't let you use string indexes, then YAPOS
|
# ? Dec 23, 2014 17:50 |
|
Lol surprise php doesn't know what arrays actually are and has confused them with a variety of different data structures, likely with all the downsides of each and none of the upsides!
|
# ? Dec 23, 2014 17:52 |
|
arrays don't have string indices by definition I don't even program and I know that
|
# ? Dec 23, 2014 17:59 |
|
Captain Foo posted:bad, bare-bones implementations of arrays don't have string indices by definition
|
# ? Dec 23, 2014 17:59 |
|
array has a meaning thats more than just "box i shove poo poo in and then fart out later somehow (maybe strings?????)"
|
# ? Dec 23, 2014 18:16 |
|
Joe Law posted:array has a meaning thats more than just "box i shove poo poo in and then fart out later somehow (maybe strings?????)" most definitely. here is that definition: "An array is a data structure that contains a collection of zero or more elements. The elements of an array need not have the same type, and the type of an array element can change over its lifetime. An array element can have any type (which allows for arrays of arrays)." more here if you're interested
|
# ? Dec 23, 2014 18:26 |
|
sounds like theyre describing a void**, OP
|
# ? Dec 23, 2014 19:19 |
|
those php arrays sound pretty sweet to be honest. they should name them something different to set them apart from other plebeian languages, maybe something like "map"
|
# ? Dec 23, 2014 19:25 |
|
|
# ? May 20, 2024 07:28 |
|
PHP's arrays are a hybrid between arrays, sparse arrays, maps, and sets. They do it all with one data structure, so it's super expensive.
|
# ? Dec 23, 2014 19:31 |