Suggestion to make it with lesser scope, but with verifiable contracts, so you can automatically verify that it was done. I'd actually use that service myself :)
For example:
1) Run 10K on Strava.
2) Solve programming challenge on Codeforces/TopCoder.
3) Pass coursera class.
4) Have X bitcoins on your wallet
5) Check-in in some specific location.
Online accredited bachelor degree in CS, it seems there is a lot of resistance in this area too, why it takes so long for Coursera/Udacity to implemented this?
On a related topic, I was looking for a rental car and was googling related keywords, and then 30 minutes later chat bot from some car company messaged me on Facebook. Can someone explain how it is possible, how did they know my Facebook account?
I wish they would issue credit cards soon. Every time I pay with credit card while travelling, my bank charges 1.5% for each transaction, in addition to bad conversion rate.
If you're in the UK, have a look at Monzo. Not a credit card, but very useful to use abroad. They don't charge a transaction fee when abroad, and the currency conversion is tracked to the MasterCard rate (whereas other providers tend to do card issuer + their own cut on top).
I'm a Monzo user and really unhappy to find this out. I spend most of my time in mainland Europe and the free transactions and no ATM fees are the only reason I am a user.
Can anyone comment on how Revolut compares? One pain point is that I always get asked if I want to pay in GBP or EUR, or even the cashier selects without asking me, in which case I get massively ripped off if they select GBP. With Revolut will the card look like a EUR card whilst travelling in the Eurozone?
I just used a Revolut card during a two week trip around Iceland. It worked fantastically well. Iceland's interesting as some places charge in Krona, some in Euro, but in either case I was charged the live mid-market rate to the GBP with no extra spread or fees.
You're also allowed to withdraw roughly £200/month worth of cash (any supported currency) without any fees. Beyond that there is a charge, I can't remember how much offhand but it's not too crazy.
The one problem I had with the card was at their petrol stations. Most are self-service and require the card to be pre-authed before the fuel will start being pumped. Revolut doesn't support this so I had to use another card or find stations where I could pay in store.
It's only for ATM withdrawals. If you are in first world country where card payments are well integrated this is not issue for you. Granted, in many developing countries you need cash so this will be issue.
I'm from EU (Slovakia) and not that far from Germany but surprisingly I have never been to Germany (not counting transit when I traveled through Germany in a train/bus or had to change flight) for some reason. I have always wanted to go but somehow I find places I want to go to more all the time so my travel to Germany keeps getting pushed down the list :D
… and bakeries, my god. I haven't seen a single bakery that accepts cards (EC or credit). Wanna buy €30 worth of cake to bring to work for your birthday? Nope, cash only.
From my experience though, Monzo has been much more reliable when traveling. It works in much more places in Asia for example. I traveled around Asia for a while before with my TSB UK debit card and it was getting declined almost everywhere, even in big cities like Hong Kong or Taipei (and yes I called TSB and told them I will be traveling Asia for few months in case they have some restrictions on debit cards in place, didn't help at all).
It got to a point I had to open local bank accounts and do wire transfers from my UK bank account to local bank accounts and use the local debit card. I just couldn't get my TSB/Lloyds card to work anywhere except high end western shops like Apple Store.
Hmm, that's surprising. I have traveled a lot in Asia (never to Australia though) and from that experience I know a lot of Asia is still cash based but Australia I'd expect every coffee / convenience shop to accept Visa/Mastercard.
That is fascinating. As someone who lives in Sydney's outer suburbs, I simply never need cash. For anything. It's almost the exact opposite of Germany, where I lived for most of the last 5 years.
For sure many coffee shops and convenience stores accept card, but I definitely find myself having to pay cash quite often (just for instance, the laksa place on Hunter street).
From Dec 18 Monzo will start charging fees for cash withdrawals abroad though. Which is relevant for people traveling to cash based countries (many in Asia) where cards only get accepted in high end stores and restaurants.
Depending on where you are from there might a better alternative.
In Europe, you have Revolut, N26 and Monzo which gives you a prepaid or debit MasterCard. Instead of the higher foreign transaction bank fees you will get either Mastercard’s or interbank rates, which is so much better than your traditional bank exchange rate.
If you google stem cells + <disease name> you can find <promising> research for almost any disease, can anyone explain in simple terms, what is so magical in stem cells therapy?
My layman's understanding is that stem cells have not yet 'differentiated' into a specialised cell type which makes them useful for many different types of treatments.
Edit: so you can use them to create "healthy" versions of whatever you need.
I don’t see what recursion/loops have to do with constructing output or dividing and conquering input.
For one thing, all loops can be trivially unrolled into a tail-recursive function that most languages will trivially transform back into a loop. Clearly these transforms have no bearing on the nature of the computation.
If asked such a question, I’d probably just use goto. (Bonus points if candidates use a goto on one part of one question I ask, since it saves a minute or two of whiteboard cut and paste, BTW).
> For one thing, all loops can be trivially unrolled into a tail-recursive function that most languages will trivially transform back into a loop.
That there's a transform between them doesn't make them the same thing, it makes them possible to use for each other in programming. You even seem aware that there's still a distinction -- you're just not sure why it matters.
> Clearly these transforms have no bearing on the nature of the computation.
Depending on the nature of the job, not understanding why you can transform between loops and recursion is big points off. (You can go back and forth because while not the same thing, they're duals, which means you'll be able to find similar structures in both for certain classes of problems.)
That's why you need to understand what induction vs co-induction is -- so you can prove things about the transforms between them, such as that it doesn't impact the result to change the algorithm in a particular manner.
Similarly, you're only talking about really simple inductive or recursive behaviors -- what about complex cases? Are all inductive structures transformable to co-inductive (or the other direction)? What does it do to computational complexity when you make the transform?
That there's an uninteresting kernel in the transform doesn't make the entire transform trivial -- it just means you're only used to working in the "well-behaved" portion of it. (And that there is such a kernel is itself an interesting fact about computation!)
> Clearly these transforms have no bearing on the nature of the computation.
Just to reiterate how off-base I find this comment: there's entire huge collaborations in mathematics and academic computer science exploring the nature of those transforms because understanding how they can be applied is essential for moving forward with things like mechanically/formally verified software.
I get that not everyone is going to know that distinction and its impact -- but the distinction absolutely matters. As you astutely point out, it's used by compilers routinely -- and they certainly need to be sure the transform is well-behaved in the cases they apply it!
You said that recursive and iterative computations are fundamentally different. I pointed out a class of recursive and iterative algorithms that are equivalent to each other. That class disproves your statement.
I'm actually not sure what you're getting at -- the logic you just presented is "the primes and evens are the same set of numbers because both contain 2".
Assuming you mean the and not a, they're still not the same, as equivalent algorithms need not be identical. Example: 5-3 and 1+1 both compute the result 2, making them equivalent but non-identical algorithms.
There's a way to transform any subtractive recipe for a number into an additive recipe so they're equivalent classes, but addition and subtraction aren't identical as operations.
Why do you think it isn't there? Actually I bought Apple watch series 2 for exactly this reason, running without a phone. It has everything you need (GPS+heart rate monitor+music), and you can even have podcasts with third-party apps.
Wasn't the whole article about how standalone podcast apps on the watch aren't possible? What 3rd party apps allow playing podcasts on the Watch without iPhone?
Watchcast has the same issues Marco brought up. Developers should not condone Apple's overly-aggressive platform limitations by sacrificing good UX just to release a feature.
That's a good (and presumably unintentional) demonstration of the problem - the European Union is a hugely complex, very political beast and the right answer to that question depends heavily on your political frame of reference and priorities. Even just the free trade-related aspects can be accurately described either as giving up control of our own laws and regulations to a centralized bureaucracy or enabling trade by removing non-tariff barriers depending on how you want to frame them - since almost all non-tariff barriers other than differences in regulations are banned by WTO rules they're the same thing, one description just emphasises the benefits and the other the downsides. (I've even seen a certain FT writer who insists he's not pro-EU use both framings - the positive one when discussing the EU and the negative one when discussing post-Brexit trade deals outside the EU.)
My father is 59 and started to learn programming half a year ago. So far I was giving him algorithmic tasks to learn basic language constructs, he is now comfortable with basic Java and is able to solve most of easy problems from programming contests.
And idea where to go from here? I don't think solving more difficult problems (like that involving algorithms or creative thinking) would make sense at this point.
I tried to give him simple GUI project (tick-tac-toe in Swing), this kind of worked with lots of my help, but of course it was badly designed with model-view mixed, and he is unable to understand design pattern concepts at this point.
I guarantee you that if your father is 59, that at some point in his life he's found a way to be more efficient at whatever his workload was at the time than a raw beginner. Design patterns are exactly that: patterns of efficiency.
The terribad thing about them is that they don't often explain why they are more efficient than the the naive path.
I'd recommend that you pose a series of tasks to your dad, and work with him to build them out, rebuilding them several times if necessary, to start that deep understanding of the art. Adopt a posture that this work is critical, and that you are working together. You'll both learn why as you do it.
Give him a real problem to work on. It doesn't have to be big, but it has to be directly relevant to his life. Solving toy problems for fun is a good start, but to get further engagement, you need a reason to be doing x, y, or z.
For example: 1) Run 10K on Strava. 2) Solve programming challenge on Codeforces/TopCoder. 3) Pass coursera class. 4) Have X bitcoins on your wallet 5) Check-in in some specific location.