tag:blogger.com,1999:blog-3243458808465400448.comments2023-09-02T04:09:36.371-07:00Idle Conjectures in Search of RefutationWillhttp://www.blogger.com/profile/16325301752282552046noreply@blogger.comBlogger23125tag:blogger.com,1999:blog-3243458808465400448.post-75236418450843723082013-01-11T14:08:12.913-08:002013-01-11T14:08:12.913-08:00This comment has been hidden from the blog.jakehttp://jakeva.github.comnoreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-21795947408511860242013-01-10T10:43:37.855-08:002013-01-10T10:43:37.855-08:00This comment has been hidden from the blog.Willhttps://www.blogger.com/profile/16325301752282552046noreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-75633649986476610412013-01-10T10:30:47.447-08:002013-01-10T10:30:47.447-08:00There is also the very human need for power and co...There is also the very human need for power and control. Now, as a child, I was brought up to believe that most objectionable personality traits are, at the core, failings in self-confidence:- The bully is to be pitied rather than despised.<br /><br />As I have grown up, I have found that to be a very true observation. Very frequently, as we become more nervous, and less secure in our own position, we seek to increase the level of control that we have; increase our power and our dominance over those around us. I have observed this not only in many of the people I have encountered over the years, but also in myself, and, yes, even in my parents. (Knowledge is necessary, but not sufficient, to grant wisdom).<br /><br />So, in the presence of uncertainty and unpredictability, our natural instincts doubly fail us - firstly by making us underestimate the probability of unpredictable events, and secondly by making us become more rigid and controlling when unpredictable events *do* occur.Willhttps://www.blogger.com/profile/16325301752282552046noreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-91993286741064469112012-12-26T13:28:02.487-08:002012-12-26T13:28:02.487-08:00https://github.com/raganwald/homoiconic/blob/maste...https://github.com/raganwald/homoiconic/blob/master/2011/12/smart-and-gets-things-done-is-necessary-but-not-sufficient.md#smart-and-gets-things-done-is-necessary-but-not-sufficientWillhttps://www.blogger.com/profile/16325301752282552046noreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-45705121313157434322012-11-29T07:02:50.760-08:002012-11-29T07:02:50.760-08:00See also:
http://ashtonkemerling.com/2012/11/27/t...See also:<br /><br />http://ashtonkemerling.com/2012/11/27/the-myth-of-the-lone-hacker/Willhttps://www.blogger.com/profile/16325301752282552046noreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-21799102246569624032012-11-29T04:20:49.919-08:002012-11-29T04:20:49.919-08:00I feel your pain.
I feel it is worth mentioning, ...I feel your pain.<br /><br />I feel it is worth mentioning, however, that if you need to get something done quickly in the short term, are willing to spend significant amounts of money to hire experienced, senior level staff members, and are happy to either stop after you have achieved your objective, or reengineer and reintegrate your system after you have achieved your primary objectives, then then loose collaboration can be perfectly suitable and appropriate.<br /><br />This model is adopted by many startups, where the priority is prove the business concept rather than to build sustainable software; to focus on long term economic efficiency or to put significant time and effort into people management.<br /><br />However, I would be doing my profession a disservice if I did not point out my strongly held belief that, given the right tools, together with a sufficiently high level of discipline and organization, a high-functioning tightly integrated team can (on average) out-perform a high-functioning loosely integrated team over all but the shortest timescales.Willhttps://www.blogger.com/profile/16325301752282552046noreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-49101100244203492222012-11-29T04:03:49.001-08:002012-11-29T04:03:49.001-08:00I've recently joined a company very much worki...I've recently joined a company very much working in the Loose collaboration method. Researchers work alone, often developing complex algorithms in high level languages, which are then (if needed) incorporated into software in C++ or Assembler.<br /><br />With smaller, simple projects or modifications to existing algorithms, this can work well. Left alone, people can concentrate on small specific areas of research for a week or two before sharing the knowledge with the rest of the team.<br /><br />With larger, more complex projects, i find this troublesome. Meetings, designed to promote communication between team members, become harder. As the work becomes more complex, it becomes difficult for others in the team to understand. Meetings are then resented or seen waste of time since it is difficult to gain or contribute any knowledge, further isolating people. It also becomes difficult for management to understand or direct the research, and individuals may direct their work to what they see as interesting or furthering their own CV, rather than in a direction that would best benefit the company. New hires to the team may find it very difficult to find their place and fit in with such a lack of communication. Documentation of research carried out, also becomes difficult for other employees to check or review easily without gaining large amounts of highly technical knowledge of the subject area. The company is also exposed to losing large knowledge should an employee leave. <br /><br />Changing this culture i think requires strong leadership and commitment from management. Work needs to be restructured, so research is carried out collaboratively by changing subgroups of the team. Knowledge is broadened and people start talking and working together, with greater cross fertilization of ideas. <br />Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-58434281162422526542012-11-26T01:23:55.533-08:002012-11-26T01:23:55.533-08:00Too good stuff sir. Accept my gratitude:)Too good stuff sir. Accept my gratitude:)Aditya shuklahttps://www.blogger.com/profile/15369776578004212749noreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-25286377592318540362012-11-22T07:45:50.956-08:002012-11-22T07:45:50.956-08:00All this, of course, assumes that there is such a ...All this, of course, assumes that there is such a thing as productivity, which is not necessarily a given: http://www.benrady.com/2012/11/theres-no-such-thing-as-software-productivity.htmlWillhttps://www.blogger.com/profile/16325301752282552046noreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-27100641612686113532012-10-26T07:10:12.172-07:002012-10-26T07:10:12.172-07:00I am not totally convinced about the benefits of u...I am not totally convinced about the benefits of using the VCS as a CI system & to control pushing to production, as this limits you to "big bang" deploys (or forces you to implement a sophisticated dependency management system), so the "production" "staging" and "rollback" branches should be seen as a tentative suggestion only.Willhttps://www.blogger.com/profile/16325301752282552046noreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-12250841612122561682012-09-28T13:40:02.847-07:002012-09-28T13:40:02.847-07:00I'm looking at D now, which is OO + functional...I'm looking at D now, which is OO + functional + imperative. It is like "C++ done the right way". There is a linear algebra library already available on GitHub ("https://github.com/kyllingstad/scid/wiki") . Using, GNU D Compiler (http://gdcproject.org/wiki/) I get the same performance as C or C++, meaning faster than Julia.Kumarnoreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-42190293948884749512012-09-28T12:36:24.362-07:002012-09-28T12:36:24.362-07:00If you haven't already, check out the granddad...If you haven't already, check out the granddaddy of array languages, APL, and its even-more-functional successor J.<br /><br />Also, if implemented well, array orientation doesn't hurt performance. Using clever techniques, the compiler/interpreter can do a better job than a human programmer whose best approach is to do things in a straightforward and readable fashion, not the fashion that gives the best performance.Rohan Jayasekerahttps://www.blogger.com/profile/02860878275544900390noreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-4012412150321894532012-09-28T12:35:23.710-07:002012-09-28T12:35:23.710-07:00You forgot the ipython notebook (with numpy) which...You forgot the ipython notebook (with numpy) which is very very cool for scientific computing.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-80425713582089969062012-09-28T11:19:50.869-07:002012-09-28T11:19:50.869-07:00thanks for Cobra biting.read comparison with Pytho...thanks for Cobra biting.read comparison with Python. seems interesting.trying...thanks!Govind Reddyhttps://www.blogger.com/profile/12160808979698692170noreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-38887553592530963232012-09-28T09:38:23.944-07:002012-09-28T09:38:23.944-07:00I only came across Cobra a couple of days ago, so ...I only came across Cobra a couple of days ago, so I really do not know much about it, but I was interested in the line of thinking that it represents....Willhttps://www.blogger.com/profile/16325301752282552046noreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-76738570122569066692012-09-28T09:26:47.123-07:002012-09-28T09:26:47.123-07:00I really like Go for some of the same reasons. Tha...I really like Go for some of the same reasons. Thank you for introducing me to Cobra. Looks interesting.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-14396285177266497302012-09-20T18:01:34.895-07:002012-09-20T18:01:34.895-07:00This is also called thinking ahead.This is also called thinking ahead.Willhttps://www.blogger.com/profile/16325301752282552046noreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-60591055677419374842012-09-17T13:31:21.888-07:002012-09-17T13:31:21.888-07:00Anybody got any answers?
Anybody got any answers?<br />Willhttps://www.blogger.com/profile/16325301752282552046noreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-72706654738677204392012-06-25T14:18:14.108-07:002012-06-25T14:18:14.108-07:00http://www.cs.wm.edu/~denys/pubs/Exemplar-TSE.pdfhttp://www.cs.wm.edu/~denys/pubs/Exemplar-TSE.pdfAnonymoushttps://www.blogger.com/profile/18071858804093654589noreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-10484360948544691332012-06-25T14:12:41.930-07:002012-06-25T14:12:41.930-07:00Here are some related papers (unfortunately all lo...Here are some related papers (unfortunately all locked behind a pay-wall):<br /><br />http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6178933&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6178933<br /><br />http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6032588&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6032588<br /><br />http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5989838&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D5989838Anonymoushttps://www.blogger.com/profile/18071858804093654589noreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-79029453234682450902012-06-07T09:36:49.674-07:002012-06-07T09:36:49.674-07:00As software developers, our job is to build a brid...As software developers, our job is to build a bridge between the world of the human and the world of the automaton.<br /><br />This nature of this bridge is determined by the nature of humans as well as by the nature of automatons. <br /><br />Humans are more complex than automatons.<br /><br />The greater part of building software therefore rests upon a deep understanding of human nature.<br /><br />We can only develop this deep understanding if we have the humility to acknowledge our limitations and the patience to understand them as such.Willhttps://www.blogger.com/profile/16325301752282552046noreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-18899482698569670442012-05-09T15:24:17.129-07:002012-05-09T15:24:17.129-07:00... This seems to be a similar way of thinking to ...... This seems to be a similar way of thinking to the way that the Go language approaches OOP - where the ADT comes about from an (almost) ad hoc collection of functions that (together) conform to some interface. (IIRC)Willhttps://www.blogger.com/profile/16325301752282552046noreply@blogger.comtag:blogger.com,1999:blog-3243458808465400448.post-77113955622209221202012-05-09T14:42:06.081-07:002012-05-09T14:42:06.081-07:00OOP and FP are for making abstract concepts like v...OOP and FP are for making abstract concepts like verbs and adjectives into concrete nouns that can be transformed and remembered as well as being run.<br /><br />FP uses the "apply" abstraction to do that, while OOP uses the ADT abstraction.<br /><br />You would only ever lift abstract concepts into nouns when you want to transform or remember them.<br /><br />Perhaps the problems you encounter are due to designers getting into the habit of thinking in "patterns" (in the sense of Gamma et al.). The result being that the program is described compositionally.<br /><br />If designers think in procedures and smartly generalise into patterns (and thus OOP and FP abstractions) whenever transformation and remembering of the abstract concepts in a procedure are required they'd get better results.<br /><br />Remember you can always think of an ADT as a collection of functions (possibly with memoisation of intermediates). And vice-versa of course.Anonymoushttps://www.blogger.com/profile/01446359502937021335noreply@blogger.com