HNHacker News
TopNewBestAskShowJobs

mcgwiz

2,394 karma · joined September 27, 2011

Creator @ Blocvox.com

Engineering Manager @ ServiceTitan

mcgwiz.com

Public key at https://keybase.io/mcgwiz/sigs/gHHsa9iUrrqJ4AxuMgqcGXnvcSxVqv90mFUgBvKg4Ls

submissionscomments
mcgwiz··on The algorithm for a perfectly balanced photo gallery
It looks nice (much like Google Image results) but IMO it's not "equally distributed". For example, an image that has dimensions 800x531 gets ~2.3x the space as one with dimensions 531x800. That arbitrarily incentivizes/rewards landscape photos w.r.t. portraits. "Equally-distributed" would probably require an algorithm that works mosaically (without row constraints) and couldn't achieve "taking up all the space available [in a rectangular region]".

Still, looks nice.

mcgwiz··on CSS Absolute Centering
This is interesting but I don't like it. It's a quirky non-idiomatic hack. Using vertical-align/line-height/inline-block is equally-effective and IMHO conceptual and readable/self-documenting.

Details: http://jsfiddle.net/uy64k/6/

This requires no extra markup, but it does require the font-size and line-height to be reset.

mcgwiz··on Keep Your Identity Small (2009)
In my opinion, he describes a basic mechanism of survival for cultures. Cultures that inspire such defensive "inability to think clearly" about the subject have increased survivability (social propagability).

But in order to survive, cultures must also change over time. I see the mechanism for this change as the individual's improvement of the culture for oneself, and then attempting to propagate it to insiders and outsiders. Triggers of this modification include conflicting experience, either direct or indirect via dialogue/argumentation with others.

mcgwiz··on Why does Angular.js rock?
Certainly amusing demo.

What might actually have a chance at winning me over (having deep real-world experience with and trust of other tools) is an account of more complex usage:

- deep look at componetization/composition techniques,

- how it plays with CommonJS/AMD/Harmony,

- honest accounting of drawbacks, pain points, non-ideal usage scenarios,

- explanation of all the magic, e.g. what's happening under the covers to do data-binding, does the global namespace get polluted by DI features, etc...

mcgwiz··on Did Goldman Overstep in Criminally Charging Its Ex-Programmer?
The article was very sympathetic toward Aleynikov and accounts his acquittal on appeal, so it breaks that "law" (which IMHO is upheld primarily due to confirmation bias).
mcgwiz··on Did Goldman Overstep in Criminally Charging Its Ex-Programmer?
Although I acknowledge the sympathetic angle of the article, I cannot fathom why he would take such a risk.

During my 2 years consulting in global investment banks in NYC, it was standard practice for all employees, internal or external, with access to sensitive data or IP to undergo comprehensive IP compliance training and execution of IP agreements. This had to be performed within a month or so of engagement or your badge and account would be deactivated. Every year at a particular client required the training to be repeated.

It was inculcated that violations of such policy had a high likelihood of being caught and would carry very significant penalties. In my experience, they successfully established very taboo cultures around transmitting IP out of their systems.

mcgwiz··on A rich new JavaScript code editor spreading to several Microsoft web sites
Er, is that why the screenshots use Google Chrome?
mcgwiz··on Do Not Track is not respected on mozilla.org
> he seemed to be saying that clients don't get to go to his site and then reject his use of analytics by (for instance) refusing to load the scripts. I find that attitude quite objectionable.

Yeah, it's perfectly fair and reasonable to have that attitude.

Practically speaking, something like the Collusion extension/add-on or Disconnect extension/add-on allow you to forcefully constrain a wide range of "tracking" activities preferred/requested by the server.

mcgwiz··on Do Not Track is not respected on mozilla.org
Client and server, guys. A web browsing experience is a cooperative endeavor that occurs on property controlled by both the host (web server) and the visitor (user agent).

At a fine-grained level, different aspects of that experience can be said to occur specifically on client or server. Each of those aspects can be constrained or manipulated by the respective property owner.

When it comes to preferences of the visitor for certain server actions (or inactions), one can only make a request. This isn't a grand moral point, or a technical one, but one of basic property rights and personal freedom. And such a request is what the DNT header signifies.

Likewise, when the server has preferences for certain user agent actions (such as running JavaScript or storing cookies) again it can only request that this occur since the user agent can typically disable JavaScript or cookies. This is what certain HTML metadata elements and the Set-Cookie header signify.

If visitors are unhappy with the behavior of a server, they can avoid it. In aggregate, such avoidance can become a significant market force. At the same time, a website that does no analytics for DNT visitors and has a high ratio of DNT visitors may also become less competitive and valuable over time. Both can feedback into respective preference consideration. This is ultimately the meager value of DNT. It (combined with adequate education) provides extra context data that can motivate through market forces an adjustment to web browsing norms.

Along the lines of "adequate education", the option in Firefox should read "Tell websites to restrict their tracking of me. __(Learn more.)__"

Practically, how would you know in advance if a server will respect your DNT preference without first visiting the site? Well, in real life, how do you know whether someone who invites you over for dinner won't serve you poison? One way is through trusted third-parties, but the market hasn't yet demanded such a service (and may never).

mcgwiz··on Greenland’s ice sheets are disappearing faster than anyone predicted
Setting aside the defense of RS by sibling comments, part of the reason this article is of interest is its presentation format.

Find a peer-reviewed science journal that also provides a rich multimedia experience and you can argue that there is a source that is "better" for the purposes recognized here (content and presentation format).

mcgwiz··on Patent US8296192 – Method for making money on the internet
To spell it out, the precise problem with this specific patent is the ambiguity of the terms used in the claims. "Online information" and "reader comment" can describe the content of any one-to-many data relationship presented on the web.
mcgwiz··on Ask HN: I'm quadriplegic – can you help me with my security?
You could use something like TrueCrypt to encrypt the vhd/vmdk(s). How aggressively you mount/unmount the volume depends on the circumstances.
mcgwiz··on Probably not for hackers
mike at scrambledbrains dot net

Cheers!

mcgwiz··on Stop Glorifying Hard Work and Long Hours
This post is annoying in that it conflates and oversimplifies far too much. On the point of humblebragging: I (and 95% of the internet population) agree, humblebragging should not be done (even though the author later goes on to humblebrag that he only works 35 hours per week... hypocritical much?).

But on the separate implied point that working 50+ hours a week is mutually exclusive with working smartly, I disagree. That is naive and simplistic. When you have a finite runway (which decreases in length whether you are or are not working) there's a very strong case to be made for sacrificing a degree of your free time in order to maximize the utility of that runway. Separately, one should carefully balance the multitude of competing development concerns to be working as smartly as possible, i.e. YAGNI, refactoring, testing and CI, tight customer feedback loop, etc.

Conflating smart work with the need to work long hours betrays the likelihood that the author has never even considered the reality of bootstrapped startups.

mcgwiz··on Government Secrets and the Need for Whistle-blowers
I don't understand what the difficulty is. You either act, or you don't actually perceive immorality.

People are not acting immorally at all times when they're not attempting to remedy the most immoral thing, as long as their moral framework indicates not acting (or continuing an ongoing action) is more moral. Should I donate all my money to charity? No, so long as, for example, I am concerting my efforts to use that money toward a greater moral goal.

mcgwiz··on Government Secrets and the Need for Whistle-blowers
This underlies one of the core questions of philosophical ethics: "what should you do?" There are many moral frameworks* but the way I've always understood it, underlying each of them is that morals are defined by the obligatory feeling they give rise to. (Those feelings may arise regardless of who or what created a particular circumstance.) So for someone to find a situation immoral but not to act is to be immoral himself (or to lead him to rationalize the moral dissonance by revising his moral framework so he perceives that situation as moral).

* E.g. dominant frameworks are: morals are that which is necessary as a matter of integrity and self-respect, morals are that which you would prefer all people strictly adhere to, morals are that which provide the greatest good to the greatest number, morals are that which promote the state (or increase compassion, or knowledge).

mcgwiz··on Has the US become the type of nation from which you have to seek asylum?
Misattribution corroborated by the Thomas Jefferson Foundation. http://www.monticello.org/site/jefferson/when-government-fea...
mcgwiz··on Buttons with built-in loading indicators
Agreed, a nice library overall.

And at first I was impressed by the overlay, especially considering the novel implementation. However, after a little thought and setting that novelty aside, I think that effect is broken. It's simply not at all conventional for a fully masked page to retain interactivity (despite the odd site that allows this).

Worst case scenario, an unsuspecting user activates an overlay button, and while it's loading, starts clicking state-changing buttons around the page just to kill time.

mcgwiz··on Some will always say you're wrong
Well said.

A similar idea is that "you can't please everyone." (It's not the same idea, because this one presupposes an aim to please others where there wasn't necessarily one in the article.) This trips up many people, including myself at various points in my life. It can lead to juggling too many friendships, compromising one's values, accepting too many work obligations, feeling one's MVP isn't ready... As a result people may give up or burn out.

Accepting that you can't please everyone practically means being comfortable saying "no". Then, like in the article, you have the freedom to "bash on with a smile, being who you want to be" while pleasing some people at the same time.

mcgwiz··on Google’s Go has some coders raving
I think meta-conversations can quickly go downhill, but that they can also be constructive. I'll just say that there's always room for doubt, including in our presumptions about the intent of others, and that linking to an article about a particular cognitive bias doesn't necessarily strengthen an argument, nor does it put someone above that bias. For whatever it's worth, I've found that when I encounter apparent (possibly offensive) disagreement, I'm less constructive when I act on presumptions, and more constructive when I engage a Socractic dialog.
mcgwiz··on Everyone Does Everything: How To Work on Teams of Generalists
Interesting article. However, it presupposes that all "generalists" (whatever exactly they are) are the same. This is obviously wrong and therefore IMO it weakens the entire article and invalidates the sub-title.

Even if all "generalists" had equal aptitude in the same set of technologies, there remain varying degrees of creativity/experience, varying preferences of technologies to work with, varying preferences for problems to solve, varying ability to weigh cost/benefits of tasks from the strategic business perspective, etc. I've worked on many "generalist" teams and, because of our technical and non-technical differentiation, there was never any awkwardness about "who does what".

mcgwiz··on Google’s Go has some coders raving
Hmm, metacomment:

What is the relevance of Dunning-Kruger? I've always taken the practical meaning of Dunning-Kruger to be that there's always room for self-doubt, though certainty may be increased the more external validation you get. The GP's comment does not seem any more certain than the average comment here.

mcgwiz··on Let's build an entire programming environment around Brainfuck
The process of creating a startup varies widely. And for some, a startup is part of a larger process, that of exploring (or capitalizing on) one's passions and curiosities and intuitions. The startup in this case is not the end, but one of many means. Who knows if the knowledge, pain, or relationships his project bears will result in a startup, or maybe even something more world-changing.
mcgwiz··on MongoDB's New Query Matcher
Another example, regarding the C# driver: don't block thread on network requests, i.e. use IOCP threading. Created 2011-04-25. https://jira.mongodb.org/browse/CSHARP-138
mcgwiz··on Would you use PhoneGap again?
Thanks for sharing your insights. I appreciate the viability of the Mono option. Back in the early web development days (an approach that continues to this day), achieving cross-browser usability meant constraining design to the few portable features that worked well. It seems from your statement that the similar might be the case (product design within the constraints of the portable HTML5 featureset) which would mean better trained product designers (to understand which design elements common in native apps are more costly in PG apps) or more collaboration between them and developers.

But as you said, Mono/Xamarin is a technically better option with the same ultimate goal. Though a couple trade-offs there are unavailability of the source and upfront licensing costs.

mcgwiz··on Evolution of Hacker News
I might be mistaken but I get the sense that, especially to older members, it's not just "declining quality of discussion" (uninformed/irrelevant, discompassionate, outright rude, inflammatory comments) that is threatening the value of the site. There may actually be a less tangible/measurable quality, that of the early "feel" of the community, that was of great value to those members. It might have come from the particular set of voices that made up the bulk of comments in the early days, or the relative obscurity of the site. While discussion quality can be improved, I doubt some members can ever feel fully satisfied, without the old feel.

Also, there are many innovations in comment systems. Gawker's Kinja system is quite good at surfacing or organizing interesting comments, among other things. Post segmentation and comment filtering are techniques used by Slashdot and Reddit, which dampen the impact of growth on community "feel". But, despite the massive growth, there is strong aversion to incorporating any deep changes here.

I perceive two specific challenges: prominent voices might actually want a feeling that is (or appears to be) impossible to restore, and there's general apprehension about messing too much with the magic formula that brought HN to the point it's at today. With the influx of users, this appears to create an identity crisis for the site.

I wish I could suggest solutions along with these observations.

Edit: I do think it would be useful to understand what members of varying karma levels subjectively/qualitatively perceive to be the values and valuable traits of the site.

mcgwiz··on Would you use PhoneGap again?
Very interesting. So it sounds like the problem is effecting a native experience with HTML5 (something, notably, that Windows 8 gives first-class support to). So then, given the HTML5 expertise and attention to detail, would you recommend PhoneGap? Or would you still advocate separate, native efforts? (Or something else?)

Also, do you really think adding media queries to the stylesheet(s) is "substantial relative to native tools"? Taken holistically, I would think that when you're targeting multiple platforms, you expend much greater effort building natively for each platform. Using those native UI tools to provide a good experience for variable aspect ratios actually entails knowledge of different languages, build tools, runtimes, standard libraries, third-pary library ecosystem, and best practices related to all the above.

mcgwiz··on Show HN: My seven minute workout timer evening project
Nice job.

I don't want to presume anything. Did you purposefully shorten the workout from that described in the ACSM article? It indicated 30 seconds on and 10 seconds off. (Your total duration variable should be 480--don't ask me how they added that up to "7 minutes"!) This has lead to some confusion in the comments here. And, although their intervals are somewhat arbitrary, and asserting this routine is "scientific" is debatable to begin with, it would be more accurate.

Again, great job.

mcgwiz··on The Scientific 7-Minute Workout
Thanks for quoting. I'd like to add that the workout the blog post cited was the ACSM article's "sample workout" based on HICT (an efficient, common sense approach commonly used by personal trainers), that also required no specialized equipment.
mcgwiz··on “Right click and save as” needs to go away
Good point, but such a prompt would be similarly annoying (i.e. annoying to a similar number of users). The way I've done this in the past has been to provide two links, one of which triggered the inclusion of HTTP headers at the server, to trigger the Save dialo). Assuming the download attribute is supported, it's even easier:

  <a href="file.txt">File</a> (<a href="file.txt" download>Download</a>)
This could impact visual design in a negative way. A download icon[1] could be used instead.

  <a href="file.txt">File</a> <a href="file.txt" download class="download-icon" title="Download this file">Download this file</a>
CSS would be used render an icon and to make the text of .download-icon conveyable only in non-graphical browsers.

[1] http://fortawesome.github.io/Font-Awesome/#icon/icon-downloa...

← PreviousPage 6 of 10Next →