HN user

Newtopian

63 karma
Posts0
Comments19
View on HN
No posts found.

"Having never lived in a truly big city I don't really understand why would anyone walk to anywhere, as such more density necessarily means more traffic".. Ok I filtered a bit with what I actually understood... still, you should try living in a really big city, preferably outside of north-america and see what "walkability" really means in it's natural environment.

Waze Carpool 8 years ago

We had a similar service 20-30 years ago operating mostly out of Quebec and Ontario (Canada). Sadly regulators did not see it very kindly (http://www.cbc.ca/news/canada/province-stops-allo-stop-1.211...). Story does not say though how thik was the kraft envelop that was exchanged, if there was ever such exchange, or was just an overzealous civil servant. The service had been operating for some time already and was quite successful and popular. That decision came out of nowhere and the service was forced to stop operations. All this well before smart phones apps and the web... well technically the web was present but the service had started well before that and was mostly operating with phone calls to an actual office and bulletin boards and such.

For Allo-Stop yes there was exchange of money but the amounts were such that it would be barely more than the split expenses for gas for the trip.

Wonder if this will be allowed, seeing how Uber is being forced to get taxi licences and such for it's drivers, I doubt this will go very far around here.

If you annotate your types in python with the appropriate type hinting comments I find I get quite satisfactory code completion and error detection from my IDE (pycharm). Perhaps not as much as VisualStudio might do for me with C#, true, but then again I don't use them for the same thing either.

Each task has it's set or preferred tools, to write a quick command line tool to bridge a gap between two systems and automate our workflow a bit further python is just perfect for me and much more productive than C#. However to create a system with a team of dozens spanning the whole skill gamut I feel much more comfortable having the compiler as an active member of my team policing the architectural vision for us. In which case C#/Java will win hands down.

If however speed and responsiveness are prime worries then I'll roll up my sleeves and bring C/C++ in. sure my productivity will take a hit, it will likely be harder to maintain as well but if this effort makes the difference for my customers in their productivity then it's well worth the investment.

Often times the final system will be a mix of all these technologies, each used where it's strength shines to maximise their impact.

Yet the technology is worthless when faced with inadequate code structure and system architecture. Coupled convoluted code will be a PITA no matter the language used.

A function should be X Lines long... but no longer

where X is any number of lines necessary for implementing the ONE thing that function should be doing

Any attempt to replace X with a concrete number will invariably sacrifice simplicity for the sake of that number.

Can you make a build in one step?

  vs
> Are all builds handled automatically by a Continuous Integration server?

Are two very different indicators. And both are, least in my mind, equally important. One measure the holistic approach to source code including everything necessary to produce a functional system. Checkout, build, use.

The other is a measure of how much care is given to the overall process of software engineering. How much automation the tests receive, how much attention is given to deployment etc.

Software construction must be tied intimately with the software code itself for thousands of good reasons. Too many times have I seen a team jump onto the CI bandwagon; abandoning all notions of build scripts to let this new shiny thing perform it's magical incantations to build and package the system. A checkout alone is no longer sufficient to gain a fully functional system one can test locally, the CI becomes in an integral part of the software code but without the process the rest of the code receives (reviews, versioning, source control etc).

With the multiplication of commercial tools flaunting how easy it is to automate all this that one does not even need a programmer anymore, I fear software construction will become harder and harder to do without the help of these external systems.

So yes, do team have a single operation to build (that is construct) a workable system is still very much relevant.

And yes, do team use continuous integration to automate their test and delivery process is also important.

Disposable goods are not cheap, they are in fact very expensive. They are perceived as cheap because a very large portion of the true cost is hidden, externalized. Creators have no incentive to create things that are easily recyclable because they are not responsable for what happens to it at the end of it's life. To close the loop one must integrate the economics of garbage management as an integral part of the product being designed on equal footing with production, distribution etc. Taxing pro-rated to the recyclability of a product, tax break on repairs, second-hand markets and other means to give a product a longer life. Make practices like planned obsolencence illegal, criminal even. I'm no expert but there are a great many solutions, implementing them however might require a lot more political good-will than most of our leaders are ready to spend.

Pardon Snowden 10 years ago

What's worrying is not so much that the petition to be considered as Mass surveillance... but that the petition coupled with data obtained through mass surveillance. Who knows what kind of flag it will raise signing this petition will have when coupled with a ton and a half of seemingly unrelated data.

What recourse one has to proove wrong some top-secret algorithm once said flag has been raised ?

Paranoia is extremely contagious and often countered with more paranoia.

There is one reason that can make it harder for "experts" to teach a subject that others may teach better.

Best I can explain this is from a personnal story. I used to do rollerblade... I mean a lot of it. It was my main mean of transportation ans I could do easily 20-50km per day. Obviously after a year or two of this I got pretty good and many of my friends would ask me to teach them how to do it. And I did, relatively well, they got the hang of some subtelties of breaking and turning.

However, I noticed that as time went on, I found it more difficult to teach it. It got so natural for me that decomposing the movements in their atomic parts was difficult.

I cound identify two factors that contributed to me going from a decent teacher to a lousy one while at the same time I went from a decent rollerblader to a pretty good one.

For one, the abstraction went from a concious one to a subcouncious one. I no longer had to think about doing it right, I just did. Second I had not taught anyone for a while, so I did not keep in touch with how I built these abstractions in the first place. Both together contributed in me forgetting how to build these abstractions.

To teach one does not have to be a foremost expert in a field but just ahead of the target audience to be in control of the material they need to absorb. The greater the difference in knowledge between the target audience and the teacher the harder for the teacher to "bring down" his thaught processes to their level. That is unless you 1 - were teaching the whole time between getting from pretty good to expert. This way you've kept contact with the different steps and breakdown you'va had to go through yourself while learning. Here is probably where most have had their bad experience when an expert tried to teach them but miserably failed at it. 2 - are a natural pedagogue, in other words you are a genious at making things around you look simple. I think Richard Feynmann would be an stellar example of this.

That being said, as a corrolary to point 2 above, there are people that are just bad at teaching reagardless of any other factors.