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 Why I'm a Programmer
> Writing the code is the easy part. I’d say code flows from my brain more fluently than English does.

There's a certain irony in this statement. Writing code that works is easy, but writing code that clearly communicates a simple design to other programmers is not. Much like the difference between rudimentary use of English and that which is moving or persuasive. One is mechanical, the other achieves multiple objectives and requires a mastery of empathy.

mcgwiz··on Pinterest Cut Costs from $54 to $20 Per Hour With Automatic Shutdowns
Do you use any Light or Medium Reserved? Or are they all Heavy?
mcgwiz··on Tenth Grade Tech Trends
Socializing is educational. Perhaps the lessons become repetitive without moderation. But the odds that a teen locked in a room full of books will be happy or successful in life are small to nil. One that can successfully manage the intricacies of interpersonal relationships has much better odds. (And of course one that can do both is best off.)
mcgwiz··on It's like JSON. but fast and small.
sigh Why do we always have to misconstrue messages that conflict with our personal beliefs? :)

The GP was not declaring a winner. He was responding to overreaching title of the link. Yes there are similarities to JSON, and yes it may be faster and smaller, but only in certain cases. It is very relevant for the GP to point out that in the most common JSON cases (browser communication), those claims are basically false or only marginal.

This is reasoned argumentation, not arbitrary judgement to declare The One.

mcgwiz··on What is the enlightenment I'm supposed to attain after studying finite automata?
Applications:

1. deep understanding of regular expressions.

2. how to model and reason about complex workflows and business processes.

mcgwiz··on The Gift
I'm sorry but IMHO you've missed the point. With spiritual understanding, it's the means that count, not the ends. Only through experience and reflection can spiritual understanding be attained. What you call a mere "reinvention" is the creation of something unique. To you, the product appears superficially similar to other spiritual products, so you are happy to equate them.

But the author's spiritual understanding is indeed unique. It's not simply an affirmation of the primacy of unconditional love, but also an explicit rejection of any other spiritual motive. I haven't read Ecclesiastes, but from your depiction, it only partially addresses the first part of the piece. "Making the most of your day" neither says anything about what positively constitutes "most" (to the author, "most" is the result of acting with unconditional love), nor what negatively constitutes "most" (killing for God, etc).

Indeed it's important to remember to make the most of your day, but for the author, it's equally important to frame impulses that disregard unconditional love as wrong. The fact that he took the time to express this point indicates to me that he doesn't believe it to be broadly held. Thus the piece also represents social comment, far beyond a mere reinvention of something.

mcgwiz··on How to Make Your Site Look Half-Decent in Half an Hour
The CSS change is only visible in the screenshot that introduced the background image. In that screenshot, a white glow effect has been applied to the main header.
mcgwiz··on The Mathematical Hacker
The case for relying on math more when programming is one pillar of a more general aim: for programmers to be more creative in their approach to solving problems programatically. IMHO, creativity can be learned, but not over night.

Creativity requires comfort with risk and can therefore be costly, which goes against the contemporary programmer's drive toward efficiency and optimization. Creativity requires bring a fresh perspective to each problem encountered, and can therefore be exhausting, which eschews the programmer's drive toward re-use and generalization. Creativity requires leaning on other disciplines for inspiration, which runs counter to the demands of being a language or technology expert.

With time, the grip of these convictions can be loosened and contextualized, allowing room to explore curiosities and creative impulses, many of which may be mathematical (or psychological, or involve re-framing), that arise naturally during the course of a project.

mcgwiz··on New Homepage
generic = corporate/mainstream appeal. they're not marketing to hackers anymore. as a github user, how many times will you be looking at their homepage?
mcgwiz··on ITunes 11 and Colors
As noted by jrajav, since Vista, the Windows taskbar features a single-color version of this, inferred from application icon.

Additionally, the New Tab page in Chrome has exhibited this (inferred from favicon) for as long as I can remember.

mcgwiz··on An office with "library rules"
I think it's fair to say an environment that is so quiet you can hear a pin drop (i.e. ideal movie theater quiet) is not going to be welcome by most, for the reason you cited. But the same effect can occur in a noisy place as well, if a single individual is sporadically more noisy than the background noise.

So it's more about achieving some constant noise level, above which no sporadic noises rise. IMHO, the "library/whisper quiet" rule achieves this.

mcgwiz··on An office with "library rules"
To be fair, the author kept the post short. I didn't find any fluff in it.

Perhaps as the guy on the team that's constantly interfacing with managers or clients, you don't find any value in a quiet atmosphere. How do the rest of the folks on your team feel?

Of course, cultural practices reinforce each other. If your team practices both Everyone Is Client-Facing, and Phone-First, then there's likely a lot of chatter anywhere you go in your office and people ironically resort to headphones to find quiet.

In many teams, there are only a few that require the use of their voice above a low volume, and even then it's for limited intervals only. Without a simple well-understood rule, such folks can dominate environments and unnecessary interpersonal friction can develop.

mcgwiz··on I Don’t Need No Stinking API: Web Scraping For Fun and Profit
It's pointless to think of it as "wrong" for third-parties to web-scrape. Entities will do as they must to survive. The onus of mitigating web scraping, if in the interests of the publisher, is on the publisher.

As a startup developer, third-party scraping is something I need to be aware of, that I need to defend against if doing so suits my interests. A little bit of research shows that this is not impractical. Dynamic IP restrictions (or slowbanning), rudimentary data watermarking, caching of anonymous request output all mitigate this. Spot-checking popular content by running it through Google Search requires all of five minutes per week. At that point, the specific situation can be addressed holistically (a simple attribution license might make everyone happy). With enough research, one might consider hellbanning the offender (serving bogus content to requests satisfying some certain heuristic) as a deterrent. A legal pursuit with its cost would likely be a last resort.

Accept the possibility of being scraped and prepare accordingly.

mcgwiz··on My new web marketing strategy: Begging
As far as the blog article goes, IMHO the typos are irrelevant to the expression of the idea of "begging"/being more transparent about marketing.

But with regard to the marketing effectiveness of the /yourhelp/ page, the typos are problematic.

mcgwiz··on Everything is my fault
The power in this article is not in accepting responsibility in general, but in accepting that a degree of self-interested rationality governs the actions of all people, including those on your team whose efforts run counter to yours, undermine you, or betray you, and that as a person with authority, you are responsible for the environment in which this rationality will play out.
mcgwiz··on Imperative + Functional == :-)
This is a blog article from one of the researchers on a project to bring more immutability to C#, among other things. The paper the article references is well-summarized in a C# context here: http://www.infoq.com/news/2012/12/Immutable-CSharp
mcgwiz··on Why did Google get rid of the centered design of YouTube?
"now I have to look at the upper-left corner".

Surely this takes first-world problems to a new level.

mcgwiz··on "Smart and Gets Things Done" is necessary, but not sufficient
This is especially true and contradicts the generally accepted opinion repeatedly expressed around here, that knowing about programming in general is enough to be an expert in any technology in a short amount of time. The reasoning then goes that when hiring, one shouldn't rule out seasoned developers that have no experience in the technologies in actual use. This is an arrogant recipe for pain for the whole team. The myriad combination of interfaces between tools/stacks/technologies cannot be understood expertly in any small amount of time.

I suffered at a polyglot consultancy that shifted people around rapidly between stacks and technologies due to overconfidence in this belief; it is very painful for any programmer with a sense of craft and client stewardship. Of course, if all you care about is banging out a piece of garbage that will hold up until the checks clear, then I guess this doesn't matter.

mcgwiz··on A Full-Stack Web Team Will Provide Much-Needed Breadth And Depth To Your Startup
It's hipster journalism. Why are you fighting the reality? ;-)
mcgwiz··on Skrillex Quest
The only reason that's necessary is because the game advances you regardless of finding the keys. This is because there is much reduced expectation of commitment from the gamer, and if they can't find the key and get stuck, there's greater chance they'll leave before the advertising message is satisfactorily conveyed.
mcgwiz··on Pattern vision
tl;dr - patterns are seductive, and without understanding yagni, they strongly tend to be counterproductive.
mcgwiz··on Einstein's list of conditions for staying together with his wife
His goal was to create a sustainable relationship with her, and therefore he proposed a new set of expectations of her in consideration of his household cash flow. She consented to them; she wasn't forced to. This resembles a typical "live-in servant" relationship. The only strange part is that this falls out of a prior arrangement/agreement that was considered a "marriage" relationship. It's obviously no longer marriage in spirit, so why all the judgment of it that way?
mcgwiz··on X-editable: In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
Agreed. To get around this but keep the per-field editability, a toggle to make all fields editable should be available, as well as expose an atomic aggregate save trigger.
mcgwiz··on Show HN: Soundslice – YouTube + synced guitar tabs + HTML5
Completely agree. My 2 cents:

Since an individual can only play one part at a time, rather than showing two scrolling parts, two pages of the same part should be shown. Initially, page 1 can be shown above page 2. The playhead is the only thing that moves, from the left of the screen to the right. Initially it moves across page 1. When it reaches the right side of the screen, it moves to the start of page 2, below and to the left. At that time, page 1 is replaced with page 3. This way the pages remain still, while allowing the user to progress through the song.

mcgwiz··on How to Stay Relevant as a Web Developer
I believe he means that if you cannot use an architecture where you push presentation logic to the client as JavaScrpt (aided by an MVC-like framework like Backbone), serve all HTML/CSS/JS statically, and serve data dynamically through a web service (e.g. node + express or express-resource, RoR or Sinatra, MS Web API or WCF), then it's important to know a modern (MVC-based) server-side web framework dynamically generating HTML.
mcgwiz··on Migrating a large JavaScript project from DOM spaghetti to Backbone.js
The primary gain is faster feedback, but this can also reduce server load. In general, you should never trust user input, so you should validate on the server. (In particular, not only is it possible for users to manipulate/disable your client code, including validation logic, but it's trivial to hand-craft requests to your server.)
mcgwiz··on Migrating a large JavaScript project from DOM spaghetti to Backbone.js
Simplest explanation:

Backbone is an object-oriented library that can increase maintainability for so-called single-page applications. E.g. it's often used in an architecture which pairs a dynamic web service with static HTML templates, CSS, and JS (no dynamic server-side HTML generation). In this way it is similar to ExtJS/YUI, but generalizes those widget-centric frameworks.

It's not for tightly-scoped JS enhancements.

In terms of patterns, it adheres mainly to the Model-View-Presenter pattern (embodied in the Model class, the HTML template, and the View class respectively). Switching between logical pages in the single-page app is supported by the Router class (which implement the front controller pattern). Data persistence/retrieval is oriented toward RESTful web services (this is customizable) and therefore pairs will with ActiveRecord-based server frameworks like Rails. The separation of concerns it encourages increases testability, and also allows it to pair well with asynchronous module loaders (e.g. RequireJS).

mcgwiz··on How I Made $13,490.50 With Adsense Last November
Yeah the keyword stuffing nauseated me. But I found the empirical information interesting.

I agree it doesn't feel "hacker-ish" per se, but despite the name, Hacker News has a broader following that includes startup people, i.e. the business counterparts of hackers (roles often shared by the same person). The core interest for them is in creating useful things that ultimately must generate revenue for sustainability. Online advertising, as superficially repulsive as it is, is a significant model for doing so.

Also, like most people, Hacker News readers are interested in individual-focused stories.

mcgwiz··on InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonPainter
IMHO it's not close at all. First, the namespace shouldn't be counted, leading to a huge difference in sheer length. Second, the words in the BCL name, more or less, form a comprehensible noun phrase. Third and anyway, this is the longest public class in the BCL, whereas the article describes an internal class; a much higher bar should be held for public names.
mcgwiz··on JavaScript: Function Invocation Patterns
"Complaints"? Wha? Did we read the same article? Except for a few asides, he wasn't complaining. He was explaining.
← PreviousPage 8 of 10Next →