>> Specifically, if you have a team that doesn't communicate effectively on a daily basis,
I concur. My people don't communicate very well and have no real team spirit. The stand up meeting helps to alleaviate that.
Of course, people who "don't communicate" and "have no real team spirit" are not fit for Agile and stuff, but that's another story :-) In my case, Agile, having frequent deadlines and frequent stand up meeting, helps me a lot to maintain a soft pressure on people. I don't like that (I'd prefer a team of super motivated people), but that's the best I can do. Having a more formal method like RUP wouldn't help because the analysis/coding cycles are too long. Having a kanban could help a bit, as Agile with such a team feels a bit artificial.
If you need unicode (i.e. your app will take more langauges than english and spend a lot of time on that (hint! GUI hint!), the 3 is the way to go. Unicode support is so much better...
For the rest, it depends on the libraries you need...
I have a fairly large code base (80K LOC). When the size grows, lack of typing can become a problem. 95% percent of the time, the code is explicit enough. However, when you end up with meta code, then it can become really difficult to track the types down in the n-th level of recursion...
Python2 to 3 migration is not easy. There are tools but the problem is that they don't see everything and therefore, you end up with 95% of your code converted. Then it's up to you to figure out the last 5%, which is an order of magnitude harder that the first 95%... So I ended up having a fairly long transition of migrating Python2 code to Python2+3 code.
For bothe these issues, the common discourse is : have proper test coverage. But well, we live in a real world, and maintaining a code coverage strong enough to allevaite the problems (around 90%) is just very hard. If you're coding alone, that may be just too much (my case). In a team setting, with money to spend, that may be possible, but you'd need a very disciplined team.
But anyway, AFAIC, working with Python is just super productive (I compare to Java). It also feels much more battle tested than, say, Ruby.
For me python is not a scripting language but a "glue" language set in the middle of a huge libraries ecosystem.
Now, I didn't do XA transaction stuff, high performance stuff, etc. For me it's more alike a well done Visual Basic : you can achieve a lot very quickly. Contrary to VB, the language and its ecosystem are really clean.
I work on a team of three that has a project slightly larger than you 100k-110K LOC (and growing by about 5k LOC a week), we've managed to keep test coverage at about 95%, and have found it's worth the investment upfront, as it makes refactoring so much easier.
Looking back, I don't think even for a personal project, I would ever do something that wasn't a one-off without good test coverage. It's essentially taking on technical debt, as it makes you much more afraid of fixing anything.
I developed this library ( https://github.com/hhuuggoo/thedoctor ) to help deal with this problem. My belief is that type validation is only part of the problem - being guaranteed about properties of your inputs and outputs is also necessary (for example, make sure the input dataframes have datetime indices, and include the following columns, or ensure that this matrix is nonsingular). I have worked on some of the largest python projects at nyc investment banks, I think I've seen what I can safely call the scariest python project in the world
There is also another library out there which approaches the problem a bit differently
>I have a fairly large code base (80K LOC). When the size grows, lack of typing can become a problem.
I do as well, and I find that while we occasionally run into typing bugs, the tests nearly always catch it and they catch it quickly. Moreover, these are tests that we'd write in any language, and static typing would, in most other languages, mean more verbose code. Overall we still come out ahead.
>However, when you end up with meta code, then it can become really difficult to track the types down in the n-th level of recursion...
Yea, I try to avoid that. If there's a library that does meta-code that's unit tested to hell and back, maybe. If I have the time to write one and unit test it, maybe. But, I still try and keep regular projects clear of it.
Interestingly, here in Belgium, the press often states that Google pay his taxes as requested by the law. And that Google have some very expert accountant who read the law in suach a way that those taxes are close to zero.
I'm afraid Google doesn't pay his taxes like we, the tax payers, think it should...
Of course, that's totally proof-less, but well, I've heard that quite often (cf. intérêts notionnels)...
> Google UK Ltd, and other subsidiaries across mainland Europe, pay little tax because they are designated as providers of marketing services to Google Ireland Ltd, the Dublin-based subsidiary whose name appears on invoices to most non-U.S. clients.
> Google declares little profit in Ireland because the unit there sends almost all of the profit earned from the non-U.S. clients to the Bermudan affiliate, in the form of licence fees for the use of Google intellectual property.
> Google Inc. avoided about $2 billion in worldwide income taxes in 2011 by shifting $9.8 billion in revenues into a Bermuda shell company, almost double the total from three years before, filings show.
> I'm afraid Google doesn't pay his taxes like we, the tax payers, think it should...
I am sure the same could be said of every company beyond certain size (200-300 employees comes to mind, but this is just a wild guess), regardless of industry.
This is even the same for individuals. If you try to file taxes yourself (or have your employer do it for you, if possible), you will end up paying a higher rate than if you had taken the good sense of forking $100USD to some accountant to give you some basic advice. Of course this only works if you are wealthy enough that those $100US are marginal compared with what you would end up paying in taxes using the DIY approach.
The Belgian case may be irrelevant, but more broadly it is very relevant - Google reduces their US tax burden in the same way.
The fact that corporate entities are able to shift their profits to places with favorable tax regimes mean that the calculations about the assumptions about increased tax receipts from business activity generated by publicly funded research are at least partially wrong.
Instead of just criticising, maybe you could suggest how parent should improve? I'm always very confused about what personal pronoun to use for organisations or companies.
Not criticizing, first I was confused then I realized it was likely to be a side-effect of being a native speaker of German or another language. Sorry if it came out wrong.
The singular impersonal "it" when talking about Google as a corporate entity (its component personnel would likely be "Googlers"). So "Google pays its taxes" and "Google doesn't pay its taxes".
I concur. When hiring with these kinds of small problems, you actually see a lot. First, in my case, it sorts programmers from not-programmers (it's in the 50% ballpark). Then with a problem a bit harder, it helps sort "programmer-in-the-guts" from "programmer-for-a-job". At the end, I've removed 90% of the candidates and I'm left with average to very good programmers.
Moreover, leaving people to do these little tests in the team and proposing them to ask questions whenever they want, plus asking them to explain their solutions helps a lot in seeing the social skill I need (communication, openness...)
Of course, it's not 100% safe, but I'd say it's a good heuristic :-)
It's interesting to hear that other people have had similar experiences :) I was also surprised as to what degree you can get an insight into social skills just from interacting with people during the interview.
That's very vicious PR to me. By acknowledging some guys thre were hacked too, they implicitely say that : "we're in the same boat, anthema and their customers, we'll fight together". Which, at least for me, is completely wrong. They fucekd up and they put the customers in the siht.
So I cook to think about something else. Washing the dishes without dishwasher is also a moment where I let my mind wander.
Definitely not some time lost (to be honest I don't enjoy washing the dishes as much as cooking, of course, but I feel that connecting my brain on something "easy" is rahter good for me, else I'd jump on my computer right after eating...)
I actually learned almost entire lambda calculus, partial application, currying & tons of other theoretical CS while cooking.
I usually buy a book (these days I'm reading "Elements of Programming") read a chapter and then build the mental model while cooking. Cooking is a double edge sword for me.
I've looked at the zommable picture. When I zoomed to the maximum, I saw a lot of noise in the picture (and a arather regular one). Does it mean that although the resolution is pretty impressive, the noise make it less "useful" ? Just asking, I've 0 knowledge in this area.
Second question, just out of curiosity, would it be possible to look at closer objects like Mars or the moon ? We'd have a pretty good image too ?
About the Mars question, consider the fact that the Andromeda galaxy, although faint in the sky, takes up 5 times more room in our night sky than the moon does. It's really huge.
Mars in comparison is minuscule in our night sky. It's just a tiny blob of light.
"..the Andromeda galaxy, although faint in the sky, takes up 5 times more room in our night sky than the moon does."
Correct, although wikipedia says 6 times and adds a clarification:
"Although it appears more than six times as wide as the full Moon when photographed through a larger telescope, only the brighter central region is visible to the naked eye or when viewed using binoculars or a small telescope." [1]
It was explained quite well recently - Hubble can't look at the Moon(or the Earth for that matter) because it's moving way too fast relative to either of these two bodies to take a non-blurry picture.
Earth - Hubble is moving too fast to get decent close-up imagery, the distance is too small, and frankly Hubble just wasn't designed for it (as opposed to spy satellites of the major powers). Hubble does use the earth to calibrate its cameras, though.
Randall gives examples of how imagery might turn out.
Moon - speed's an issue, but less so, especially if you're imaging a large region
No knowledge either, but it looks to me like the "noise" is actually made of stars.
Maybe you didn't zoom far enough? At sub-maximal zoom, there is aliasing resulting from a lack of low pass filtering before the resolution reduction. That looks a bit like sensor noise.
If I can judge from my child and his friends, I can tell you the angry birs brand is just massively popular and that the lack of story is absolutely irrelevant to them (they just care about levels, birds' powers, things they win, etc.) The story, bah, what for ?
Rovio has made a boatload of animated shorts already, most of which are as dumb and flat as you'd imagine them to be, but I still see my kids watching them with interest. Just like Digimon had its audience, Rovio's flick may find their.
Digimon's characters were quite deep. Matt vs Tai had the rivalry thing going (especially since Matt represented friendship, despite straying from the path he eventually proved himself to be a very reliable friend). Tai's progression from false-courage (accidentally turning Agumon into SkullGreymon) to true courage (MetalGreymon) is also quite thought provoking.
Its got a relatively straightforward formula. Associate each character with a virtue, and then they told a story about it. (Courage for Tai, Friendship Matt, Knowledge Izzy, Sincerity Mimi, Honesty Joe, Hope TK). The evolution of each character was associated with a physical being (the Digimon) that got stronger as each kid recognized the strength of their virtue.
But the Digimon characters made relationships based on their virtues, in particular Tai (Courage) vs Matt (friendship). The younger sister of Tai (Kari, representing "Light") was good friends with Matt's younger brother TK (Hope). Etc. etc.
There was a _lot_ of character interaction and development.
On the other hand, Pokemon is just straight up milking the series. Real depth of characters can be found in "Pokemon Special" comics however, and some Pokemon games have legitimate villains now.
A friend of mine went to see that movie with his kids, quickly gave up trying to understand what was going on and had a great nap instead. Kids were 7-9-ish, he was 40. I'm pretty sure it was Digimon.
In my experience kids will watch almost anything as long as it's colorful, it moves and it makes funny sounds. Surely Angry Birds animated shorts are popular because kids recognize the birds, but I'd say that's hardly a basis for a strong, stable and lasting brand. When some other game with cute characters gets very popular and kids lose interest in Angry Birds games they (and by transitivity: their parents) will also lose interest in Angry Birds animated shorts and Angry Birds merchandise (exhibit A: this news article). It's not like <12 year olds are the best target audience for brand loyalty and disposable income.
"dumb and flat"? Maybe it's just the fact that I have a 5 year old and a 3 year old, so I've become somewhat of a connoisseur of animated shorts, but I've actually been fairly amazed with the quality of most of the animated shorts. With no real dialogue to speak of, there is an awful lot of humor packed into these, and the voice acting combined with the animation in some of the shorts is pretty damn impressive, often conveying a surprising amount of emotion and expressiveness that I would not have expected.
I'll give you dumb possibly, but flat? Watch a good number of them again and see if you still say that.
Digimon actually had some interesting plot and characterization. Yes, most of it was one- or two-dimensional but the character dynamics between Tai and Matt and his younger brother were actually quite good.
Digimon (first season) had superb characters who were all multi-dimensional. Izzy was adopted and they had a small arc on that and Sora has a trouble relationship with her divorced mom who she lives with. I found this series very interesting as a 10 year old boy.
Thanks, I couldn't remember details on the other characters! despite loving Izzy, I mostly remember him as "the techy nerd" of the group. I also found the series very thought-provoking as a young boy.
I concur. My people don't communicate very well and have no real team spirit. The stand up meeting helps to alleaviate that.
Of course, people who "don't communicate" and "have no real team spirit" are not fit for Agile and stuff, but that's another story :-) In my case, Agile, having frequent deadlines and frequent stand up meeting, helps me a lot to maintain a soft pressure on people. I don't like that (I'd prefer a team of super motivated people), but that's the best I can do. Having a more formal method like RUP wouldn't help because the analysis/coding cycles are too long. Having a kanban could help a bit, as Agile with such a team feels a bit artificial.