HNHacker News
TopNewBestAskShowJobs

georgestephanis

232 karma · joined August 21, 2012

[ my public key: https://keybase.io/georgestephanis; my proof: https://keybase.io/georgestephanis/sigs/mhBcOBuFvYbFGVX4hrek3f87YM6_mn4RgvYQXREe8EU ]
submissionscomments
georgestephanis··on Unity raises $181M round at a reported $1.5B valuation
https://www.youtube.com/watch?v=3yLJ5NHARMk
georgestephanis··on Amazon Prime Strikes Deal for Most PBS Children’s Shows
Why not just use the PBS Kids app? My daughter adores it.
georgestephanis··on Magento 2.1 released
Of websites using a discernable server-side programming language, over 80% of them use PHP -- https://w3techs.com/technologies/overview/programming_langua... -- The four biggest content-management systems on the web are all PHP -- https://w3techs.com/technologies/overview/content_management...
georgestephanis··on Vvvv – a live-programming environment for easy prototyping and development
Or VV https://github.com/bradp/vv
georgestephanis··on Ask HN: How do you encrypt your laptops?
Yup, encrypt every time.

Otherwise, they may be able to snag your SSH RSA keys off of the hard drive, and if you've password protected it, they can try to brute force it.

Also, it helps safeguard against border patrol wanting to access your data while traveling.

georgestephanis··on jQuery 3.0 Release Candidate
jQuery also tends to handle a lot of assorted browser quirks, giving you a consistent api to call.
georgestephanis··on TSA gave my MacBook Pro to another passenger at LAX, and now it's gone
There's a reason the first thing I do with a new laptop is add about fifteen assorted stickers to it. Very helpful at conferences and such when it comes to keeping laptops distinct.
georgestephanis··on Coming Soon: New .Blog Domains for Websites
Not really. The citation you mentioned above itself says, under "Private Auctions" --

> The winner will pay the amount of the second-highest bid, split either equally or proportionally between the losing applicants

And if you look at the news articles from the time that .blog was auctioned -- like http://domainincite.com/17991-blog-won-in-eight-figure-aucti... -- Minds + Machines, one of the losing bidders, revealed that they had received 3.4 million dollars after pulling out of the bidding for both `.blog` and `.store`

Also, apart from all the above which is public knowledge and there for you to find on your own, I work for Automattic, and when I checked with those who were involved with the .blog purchase, he confirmed that the winning bid was dispersed to the losing bidders. All in all, not a bad consolation prize.

georgestephanis··on CSS coding techniques
You're differentiating procedural versus descriptive code.
georgestephanis··on CSS coding techniques
> This is implied in the previous recommendations, but since it’s crucial I want to stress it: Don’t use !important in your code.

Ehhhh, sometimes `!important` is a good option. I agree that just for the 'quick fix' it's a bad idea, but it can solve other issues beautifully.

For example: If you're writing a plugin or some sort of module that will inject a block of styled content in websites whose normal styling you have no control over, and you need to not accidentally let the sites override your own styling, it's a great fit.

In that situation, it's used to ensure that your block will display correctly across thousands or millions of websites and not fall victim to some awkward accidental local CSS rule like `#body #content #post strong {}` that some developer thought was a clever idea at one point, but didn't realize the implications of the insane level of specificity that is assigned. (I've seen this happen and the support load that it causes).

Far better to have reasonable selectors targeting only your markup, with `!important` so that sites, if they want to, can override your styling, but they just need to be explicit about it.

Long story short, rigidly holding to rules like these in /all/ situations can lead to far worse results for your users than taking them with a grain of salt and making educated decisions while understanding the implications.

georgestephanis··on Coming Soon: New .Blog Domains for Websites
Someone register law.blog as Bob Loblaw
georgestephanis··on Coming Soon: New .Blog Domains for Websites
Not a money grab. All $$ paid by the winner of the gTLD are divvied up to the losers of the auction. ICANN isn't just printing money here or pocketing the price.
georgestephanis··on Automattic Purchases .blog TLD for $19M
It means that Automattic gets a share of every .blog domain sold or renewed, and gets to enact policies around what .blog domains are available (like, can you register emoji in domain names) and other arbitrary restrictions about what can be hosted on the TLD (for example, Google was also bidding on .blog to restrict it to only Blogger sites -- but Automattic bid against them so you can do whatever you want t with your .blog)

Basically, it's an investment both in an open web and in a return on investment over the long term depending on volume of registrations.

georgestephanis··on Automattic Purchases .blog TLD for $19M
No, actually. The sum for the TLD. is actually split between the other bidders for that gTLD.

So if you had applied to bid, and lost out on .blog, you would have gotten an equal share of the money that Automattic paid to be the owner of the TLD.

georgestephanis··on Why ContentEditable Is Terrible, Or: How the Medium Editor Works (2014)
Yup. Wysiwygs are hard. But just saying "You can edit paragraphs, that's all you get" is worse. Clients need to be able to do more advanced things in an editor, and coding a hard limit on never being able to do them feels like pure folly.

Is TinyMCE perfect? Far from it. But it's stable and reliable across browsers, with a well-defined API, and it gets the job done.

I know a lot of folks here would just as soon just use Markdown for all content writing. I like Markdown. Clients hate it. It feels like an obscure language, when they just want something "like Microsoft Word".

And CMS's can hardly say "Yeah, we know we used to support these greater markup sets, but now we're just not going to, so don't open up your old posts, or they're going to lose some content in our bright shiny new editor" -- that's massively problematic as well for user trust.

If you're starting something new, and want to place a hard cap on what your users can do markup-wise, sure, give this a shot. But be very aware of the restrictions that you're imposing.

georgestephanis··on This should never happen
My favorite commit message of all time:

https://core.trac.wordpress.org/changeset/26851

---

The Pinking Shears stir from their slumber, awakened by what may seem, to those innocent in the ways of The Shears, a triviality, a nothing-of-consequence. But there are consequences indeed for recklessly trailing your whitespace. Naturally, they a dire!

One, two! One, two! And through and through

The Pinking Shears went snicker-snack!

They plucked your tail and with your space

They went sniksnuking back.

Let me tell you, that can be uncomfortable, so always pre-sniksnuk your trailing whites. May The Shears be with you.

georgestephanis··on Inside Automattic's Remote Hiring Process
At the point when I applied to Automattic, I was working for Speck (phone and laptop case manufacturer) as a Senior eCommerce Developer specializing in Magento, and had been an active contributor to the WordPress open source project for probably about two years?

That being said, please don't think you need to know PHP to work at Automattic. I mean, it's useful, sure, but JS knowledge is huge as well, and we have some folks on our Data team that just do Python. Our Mobile team works pretty much purely in the languages for Android and iOS. Elasticsearch is something we also do huge amounts of work with (as @gibrown can testify)

If it's interesting to anyone, here's my resume as I submitted it with my application (with personal information redacted) (yes, I wrote it in markdown) -- https://gist.githubusercontent.com/georgestephanis/a5095ca4f...

georgestephanis··on Inside Automattic's Remote Hiring Process
Right, when you add functionality, speed may go down. Okay. It's a worthwhile tradeoff, largely because very few websites are 'just a forum' anymore, and forums aren't distinct parts of a website, they're fully integrated into the design, and by having it be a plugin it can be more integrated throughout the full site, sharing data and widgets and such back and forth.
georgestephanis··on Inside Automattic's Remote Hiring Process
> I'm skeptical of this statement. It seems to rest on many unreliable assumptions (e.g. at a busy company, it seems that a team lead may know better than the CEO when his team needs additional resources to deliver).

As a team lead at Automattic, pretty much all of us have regular chats with Matt -- some on bi-weekly group hangouts, others casual private conversations in Slack -- but we all communicate our personnel needs and concerns to him, and sometimes the solution isn't "Hire a new person for X squad" -- it may be take someone looking for a team switch and shift them around internally.

Having actually experienced this in practice, Matt really is stellar at making sure we have the people we need.

georgestephanis··on Inside Automattic's Remote Hiring Process
To the best of my knowledge, everyone at Automattic goes through a trial process, even up to Director type positions -- https://automattic.com/work-with-us/director-of-business-wra...
georgestephanis··on Inside Automattic's Remote Hiring Process
Any company that claims it can't find talent is artificially limiting their hiring pool, perhaps based on geographic constraints or the like. We're up to 422 Automatticians at the moment, and that's not really slowing down.
georgestephanis··on Inside Automattic's Remote Hiring Process
Yup, my trial took a grand total of about 20h to complete, spread over three weeks. Mostly weekends. (just as an example)
georgestephanis··on Inside Automattic's Remote Hiring Process
Would that even prohibit the employee from contributing code to open source projects? :\
georgestephanis··on Inside Automattic's Remote Hiring Process
Eh, bbPress used to be on BackPress, which was a relatively unmaintained fork of the functional core of WordPress -- rather than having it run on unmaintained software or duplicating effort by pulling code across, it was changed to a plugin -- which is now much easier to set up and share users and content with your main site. It was a good change.

Also, while WordPress.com is WordPress some of the way down, some of our other stuff is anything but. We've been migrating to much more API-driven functionality, and the current WordPress.com dashboard (codenamed Calypso) is purely Javascript, based in React, and fully open source. You can download and run it yourself if you like -- https://github.com/Automattic/wp-calypso

And yes, as noted, Simperium/Simplenote, Cloudup, PollDaddy, Gravatar, others -- these aren't WordPress.

georgestephanis··on Inside Automattic's Remote Hiring Process
We also use Slack extensively, but P2s are a pretty solid choice for us (we used to have the unofficial slogan "more p2s than people!") -- it makes onboarding really easy, as the full history is easily searchable and you don't need to forward emails to new people or the like. It also defaults communication to open, which is super nice.
georgestephanis··on Inside Automattic's Remote Hiring Process
If you do have a conflict, they're normally willing to work with you on how the trial is structured. If I had been under such a non-compete, personally, I'd probably have just done the trial unpaid as a targeted contribution to an open source project or something. Which is very rarely going to be a conflict of interest. :)

tl;dr: they're normally willing to work with you if there's a problem.

georgestephanis··on Inside Automattic's Remote Hiring Process
While trial projects are actually useful things that need doing, I'd hazard a guess based on my experience that the majority of trial projects never actually launch. Some do. Some get passed off to the person after hire to further polish, and others go to another team to review and tweak and evaluate shipping.

I can say that the trial I did nearly three years ago took me 3 weeks to do, and I put 6h30m in the first week, 8h in the second week, and 6h45m in the third week, for a total of 21h15m.

Also, just to be clear, everyone gets the standard $25/h rate, it doesn't matter if you're a developer from San Francisco or customer support from the Czech Republic. It's something that's easier to standardize, is typically for a short period of time, and has zero correlation to final pay -- which is normally above market rates for wherever you happen to live.

I took a ~4% pay cut when I came aboard at Automattic, which was more than offset by company paid benefits (Health, Dental, Vision, Life Insurance all company paid at 100%, I just took 12 weeks paid paternity leave, 401k matching, work trips and conferences are 100% expense-able, etc), and got more than that raised back on my first year's annual salary review.

Source: I've worked for Automattic since May 2013. It's a great place to be.

georgestephanis··on Apple's Tim Cook defends encryption. When will other tech CEOs do so?
Bruce Schneier has one of the best posts I've ever read on why Encryption is important here: https://www.schneier.com/blog/archives/2015/06/why_we_encryp... -- great resource to share to people who don't understand it.
georgestephanis··on Magic – Completes signup forms automatically, with just an email address
If it's the primary email on their account, you already can with Gravatar.

https://en.gravatar.com/site/implement/profiles/

georgestephanis··on A Docker-inspired Heroku clone in 100 lines of PHP
In only 100 lines of PHP!

Requires Symfony.

← PreviousPage 2 of 3Next →