HNHacker News
TopNewBestAskShowJobs

EvanPlaice

310 karma · joined May 8, 2012

http://evanplaice.com
submissionscomments
EvanPlaice··on We need constrainable lightweight markup languages
We have a lightweight extensible markup language. It's called XML.

When HTML web components are fully supported in all browsers, it'll be possible to create custom markup elements to extend HTML to include custom DSLs (Domain Specific Languages).

I already have a library (ng2-markdown) that provides a template tag that can parse markdown (incl syntax highlighting) in the same manner that the script tag can parse javascript.

If a parser is already available in javascript, it's not exceedingly difficult to create new HTML elements.

EvanPlaice··on Agile Is Dead – Pragmatic Dave Thomas [video]
The question that should be asked in that case is what purpose does excessive paperwork cover?

In my experience, it's usually poor management looking to cover their own ass when deadlines are missed and/or establishing a track record so if they need to fire people they have a legally justifiable reason.

EvanPlaice··on How Americans Became So Sensitive to Harm
Look at hiring practices and policies. By law, minorities, and women most certainly are given special treatment when it comes to government positions. As well as veterans, whom some may argue, have earned it.

Homosexuals and transgendered people are still too 'bleeding' edge to be classified as a 'protected' class. Give it 10 years and they likely will be.

EvanPlaice··on Fresh evidence links Saudi government to 9/11
From what I understand, much of the dogma and propaganda used to recruit religious extremists is sourced from SA universities, and academia. The people behind it hold a priviliged position in SA society due to the culture's emphasis on religious values and the nation's role as the center of Islam (ie Mecca).

It's not necessarily the fault of the ruling family (although the ruling family may be sympathetic to the cause) but the propagation of Islamic fundamentalist dogma has become an international problem leading to the deaths of hundreds of thousands of innocents. If SA wants to remain in good standing with the rest of the world the ruling family will need to take action or suffer the consequences.

You don't win an ideological war by going after suicide bombers, you starve and alienate the few Developing and broadcasting the message to the impressionable youth.

SA shit the bed and they were previously given a 'free pass' because their control over oil supply. Meanwhile the US has dramatically shifted the energy production landscape where SA's dominant position is no longer a serious threat.

What was previously their greatest strength is now their greatest weakness. They're stuck between a rock and a hard place. Acknowledge that violence motivated by religious dogma is unacceptable and take action to fight it, or watch their enemies grow stronger each passing day with growing support from the West.

EvanPlaice··on When Does Dark Humor Stop Being Funny?
Actors are free game because they're public personas aren't 'real' people to begin with.

Reduced to childhood terms, they're the kids on a playground playing doctor. Yet, as adults we treat people who play doctor with equal or higher regard than those who actually are doctors.

It's pretty idiotic but we all tend to attribute image as a viable replacement for substance.

South Park just points out the ridiculousness of it all by poking fun at those who take their image too seriously or make a mockery out of their status as a public figure.

EvanPlaice··on When Does Dark Humor Stop Being Funny?
Comedians dance a fine line. The best can waltz back and fourth across the line with practiced precision.

Rape is about power. Power conceded by the victims and forcefully taken by the attackers.

A rape joke could make fun of how, useless, sad, an worthless a person would have to be to force themself on others.

How the act itself is nothing but a pathetic act of desperation.

Use perspective, artful storytelling, crafty dialog/writing to take the power from the attackers. Face the fear behind their actions and reduce it to reality; that rape is a sad, terrible, pathetic thing to do to somebody.

Take away the power from fear and gove it back to the victims in the form of empathy and support.

The 'sacred cows' as you say aren't just topics with shock value. They're topics that people are afraid of. Whether because they're taboo, morrally wrong, or legitimately terrifying.

Some may say that the victims suffer more due to living dealing with the shame and lying to loved ones to keep their past a secret.

In the right hands a truly talented comedian could make a great rape joke that is actually empowering to rape victims. One that makes the topic less taboo and helps victims feel less shame in a past that they had no power to shape.

Tasteless humor is noyhing but an ad-hominem dressed up with a fancy delivery. Good comedians don't attack people, they shine light on the ridiculousness of life and in doing so bring people together.

EvanPlaice··on When Does Dark Humor Stop Being Funny?
Fake moral superiority for the purpose of subjugating others.

Some people value being 'right' more than they value being happy. Some have an agenda or hidden motivation to talk down to others.

As long as there's an advantage to be gained from it there will always be individuals who bully others. Old school bullying has been replaced with 'moral' grandstanding and public shaming.

We used to teach kids, "sticks and stones will break my bones but words can never hurt me." At some point, that tradition was abandoned and some individuals shifted to assume the stance of 'perpetually offended' so they have a justifiable platform to attack others.

EvanPlaice··on When Does Dark Humor Stop Being Funny?
It never stops being funny. Many famous comedians suffer from depression and/or mental health issues because that is one of the primary sources of their inspiration. Laughter, and specifically dark humor is an inoculation to misery. A perfectly healthy response to an unhealthy mental stare. When it feels like the world is crashing down, it's best to laugh at the ridiculousness of it all and move fowrard then be paralyzed by fear.

Laughter is also a common social signal, it signals safety and increases happiness for all who join in. Dark jokes specifically, increase our threshold to face terrible things and help distract from the anxiety of -- otherwise -- trivial matters in out day-to-day lives. It increases empathy and connectedness among people, even strangers who have little or nothing in common.

Just look how Austin Powers uses puns to lighten the situation. https://m.youtube.com/watch?v=3wafhDIMU6w. It's cheesy and over-the-top to match the character but the effect is the same. We joke about the things that make us uncomfortable because it makes us feel better.

The only people up-in-arms about dark humor are individuals seeking to use their own false sense of moral superiority to subjugate others.

In a way, I'd be more scared of somebody who can't find it in themselves to laugh at all. To laugh at an awful joke requires self awareness and a clear understanding of the separation of truth from reality. People who lack those characteristics lie to themselves as much as others and live to project an 'ideal' image of themselves rather than face the humility of accepting their own weaknesses. Whet her the reason is big or small, they project a facade because they have something to hide. Is the person secretly a 'political activist' with an agenda or a murderous psychopath a hair-trigger response away from going off the deep end?

Of the dark comedians, Doug Stanhope is one of the darkest. Just watch the following skit https://m.youtube.com/watch?v=hY3W9Z4bdS8. It's a clear middle finger to the 'Breast Cancer Awareness' movement for distracting from one of the few things in life that he truly enjoys. Not only is it extremely shocking but it artfully shines light on the ridiculous hypocracy of a movement that is more marketing than substance.

As shocking as his comedy usually is it's surprisingly endearing and disarming. Look past thr 'bitter old guy' image and it's hard not to see an intelligent young idealist who gave up one day and said, "fuck it, I'm going to ride out this existence until the wheels fall off."

BTW, the dead baby joke the author didn't have the courage to share was, "how do you get a dead baby out of a blender... with a spoon."

In short, don't feel bad about laughing at terrible jokes but be on guard when it comes to those who can't find it in themselves to join you.

EvanPlaice··on EU hits Google with second antitrust charge
Chrome on IOS uses Webkit, it's basically a skin over Apple's outdated browser engine that crashes frequently. This is due to Apple Store restrictions, not technical reasons.
EvanPlaice··on The other kind of JavaScript fatigue
So, what's the solution here? Other than some 'hand wavey' call to action for devs to work together?

I am the author of a handful of OSS libs, one of which is very popular. Of the 500k+ downloads; not including repo clones, package manager installs, etc I can count the number of contributors other than myself on one hand.

Considering the relatively recent migration over from Google Code the number of stars it has is under 100. From the users I've interacted with, I would be shocked to find that even a small fraction of them understand how it works.

From the 4 contributors, except for one useful bugfix (that introduced another bug), their impact has been mostly insignificant.

At one point, one impatient dev requesting a fix forked and atrempted to assume ownership of the project. But that dev disappeared soon after and just left more work for me to clean up after.

So, do tell. Aside from marketing the hell out of it on blogs and referencing it on SO by answering relevant questions, where do I go to find other passionate OSS devs to help support my project.

It's easy to find contributors on projects that require only general knowledge, such as building a website or creating collections of links.

For anything that requires even a little specialized knowledge, it's difficult borderlining on impossible to find help.

I don't need contributors with specialized knowledge. I need contributors who can provide more working examples, better documentation, and can improve the tests.

EvanPlaice··on The other kind of JavaScript fatigue
So you suggest that we should put even more emphasis on Computer Science fundamentals?

Ad of most jobs don't already put too mich emphasis on mindlessly coding reference implementations of naive classical algorithms and data structures as proof of competence.

Encouraging inexperienced devs to embrace NIH (Not Invented Here) Syndrome is not the answer.

Even poorly supported open source projects will often have better edge case coverage, testing, and battle hardened code than a prototype produced by a reasonably experienced dev alone could provide.

The issue isn't whether or not to embrace third-party libraries. Thr issue that it's very hard to get devs to join/support existing open source libs.

As a dev of multiple libs, one of which is widely used among the JS community, it's very difficult to promote my lob and draw more users/support. Despite the fact that the lib has been battle hardened, tested, and in common use by hundreds of thousands of other devs for over 4 years.

Somebody could easily create a framework specific wrapper of my lib that garners more stars/forks on GitHub in a matter of months; and worse, most wrapper/clones never bother to update from upstream so their users are left using old/outdated code.

If you want to stick to 'old values' then do the work to make existing libraries better. Don't waste time/resources producing one-off garbage that contributes to technical debt.

Not sure if you got the memo but the one distinctive benefit of employing software developers is that we provide the ability to automate away repetitive work and save the business money in the long-term. Including, saving development time, effort, and future maintenance by leveraging existing bodies of work.

Where the code comes from and how it works Is only relevant to software devs. The everybody else, the only thing that matters is the result it produces and how costly it'll be to maintain and update in the future.

The sad truth for devs who pride themselves on a strong knowledge of algos and data structures is, most jobs don't require those skills. Software produced for profit requires mostly composing an application of existing code, not writing original implementations.

EvanPlaice··on At Tampa Bay farm-to-table restaurants, you’re being fed fiction
Producing higher yields is not analogous to producing healthier food.

The interests of farmers (ie produce more yield/mass that is impacted less by weeds/pests) do not match the interests of consumers (ie purchase healthy/tasty food with no unforseen side-effects).

Considering the turnaround time between the time a seed is purchased and when the resulting food is consumed, the 'testing period' of newly introduced GMO breeds is very long compared to software iterations.

At the very least, consumers should be able to trace what GMO breed they're consuming and where it was produced. That way, if there are any unforseen side effects, it'll be easier to trace the source.

Just look at the fallout caused by pistachio yields that have been contaminated with E Coli and Salmonella. The long shelf life of nuts means that contaminated foods could still be sitting on store shelves years later.

I'm all for GMO foods if it improves farming effectiveness but the process needs something similar to version control to track quality and a way to clearly indicate GMO foods so people can opt out of beta testing new breeds.

EvanPlaice··on Why All Printers Suck, Even the Best Ones
It's more difficult to track poor product quality based on consumer reviews if the products are 'refreshed' with new models every year.

I wouldn't be the least bit surprised if the internal components are mostly the same between models.

EvanPlaice··on Why All Printers Suck, Even the Best Ones
Many thousand pages later my Brother B&W laser printer is still going strong.

Inkjet is only reliable if the printer is used and calibrated regularly. Even large scale plotters are switching to solid ink (ie wax ball).

This is largely a 'solved' problem but most consumers will still gravitate toward lower price tags and purchase cheap throwaway inkjet printers.

EvanPlaice··on US contractor fined $3.1M for outsourcing work to India
Sounds like 'business as usual' to me.

Small company is granted preferential treatment on the contract reward because the company fits under a 'special class'. For example SDVOSB.

The company doesn't actually have the skill/ability to fulfill the contract requirements so they outsource a significant portion of the work; either by picking up one of the bidders who lost as a subprime or bynoutsourcing to a third-party. Passing off the responsibility violates the 'protected class' certification threshold but there's no oversight to verify compliance so the contractor is never held accountable.

Many/most small business defense contractors are simply administrative companies that work the 'special class' certification process, pocket a significant percentage of the funds, and either outsource most of the actual work or hire people and provide substandard pay and provide little/no resources to do the work.

Source: I used to work for one such company. Never again...

EvanPlaice··on CSVJSON – Self Rise of an Online Tool
Unfortunately. I made the mistake of hosting it on Google Code rather than GitHub. Everything has since been moved and it's gradually gaining traction again.

The HTML5 part was very appealing to me because I wanted to build a client-side tool to load/save/edit database imports/exports.

It unlocks a lot of potential for fully-featured client-side applications that work more like desktop apps.

The bad part about it is, browser vendors, specifically MS, have been dragging their feet when it comes to fully supporting the File APIs.

EvanPlaice··on CSVJSON – Self Rise of an Online Tool
Somehow missed the 'java/scala part'.

Either way, why do 2 data format transforms as one lib? It makes more sense to parse JSON into memory in one step then format it as CSV in a separate step.

Ie, what about the 'Single Responsibility Principle'?

EvanPlaice··on The mobile games industry is kept afloat by less than 1% of users
I pretty much quit playing any/all Blkzzard games after a month of WOW.

It quickly became clear to me that they intended and succeesed at effectively creating a profit-making skinner box for humans.

Who knew the HS psychology class where we trained a rat to pull a bar for sugar water would later act as an innoculation for lousy games that manipulate their users via classical conditioning methods.

It's sad really because the Blizzard classics (IE Diablo 1/2, Starcraft, Warcraft 1/2) represent the pinnacle of visual storytelling in games.

EvanPlaice··on We haven't forgotten how to code – JS just needs to become a better language
ES6 modules, combined with a tree shaking build tool solve this issue. You can install a hige library and the output source will only include the parts you use.

Unfortunately, libs that provide function chaining via dynamically extwnding a prototype can't be optimized by tree shaking.

The future :: function bind operator should provide a tree shaker friendly alternative.

EvanPlaice··on Why Anti-Authoritarians Are Diagnosed as Mentally Ill (2012)
Wait til we see the first generation of kids forced to code in school.

As much as politicians want tomtreat programming as the 'new literacy' i can think of no better strategy to destroy an entire generation's intrinsic passion to learn technology.

Not to mention, the vast majority of teachers are woefully incapable of effectively teaching a subject they they, themselves don't begin to grasp.

There's no money in teaching so those with the background required to be 'good' teachers will inevitably pursue other, better opportunities.

EvanPlaice··on CSVJSON – Self Rise of an Online Tool
Honestly, I see JSON-to-CSV and the opposite tools as an anti-pattern.

You're essentially applying 2 pure function transforms to data so it should be done in 2 steps.

The built-in JSON.parse() provides a native implementation to handle the first transform. My jquery-csv lib handles the second. If you require stream processing and/or need to process large data sets client-side use the more fully featured PapaParse lib instead.

The number of half-assed CSV parser implementations I've seen in the wild is what drove me to provide a fully-featured RFC implementation. To do it right requires a DFA, anything less will fail on many hard-to-identify edge cases.

My project has been downloaded over half a million times, used on every platform/environment imaginable, and every technical limitation painfully identified. Seriously, I don't understand why devs feel the need to roll their own and miss out on benefiting from existing battle-tested solutions.

Not to mention all the devs who embed a wholesale copy of an old/outdated version of my lib in their projects.

Nowadays, half-assed CSV implementations have changed to half-assed JSON-to-CSV implementations. The same holds true for JSON and/or CSV to HTML transforms.

Formatting a HTML table by iterating over data is so painfully sinple I don't know why devs feel te need to provide it as a standalone library.

EvanPlaice··on CSVJSON – Self Rise of an Online Tool
Yes. Use the built-in JSON.parse() to get the data into memory, then use my jquery-csv library's $.csv.fromArrays() to format the data as CSV.

Guess I found a good candidate for a blog post. It's amazing How much I see others struggle with such a aimple concept.

EvanPlaice··on CSVJSON – Self Rise of an Online Tool
The funny thing is, very capable libraries already exist to handle CSV parsing.

I know because I authored jquery-csv, te first RFC complete CSV parser implementation in vanilla JS.

The transform is ridiculously simple and data can be fully loaded and processed client-side using the HTML5 File API.

As soon as JS gets the :: function bind operator I plan to reimplement it as a pure async function.

EvanPlaice··on Houdini: Maybe the Most Exciting Development in CSS
See HTML5 canvas.

That's what Google Docs switched to so they could guarantee a consistent UI across different browser platforms.

For the full OS implementation see NodeOS and Runtime.js. NodeOS is a V8 runtime built on top of a very minimal linux kernel. Runtime.js is a full OS implementation from scratch written entirely in Javascript.

EvanPlaice··on Why Learning to Code Won't Save Your Job
Sustaining human life, especially in 'developed' nations requires a lot more than energy.

People focus on energy, technology, and conservation as the solution. It's like trying to patch a bullet wound with a band-aid. Nothing saves resources more effective than reducing the population and the overall human population is still growing at a dramatic rate.

EvanPlaice··on Adopting RxJava on the Airbnb App
Just wait until JS gets the :: function bind operator.

This wil yield 2 significant benefits.

First, Instead of the current hacky approach to implementing monads in JS, by which I mean adding operator methods to the observer 'monad' protype it'll be possible to use truly functional monads. Mixed with async functions I'd expect unnecessary blocking to become a non-issue and traditional prototype method chaining to become an anti-pattern.

Second, since it isn't necessary to add the operators at runtime it'll be possible to include them as separate ES6 module imports. That means, RxJS as well as any other library that extensively uses method chaining (ex lodash, jQuery) will finally benefit from tree shaking.

If this works the way I've been led to believe, minamilist libraries like jqlite will die off and Rollup.js will become the the de facto linker for building JS packages.

EvanPlaice··on Google parent Alphabet ushers in ‘fiscal discipline era’
See React Native, and Universal Angular2.

Both Facebook and Google are gearing up to aggresively go after the mobile market. Apple is stagnating after Steve Jobs' passing and both companies taste blood inn the water.

EvanPlaice··on Google parent Alphabet ushers in ‘fiscal discipline era’
Facebook isn't beholden to its investor's short-term interests.

The company has all the growth advantages while the M. Zuckerberg maintains the voting majority.

A lot of his decisions have pissed off the board but they've generally kept the company moving in a positive/profitable direction.

Google has a ridiculous amount of resources at its disposal and 2 very ambitious founder CEO's to drive the Alphabet parent company but, in reality, only have one groundbreakingly profitable product; advertising.

Mobile is taking over the web and Google's advertising capabilities on mobile aren't great due to technological limitations and the app store walled gardens.

AMP has the potential to put them in monopoly position in terms of web browser market share. They can leverage search engine ranking metrics to drive adoption.

Meanwhile ReactJS and Angular2 will are bringing 'universal' client-side webapps to the mainstream. Basically, the browser SPA frameworks can be used to create native mobile apps. I wouldn't be surprised if native mobile app development as a market collapses in the near future.

As for the rest, they seem to be aggressively pursuing infrastructure development. Customers hate the current broadband/wireless providers and anything that decreases internet usage is a threat to Google's bottom line.

Facebook and Google are driving in a smiliar direction as far as the web goes. Alphabet/Google just has much more resources and a much broader scope of where they plan to go.

EvanPlaice··on Why Learning to Code Won't Save Your Job
In economic terms, we've reached 'peak people'.

It takes the a fraction of the manpower to maintain the current level of human culture, traditions, knowledge, and capabilities. Technology and the arts have accelerated so much in such a short time that we're running out of creative, original ideas faster than the masses can consume them.

Coding will remain relevant but most other jobs related to the day-to-day maintenance of mankind's existence will be automated out of existence.

EvanPlaice··on ES7 async functions – a step in the wrong direction (2015)
Just wait until the :: function bind operator is added.

I expect the Haskell community to s* enough bricks to build another Empire State building.

Page 1 of 13Next →