magice's comments

magice | 7 years ago | on: Eight Futures of Work: Scenarios and Their Implications

So, according to this, the assumptions are: 1. NO NEW TAXES!!!!! 2. No safety nets! If you are out of jobs, you are ed. 3. Thou shall work 40hr a week. 4. Governments can only act for/against immigration.

All of which are, obviously, interesting. I mean, even today, people are asking "the rich" to pay more taxes. Even today, people are looking for way to help their fellow human beings (in US, the current fights are cheaper education and protection for pre-existing conditions).

So, imagine a future with higher taxes and basic income. In that case, the whole shebang about "competition for jobs" looks really different. I mean, if you are guaranteed livable income, low-skill jobs will be the first to go (surprised! Raise your hand if you like to scrub toilets for $7/hr). If you are guaranteed livable income, skill acquisition becomes much less risky.

But of course, read their lips: no new taxes (and thus no new social safety nets whatsoever; don't you know that if you bail out the poor, society will disintegrate into chaos?)

magice | 7 years ago | on: Performance Reviews Are a Waste of Time

Hmm. Yet another day, yet another bashing of performance review. Very sad.

I will readily agree that most common systems unnecessarily bundle multiple high stake issues. For example, most people (me included from time to time) stop listening past "you get a raise of x%" in an annual review.

However, 1 wrong thing (i.e. unnecessary bundling") doesn't invalidate whole whole process.

For example, most performance processes involve goal-setting (I don't know about you, but I find that very very appealing), performance evaluation against goals, soft skill review (i.e. how much do you stress out your teammates?), and plan of action for the next year. Have I received career changing advices through performance review? You bet I have. For example, I pick software engineering because of distribution of my grades (performance review at K12 level!). For another example, don't make stupid & potentially misunderstood jokes.

Sure, continuous & informal feedbacks are important. However, so are formal processes, including feedback and evaluation. Have I improved? How the hell would I know if I don't have things noted down? Should I be promoted? How the hell would another person know if there is no papertrail of evidence of excellence? What am I good at? What role should I play in this team? How should I grow? All of these questions require careful contemplation over behaviors and performance in a long period (a year or at least a few months). Maybe all of you Bill Gates are so smart that you don't need them. But I am mere mortal, and I love feedback.

So, for the love of craftmanship, dedicate time and resources to performance review. It will only matter WHEN YOU MAKE IT MATTER. That's the thing. You can drive the best car the in the world badly if you hate driving. Similarly, if you think that you are so smart that no system can properly evaluate you, well, the system will fail. To be more precise, you fail the system.

magice | 7 years ago | on: How to get rich without getting lucky

Man, I disagree with about everything from this opinion. And I hate that I have this urge to write out the point-to-point rebuking:

+ "Wealth is having assets that earn while you sleep." : Really? Are we playing the "let's redefine everything so that it works out like I say" game now?

+ "You’re not going to get rich renting out your time." : the top 1% of Americans are dominated with doctors and lawyers who, guess what, rent out their time.

+ "You will get rich by giving society what it wants but does not yet know how to get." : The concept of "first-mover disadvantage" should really solve this. Look, Palm produced a smartphone, and Apple also produces smartphone; Apple make trillions, Palm died. The society clearly want smartphone. Why did Apple succeed but Palm failed?

+ "Specific knowledge is knowledge that you cannot be trained for. If society can train you, it can train someone else, and replace you." : please see above for doctors and lawyers, whom are all trained by the society. Plus, if other humans (i.e. the society) can't train you, who does? God sends angels to you?

+ "Specific knowledge is found by pursuing your genuine curiosity and passion rather than whatever is hot right now." : And if you are interested in, says, building rafts (or horse-drawn carriage, or any of these things), you will get rich so fast that your stomach will starve.

+ "Building specific knowledge will feel like play to you but will look like work to others." : sigh. Right.

+ "The most accountable people have singular, public, and risky brands: Oprah, Trump, Kanye, Elon." : Ummm. One, Trump brand and accountability have adverse relationship. Two, some of the most rewarded people on earth don't do business in their names. Bill Gates used Microsoft, in case you forget. Corporations exist for a reason.

+ "Become the best in the world at what you do. Keep redefining what you do until this is true." : Yes, and the best vendors always win! And Windows is the greatest OS on earth! And Facebook is the best social network! You get my sarcasm.

So, conclusion?

My father taught me this, which I believe to be true: small wealth is by hardwork, great wealth is by Heaven. If you want to be affluent, be industrious at work, be acceptable to society, be prudent in finance; and you will eventually get there. If you want to get richie rich rich, well, pray (plus all of the things for little wealth). This kind of "I get lucky now I will give stupid advices" things really should go away.

magice | 8 years ago | on: Is there a fix for impostor syndrome?

Frankly, are we overthinking this?

IMHO, 99% of human emotions have reasons of existence. It just makes evolutionary sense (or, if you prefer, it helps us serve the intelligent maker(s) better). Maybe we SHOULD have impostor syndrome, as well as shyness and awkwardness and diffidence and stress and whatnot. Maybe we should EMBRACE them instead of treating them like unwanted baggage of lizards.

One of my memory on this: one night (2 yrs ago?), I woke up with cold sweat, with a terrible dream: I just got paged and I didn't even know where to start debugging. It's horrible time.

You know what happened next? Next few days, I compiled a list of "essential documentations" (plus all the juicy links for debugging). On-call rotation came. I did get page. Different from the dream, I did not forget all of the crappy code (that I had lovingly written). However, the list helped immensely. And whenever my teammates had on-call cold feet, I shared the list. Life rocked. (for a while....)

I was told that we humans freaked ourselves into actions. Deadlines press for action. Pressure elevates the flow and sharpens the focus. Challenges inhibit daydreams and sweeten successes.

So, again, here is my take: why can't we just embrace impostor syndrome? After all, we need some fire on our behind of get our acts together, no?

magice | 8 years ago | on: Scuttlebutt, a Decentralized Alternative to Facebook

I see that you don't understand the problems raised.

About accountability: if YOU are compromised, your friends' data are compromised, and vice versa. Are you saying that the median security skill of your friends are higher than Facebook? Because any of them can leak your data unintentionally.

About encryption: it's freaking useless in this case. Remember, some people fall for Nigeria prince scam. And what happen when their keys are compromised? See above.

That's the crux of the argument: you can't guarantee that your precious friends and family can safeguard their keys (in fact, I doubt my personal security practice is remotely as good as FB or Google or Amazon or MS or Apple). In that case, by the virtual of distribution, your data is copied everywhere, waiting for any key to compromise.

magice | 8 years ago | on: Apple Plans to Use Its Own Chips in Macs from 2020, Replacing Intel

I sometimes wonder why Apple would do this. I mean: i) the end-users frankly don't care. Seriously. ii) 90% (if not 99.99%) of dev would not (be able to) care

I mean, I doubt if more than perhaps 5% of Apple internal dev can take advantage of "tight integrat[ion] of new hardware and software." This integration probably takes form of either some specific app (think Pixel camera phone), some specific library, or compiler optimizations. The first one (specific app) can be accomplished much cheaper through add-on chips (guess what, that's what Pixel does). The 2nd and 3rd can be done much more effectively through a generally available chips (like, well, Intel's chip) since more people, from vendor's engineers to researchers to random open source ninjas, would be able to experiment and help out.

In other words, from a purely technical point of view, there is absolutely zero reason to do this. Whatever happens, Intel is among if not the best capable chip producers. And Apple is not "disrupting" (i.e. focuses on unaddressed aspect), but merely directly competing with Intel's core competencies. It's not Amazon entering details against WalMart's. It's Target's competing against WalMart's, except they don't have Target's existing competencies. Which, again, makes no technical sense.

On the other hand, if they want to completely lock in users......

magice | 8 years ago | on: Towards a world without Facebook

How on earth is blockchain going help? Seriously! There is no conceptual situation, in theory or practice, that blockchain will improve upon Facebook situation.

Generally speaking, Facebook is bad for about 5 reasons: 1. Privacy: unexpected people see your data (legally). 2. Right-to-be-forgotten: your data sticks around longer than expected. 3. Data Security: your data is stolen from your data keeper. 4. Cyberbully: Unwanted data surfaces without your control 5. Fake news: wrong information is fed to you.

How do blockchains help with ANY of these? 2. is certainly getting WORSE, since blockchains never forget. 1. is probably getting WORSE, because most blockchains are public. 3. is getting SO MUCH WORSE, because so many other people will now store data, and compromises in any of them will expose everything (think African Prince scam). 4. will become impossible to solve, because the data is going to be public and cannot be deleted, and because all of those anonymous mechanism will ensure that the culprit is impossible to track. 5. won't be impacted.

So, tell me, how the hell do blockchains help? Seriously.

Look, I know blockchain is a cool idea (yay! no need for central database!). However, central database can help in many situation, especially in anything involves history, limit of access, and regulation.

magice | 8 years ago | on: Advice for Coding Bootcamp Graduates

"if you take one of the 6 month programs, you’ll get a similar amount of experience as in an undergrad curriculum."

I am sorry, what?

Look, I know that people are all about "disrupting" the world. But, for the love of hard-work and whatever goodness left in your heart, can you please stop insulting people?

I once worked as TA for an introductory class in Computer Science. It takes about a semester for students to wrap their heads about what is "programming." It takes at minimum another semester of honest to goodness to absorb the fundamentals of computer science (incl. formal languages, basic complexity theories, and basic algorithm). It takes at least another semester to work through how the computer (you know, the silicon?) works.

Of course, I have only talked about the theory side the programming world. A good CS program also needs to introduce at least 2 (if not 3: one introductory, one system, one industrial) programming languages, plus at least 3 paradigms (corresponding the languages above: functional, system/procedural, and OOP), plus some discussion over the industry. And they should ensure that the students get stock overflow at least once, infinite loops at least a few times, and (on the verge of?) kicking their classmates/teammates at least once on some stupid bugs.

More challenges: a brain isn't a hard drive. Cramming is about the worst way possible to induce understanding. All of these above need time and space to work themselves through various layers of consciousness.

(BTW, all of the above are just the basics; if you notice, I have not brought up any "sexy" topics like networking or cloud computing or AI or what-have-you)

Imagine for a minute: what happens if a person walks up to newly minted chemical or mechanical or even electrical engineers and tells them that their 4 years of education can be done in 6 months. What would the new engineers think? Well, here is the nice version: such "disrupter" is laughed out of the room. The less nice version involves some honor-defense beating. The pragmatic version probably involves some lawsuits over how such claim is a fraud and may endanger the consumers (not to mention co-workers).

And yet, here we are. Software engineers, who spent years to acquire immensely complicated skills, are forced to sit through and agree with such insults, then to give comments like "oh yeah, maybe you should learn more about big-O notation." You know what I think about big-O notation? It's about as useful as calculus. Remember, doing something twice does NOT cost as much as doing it once (and this is before factor in goodies like cache miss and waiting for OS and whatnots). It's like push-ups: good mental exercise, but not actually used. So, telling someone "you need to learn big-O notation after 6-month bootcamp" is like saying "learn football for 6 months, add some push-ups, and you are ready for NFL." Am I the only one finding this ridiculous?

magice | 8 years ago | on: Why Microsoft Is Ruling the Cloud, IBM Matching Amazon, Google Is $15B Behind

I completely agree.

Microsoft and this article try very hard to fuzz the meaning of "cloud computing" to make their numbers look prettier. If we start counting Office 365, than Gmail should also be counted, as is Amazon Prime related products (Cloud Drive, for example). Why stop there? Isn't the whole Google search on "the cloud"? Isn't the whole Amazon retail shopping on "the cloud"?

Counting only AWS and GCP against "Microsoft cloud" and salesforce is more financial marketing than anything else.

magice | 8 years ago | on: Why are bones not made of steel? (2010)

Extra functions of the bones cannot explain fully his question.

If it is possible to for the body to synthesize whatever material, it can create a frame for the bones, then wrap that frame in bio-active layers. Basically, a skeleton for the skeleton. Given the intricacies of other body organs (think the sizes and complexity of the eyes, says), such is not too hard of the task.

In fact, this probably answers all other concerns raised here. Corrosion and electric-conductive? A bio-compatible wrap (similar to enameled steel) solves that. Grinding between different bones? The ends of the bone can be built out of different material than the fragile length.

Furthermore, none of these concerns matter for, says, horns, especially the tips. Evolutionary speaking, it makes complete sense for animal to evolve steel-tipped horns: these steel parts hurt no one but their enemies.

(also note, carbon fiber avoids a lot of these bio compatibility issues).

In other words, animal kingdom did not have metal parts because synthesis is impossible, rather than because of disadvantages of metals per se.

magice | 8 years ago | on: Cortana is really bad

As much fun as it is to bash Microsoft and Windows (although, let's face it, Windows has been so much better in the last few releases), I personally think Microsoft, its engineers, as well as its PM deserve (some?) empathy rather than anger for this.

I mean, I can almost imagine how this thing happens. Someone somewhere sometime said, "hey, wouldn't it be cool if xyz?" Someone else replied with "oh yeah, and it's not THAT hard!" And the PM is probably like "well, low risk, too, so whatever you wish."

Then, the feature is thrown together, with or without explicit planning. It probably attracts way higher attention than expected, because either it is hooked into mechanism intended for real important stuff or it can be demoed so nicely (imagine: if you are the developer doing demoing, you probably have the damned tracking number ready for copy and paste). It does not support all operations, because no one looks at it twice after some brief "yo, so cool" moment.

The annoyance may or may not have a bug associated with it somewhere. But let's be realistic. If you are a PM, which one would you choose: "some nobody-care feature is not easy to use" or "if you stand on 1 leg, jump 3 times, press the code of Mordor, Windows seg faults itself". The 1st one is vague and, let's be frank, not that big of a deal. The 2nd one is a big deal: data loss and all manners of unspeakable conditions may break loose. So, any PM would do the 2nd bug first.

I mean, seriously, how would you ensure this tiny corner (which a comment below actually says, "I did not realize it exist") is "easy to use"? No automation tests can catch it. Demoing (again, the developers know how to use it and probably come prepared) won't catch it. A/B testing probably won't even get to it. Its bugs (except if that bugs involving Start menu crashing down) probably have priority between "when I have better work-life balance" and "when the machine is capable of fixing its own issues."

--

I will agree that all of these don't justify for a shitty experience. Shitty experiences, no matter how small, are shitty. But then, even LaTeX, perfected as it is, annoys me once in a while. Even Emacs, glorious as it is, has "I swear I will switch to Eclipse" moments. And Scheme has about 70 different ways of doing OO programming, none of which really works for my little case.

So, maybe a bit more love/understanding? It probably helps your (i.e. the users') blood pressure anyway.

magice | 8 years ago | on: Against an Increasingly User-Hostile Web

This is a thought provoking read. I, too, have been meditating over this matter a lot.

Unfortunately, though, it seems to me that people generally adopt one of the 3 camps: * Don't care (that is, most users until their internet slows) * Business of humanity is business. Anyone disagrees with the previous sentence is socialist/communist/hippie/devil-spawn. * "GIVE ME LIBERTY OR GIVE ME DEATH." Ready to leave Google/Facebook/AWS at moment notice.

I mean, it's important to know what bad large firms have brought forth with the internet. But it's equally important to acknowledge what they (and commerce in general) have enabled, as well as what advantages they possess to users in everyday life.

To take a simple example: the article ends with a question: "Do we want the web to be open, accessible, empowering and collaborative? [...] Or do we want it to be just another means of endless consumption[...]?" Look, about 80% of the time, I do want mindless consumption. Maybe a stupid sitcom on one of the streaming service; maybe some cheesy pop over YouTube. I need that. And, you know what, the current arrangement is damned good at deliver that kind of consumption.

Thus, condemning the status quo wholesale is either useless or extremely risky. Look, the status quo is status quo for a reason. How did Amazon get so big? Not because they send out goons to smash windows of local bookstores! They get big because they provide genuine value (large selection, stellar customer service, fast shipping, etc.). Google got so big because they are very very good with organization of information and extremely good with matching customers and advertisement. Apple got so big because they produce(d) beautiful products. Facebook got so big because they connect people together. Uber got so big because they make taxi-ing so convenient (and cheap). These businesses got there for good reasons.

Except the case where you find way to provide the same (or at the minimum almost the same) value with free and open ecosystem, status quo remains. Sure, you can host your own fonts and pictures and videos, but then they will be served from your hosts. Have you invested billions of dollars in gateway to be near your customers? Have you invested many hundreds of engineering-years to test over as many browsers as you can find? And remember, you are probably a power user of the internet. How about everyone else? Does everyone need to learn how to administrate GNU/Linux to post views of the world?

Without providing the same value, revolutions tend to fall short of their promises. Take American Revolution. They proclaimed "All Men are created equal," killed a bunch of people (many innocent), then proceeded to keep slavery anyway. And that's one of the most successful revolutions. French Revolution produced an emperor to replace a king. English Revolutionary failed. Paris Commune failed. Russian and Chinese Revolutions were followed by famines. And so on.

Imagine the internet without Google, Facebook, and AWS. You know what will happen next? Somebody else will become Google, Facebook, and AWS. Look at China: sure, they are independent from Google and Facebook; and they have Baidu and Weibo. Google, Facebook, Amazon, AWS serve important needs. You can't not have someone like them.

In other words: all of these protests are useless and/or harmful without careful consideration of the underlining economics and usage. And I am not sure if anyone has gotten around to figure out an economic model for free web yet.

magice | 8 years ago | on: How the Frightful Five Put Startups in a Lose-Lose Situation

Independent news sources provide investigations critical to the state, which state run media do not. It's like GNU/Linux or Android to Windows or iOS. They provide excellent value as well as competitive advantages.

SnapChat vs Whatsapp? well.....

magice | 8 years ago | on: How the Frightful Five Put Startups in a Lose-Lose Situation

I think this article completely bypasses the root causes of the issue in order to paint Silicon Valley dominating businesses in the worst light possible.

Look, the real issue is simple: all of these "web startups" are not very innovative. All of them are roughly the same: ever so slightly more novel way to deliver roughly the same set of data to users in exchange for app or token of money. How is that "ground breaking"?

Thing is, when everyone is doing roughly the same thing, which costs perhaps a few engineering months to build, how can startups ever compete with the big guys who are hell bent on ensuring their success? It's like trying to open supermarkets to compete with Walmart, or building gasoline car to compete with Toyota, except it's cheaper for the Big Five to copy than for Toyota, because the media (information) is inherently more traceable.

I remember when Windows 98, XP, Google, Gmail, Prime (and Uber, eBay, and paypal) came out. They blew everyone's mind. They changed how we work and live. What's so hot about SnapChat? I mean, it's probably ever so slightly more entertaining than, says, Hangout or WhatsApp, but it's just minor tricks on top of roughly the same set of features. Of course these competitors will drive it out of the marketplace. It holds no long term competitive advantages.

There are businesses that don't deserve to die. For example, a local store provides not just goods, but a community center and an identity for a small town; it gives more value than mere commerce. The decline of these should alarm us. On the other hand, some businesses do deserve to die. And lack of long term advantage, lack of innovation, lack of additional value sounds exactly "should die".

magice | 8 years ago | on: Is Uncle Bob serious?

>Yes, but they increase delivery time problems and developer time problems.

That's purely guesswork. Seriously! My observation is that as the size of the project grows, type system switches from hindrances to actually speed up development and save developer time. Ever try to grep weakly typed system for name definition? Yeah, you don't have that problem in strongly typed system. Lots of other reasoning are easier to do with types than without.

magice | 8 years ago | on: Is Uncle Bob serious?

The current state of software safety discussion resembles the state of medical safety discussion 2, 3 decades ago (yeah, software is really really behind time).

Back then, too, the thoughts on medical safety also were divided into 2 schools: the professionalism and the process oriented. The former school argues more or less what Uncle Bob argues: blame the damned and * who made the mistakes; be more careful, damn it.

But of course, that stupidity fell out of favor. After all, when mistakes kill, people are serious about it. After a while, serious people realize that blaming and clamoring for care backfires big time. That's when they applied, you know, science and statistic to safety.

So, tools are upgraded: better color coded medicine boxes, for example, or checklists in surgery. But it's more. They figured out what trainings and processes provide high impacts and do them rigorously. Nurses are taught (I am not kidding you) how to question doctors when weird things happen; identity verification (ever notice why nurses ask your birthday like a thousand times a day?) got extremely serious; etc.

My take: give it a few more years, and software, too, probably will follow the same path. We needs more data, though.

magice | 8 years ago | on: Diminishing returns of static typing

https://dl.acm.org/citation.cfm?id=2635922

Just ONE study, so don't take too much heed. That said, apparently:

* Strongly type, statically compiled, functional, and managed memory is least buggy

* perl is REVERSELY correlated with bugs. Interestingly, Python is positively correlated with bug. There goes the theory about how Python code looks like running pseudo-code... Snake (python's, to be more precise) oil?

* Interestingly, unmanaged memory languages (C/C++) has high association with bugs across the board, rather than just memory bugs.

* Erlang and Go are more prone to concurrency bugs than Javascript ¯\_(ツ)_/¯. Lesson: if you ain't gonna do something well, just ban it.

All in all, interesting paper.

magice | 8 years ago | on: For Shame: Why Americans Should Be Wary of Self-Esteem (1992)

Hmm, this "article" (let's be charitable and call it that) should probably be named "For Shame: Example of Bad Writings that Make You Want to Hurt the Authors."

I still am at loss of what is the message (which someone insists to be too simple for such long writing). The article/random-musing/writing/thing starts with history of treatment of Shame, then crosses over to self-esteem, then switches back to warnings of something with Freud last name (who's Anna Freud?), then links the failures of heeding that advice with some political failures (apparently), then makes some weird assertions about democracy (somehow, magically, Democracy becomes single standard; since WHEN did Democracy mean single standard, three fifths a person notwithstanding?), then it jumps to comparison of psychology treatments and something about deep understanding, and finally ends with how good religions are.

Phew. I hope I collected all the main points of the writing piece. At some point, my eyes glazed while words and paragraphs floated around without really making any sense.

Can somebody help with how this pops on Hacker News' front page?

magice | 8 years ago | on: Why I hate your Single Page App

It's an incredible website! But it still does not work completely "right." For example, the back and forth buttons don't navigate to the correct scroll locations.

This actually illustrates his points. Which is this: the browser(s) ALREADY implement all of those features. It already knows forward and backward and new tabs and link and etc. etc. etc. SPA's completely ignore these and must re-implement everything. This means: * choppy differences between different SPA * when new browsers come out with new navigation features, guess what, you have to reimplement them! * Extra javascript code * Extra bug opportunities * What if a user keeps your page open so long that you change JSON? I have seen my wife keep a tab opened for weeks....

I guess this is just my DRY training kicks into overdrive, but reimplementation of well-tested, well-proven patterns really doesn't smell right. Which was his point.

magice | 9 years ago | on: Regaining control of your attention

I hate hate hate, bitterly, angrily, and even desperately, those fetishes about a better, nicer, more innocent past. We all heard it; we all partake in the orgy of present-bashing and past-glorying before. However, let's wake up and, seriously, get our attention back to the present.

Look, yoga and meditation have existed for a looooooong time. And guess what, for every time period, be it modern "over-loaded" time or ancient time, only a handful of people can master them. And what are they? Oh, yeah, attention controlling. I mean, if the past is so focused and attentive, shouldn't everyone be meditation master? Shouldn't people be super productive and focused and attain greatness? Guess what, they don't. What does that imply?

It implies this: please, for the love of progress, stop your whining and start appreciating how much luck and resources you have access to today. Please. Pretty please.

And what's with the fetish against "algorithm"? I despite those who take regular but uncommon concepts and make a demon/angel out of them. Algorithm, simply put, is how to calculate something or how to solve a problem. Sorry, algorithms do not have "tendrils". They neither scheme against you nor love you. Think about it: if you trip over a rock, does it "conspire" against you? If you burn time on some game, don't blame the game, please. Blame the publisher, maybe. Don't blame the poor tech. It does nothing but to please you.

Back to time and attention. Is it challenging to keep my attention in today fast pace world? Sure it is. How easier compared to starving world of the old? Or racist world? Or back-breaking labor (think agriculture before advent of machine and fertilizer)? Luckily, I have not been made to find out. Very luckily. And I think everyone can appreciate that luck.

I always appreciate advices on control of attention and focus. I might not find them valuable (I frankly feel like I can focus just fine with emails singing their songs, for example, so I don't need to completely cut cord). But I would not make a statement against those. I need all the ideas and advices: attention is very hard to control.

However, the whining and fetishizing and conspiracy theorizing must stop. Please. One nation have voted for economic regression while another elected a racist bigot as their First Citizen. Why? Because of all of those whining and fetishizing and conspiracy theories. So, please, stop. For the love of progress, stop.

page 1