837 karma · joined August 16, 2007
For perspective.. I remember downloading and installing Linux off floppies. That sucked too, especially with bad disks or download errors, but it was less frustrating than this.
It seems like they don't improve it because iCloud seems like it works smoothly, and they get an on-going profit stream out of it. The process was so brutal I almost broke down and paid for a ton of iCloud storage.. but didn't because getting lots of photos out of iCloud is also painful.
- 50mb is >> total cache on most systems you'll use.
- This is far from the only function you need to optimize.
--> The best performing algorithm in a micro-benchmark can be sub-optimal in real use.
- You've got a fixed-for-the-day list of <10k <9 letter unique upper-case strings
- The bulk of them you'll process are <= 4 letters (CMCSA/CMCSK be damned).
- The median is 3 and the mean is <3.6.
- The symbols aren't anywhere close to uniformly active
--> Benchmark with a typical data stream, not a uniformly distributed one.
- You're likely not even considering trading most of them.
- How much better is your algorithm than the obvious binary-search?
- Or worse -- plain'ol front-to-back linear search?
- Are you sure you understand 100% of how the computer works?
--> Yes? Mail a check to Goldman and find a better line of work.
--> No? Test it with a quick benchmark.
- Is binary search cache friendly?
- Why not? Plot out the memory accesses if need be.
- What's wrong with taking a linear-interpolated guess?
- Is that cache friendly? .. or could it be?
- When your guess misses, what's that cost?
- Can you think of a cheap modification to lower that cost?
- Is the distribution really linear?
- What's wrong with a "perfect hash function"?
- Does it need to be perfect?
Incidentally, hardware wins at this function. You can just generate logic to do all the if symbol == "XYZ": return 3's in parallel.On the other hand, did you know you can turn off the garbage collector on CPython?
Low-latency trading though costs everyone. Nobody actually needs anything faster than a fill in a blink of an eye. The only people who think they do really need smarter match engines or to stop taking advantage of people
Note: I'm not making any statement about the possible awesomeness or lameness of the system. All I'm saying is the parts aren't expensive.
Not all systems need to have the same level of security though, nor do they all need to assume their users are ignorant.
The secret username can be associated with a display name, real name, physical/email addresses, etc. You can use the latter to look up the former along with a password/probing question/ping (email, text, phone) to retrieve the former.
It seems to make more sense to me logically anyway: I'm not anonymously entering a secret club with a password. I'm identifying myself, and based on my identity I'm allowed to do something.
That said, I don't really need recommendations as to what to try, I just need something that doesn't present me with a zillion clearly crappy options (and this applies to Apple's too.. Stupid-compiled-pamphlet-of-information I'm looking at you). After eliminating those, there's not so much left in the Android Market that I can't go through it in a reasonable amount of time.
These early numbers show up to 60x speed improvement
over the current version of Google Chrome.
Hm... I don't need my browser to be 60x faster if it can't figure out that (60/1) < (35/.5).Taking the risk before knowing there's a reward is probably the riskiest way to go. For me though, it's fun.
To be fair, that was my way 5 years ago. I guess now I try to make sure everyone's working together with similar risks and rewards. I work better with people than against them.
My present way isn't necessarily the smartest or most profitable way to go either.
Suit: Don't waste your time trying to work out what you expect the schedule to look like. Figure out what they can bear, and negotiate a deal that guarantees you get most of the money they can spend with the least risk to you. Your liability is in what you promise contractually, so hire a good lawyer to help you minimize your legal liability.
Me: Race to do the project before negotiations need to wrap up. Then write a beautifully detailed schedule with visible checkpoints, negotiate with confidence, and deliver checkpoints slightly a head of time on average. Use a little of your spare time to meet their mid-project change requests and build in a feature that tickles your interest and will delight them.
Coder: Negotiating a schedule is like negotiating how long it'll take to produce a baby. It'll be done when it's done, but if you get me a girlfriend I'll get it done faster.
Software Engineer: Charge your customer a standard hourly rate to record their requirements and break them down into function points. Estimate function point complexity and risk based upon your organizations prior prior projects function point productivity. Schedule a week with the customer 3 months from now to present your analysis and estimates including confidence intervals and costs in each scenario.
Try reading :he instead of HN. I've found far more in its built-in docs than I do with google or books anyway.