HNHacker News
TopNewBestAskShowJobs

jlees

3,660 karma · joined October 13, 2008

aka jennielees (twitter, gmail, github, dot net.)

I like systems, tea, videogames and people.

I work on backend data microservices at Riot Games. I used to work at Nylas, and Google before that -- I also taught at Hackbright Academy.

submissionscomments
jlees··on Immortal ZX Spectrum games
Well, it was POKEs from Your Sinclair that got me into programming, so perhaps I have you to thank? Thanks!
jlees··on Let’s Build a Web Server, Part 3
I used Part 1 of this tutorial as the basis for a lecture in a full stack web development class. Fantastic resource, and while my students praised the content for helping them figure the "why" as well as the "how", the praise really belongs to Ruslan.
jlees··on LinkedIn quietly removes option to export contacts
I also have found the recruiter email to have gotten a lot better recently. As an experiment (as my startup is hiring - I wanted to see what the candidate experience might be like these days), I expanded my LinkedIn profile to trigger as many recruiter-friendly tickyboxes as possible, expecting a deluge of spam. I got about five messages, all fairly well crafted and personalised to some extent. Honestly, I get more spam to my email address than InMail these days.

I also ran a fun experiment where I set up another LinkedIn profile nearly identical to my own, changing the name and gender and writing a very terse summary for each job. Boy, does he get a lot of random spam. I wonder if by writing a more detailed description of my skills/experience/contributions, I somehow generate better inbound messages...

Speaking to the point about "what would you export", I definitely have contacts who I am only connected through via LinkedIn; a key example being former colleagues whose personal email addresses I never got, and whose work emails I barely remember. I think it depends on the kind of network you have built there, though. The more work you've put into your LinkedIn connection pool, the more you want to export it.

jlees··on LinkedIn quietly removes option to export contacts
Since LinkedIn shut off their contacts APIs, folks have been looking for other ways to get at LinkedIn connections data. Export is an obvious solution - even though it requires some friction on the part of the end user, people are often willing to jump through a couple hoops if your app solves a real pain they have. By increasing the friction, people developing apps which try to make use of LinkedIn data have to try harder and inflict more friction on their users, hopefully (in LinkedIn's eyes) shutting down more of those apps for good.
jlees··on Ask HN: What data visualisation tools do data scientists and developers use?
Seconding the IPython Notebook. I've used matplotlib but also like Plot.ly for its prettier, more sharable charts.

It's also not a huge amount of work to set up a JSON-Flask-D3 visualisation pipeline out of test data; that's exactly what I did for my current data project, using cubism.js to easily visualise a time series. Again, benefits are the ability to easily share.

Also, sometimes, Google Spreadsheets/Excel can be the easiest solution to throw up quickly - or using built-in data explorations in RStudio. I've also thrown graph data into Neo4j because it gives you a nice visual interface for free.

jlees··on Ask HN: Good Python codebases to read?
Putting on my "Python teacher" hat for a moment (I also work at Nylas), our codebase is interesting for learning purposes because it's a fairly homogenous, 'live' product managed by a commercial engineering team. Definitely on the complex side of things, though -- let me know if you want any help figuring it out (we also have a community Slack at http://slack-invite.nylas.com/).

On the testing side, I was chatting to a fellow Pyladies attendee about how we do test fixture setup and teardown (especially around databases) -- you might find that interesting to look at too.

jlees··on How We Deploy Python Code
For e.g. changing the format of a column that's easy enough but it's tricky to create that intermediate state at the migration level for every migration. One option is to deploy the migration code without restarting the running services (or to a different box), rollback the code if the migration failed, restart the services to pick up the new code if it succeeded. This still means not writing migrations that actively break the running version though - if you're using database reflection, everything will go boom when the schema changes.
jlees··on How We Deploy Python Code
Looks neat. I think there's definitely a difference in the requirements for a deploy method when you can control the underlying systems (internal servers) vs have to make it work with just about any weird config users throw at you (your agent).
jlees··on How We Deploy Python Code
To be fair, what didn't work for Nylas might well not be an issue for others. There's definitely more than one way to skin a cat, especially in the Python world.
jlees··on How We Deploy Python Code
That seems like a neat tool. I wonder if you could combine it with the sandboxing that dh-virtualenv provides to get the best of both worlds?
jlees··on How I became an artist
As an engineer recently rediscovering the pure, tactile, offline experience of creating art (not that I would go so far as to call what I have created so far 'art'), this piece couldn't have come at a better time. I really appreciated how Noah shared his journey, it definitely inspires me to keep going. I also recommend giving sketching/drawing a go for anyone looking to spend a bit less of their 'relaxing' time on a computer screen (though of course I am eyeing up digital art as a someday!).
jlees··on Ask HN: Who is hiring? (July 2015)
Nylas | https://nylas.com/ | San Francisco, CA (Mission) | Frontend (JS), Backend (Systems+Ops)

      _   _       _
     | \ | |     | |
     |  \| |_   _| | __ _ ___
     | . ` | | | | |/ _` / __|
     | |\  | |_| | | (_| \__ \
     \_| \_/\__, |_|\__,_|___/
             __/ |
            |___/
Hi! We're Nylas and we're looking for help building the next generation email platform. We're building a missing piece of Internet infrastructure and are looking for frontend application engineers and designers and backend systems and infrastructure/operations engineers to join us.

Companies are building their core businesses around our email API right now, and that means we have to be reliable, up all the time, and fast. We have more data for a single user than in most startups' entire database. We're scaling heavily and if you have experience with automated deployments, debugging running systems, release engineering, and on-call schedules, but are still comfortable writing code, this job might be for you. :)

Many people spend their entire days buried in mail clients which haven't significantly changed in years. Yet have you ever met anyone who really loves their email experience? We want to change that. We're building a frontend framework to power the next generation of mail apps. Sound exciting to you? Apply here.

== We're particularly looking for folks who ==

* Take personal pride in their work and value craftsmanship, autonomy and ownership.

* Want the chance to step up and lead a team.

* Put the work before ego. We've got each others' backs, and we want you to be with us on that.

== A bit more about us ==

* Our backend is built on tools like Python, Flask, gevent, nginx, MySQL, AWS, and Debian. We've been careful to keep our architecture componentized.

* Our frontend projects use Coffeescript, React, (Re)Flux, SQL for offline caching, Electron (Atom Shell), and no jQuery.

* Tons of our code is open source, including our main sync engine. Check it out: https://github.com/nylas

* We're 40% women on our team of 13 (12 engineers), including 1 of 2 cofounders. We want to make that number 50%.

* We have an open vacation policy and value personal responsibility and ownership. Benefits include full health, dental, vision, commuter, and lunch at the office every day. Some remote work / work-from-home is OK too.

Apply at https://nylas.com/jobs - you can also ping me directly (jennie at nylas dot com), I'm one of the platform engineers. We're a diverse team and encourage applications from those of all backgrounds.

jlees··on Pip -t: A simple and transparent alternative to virtualenv in Python
We use dh-virtualenv and it's working out pretty well for us so far.
jlees··on I spent the last 15 years trying to become an American and failed
EB2 'other' anecdote: I came to the US in 2009 on a H1B (job offer in October, granted in December) and filed for my green card almost immediately. I had my card within 18 months, most of which was PERM.

I realise I was very fortunate in three things: timing, nationality (British) and education (two Master's degrees, so EB2). During this time I was paid market rates, though I did go through a period of minor panic when I realised I basically couldn't leave Google while my green card application was pending and I had no idea how long it would actually take. But articles like this make me extremely sad that others can't be so fortunate, and I wonder what it is we (non-voting residents) can actually do about it...

jlees··on We Tried Slack and Regretted It
It depends on the community. For this one, it's a bunch of folks learning to code and getting coding jobs; I can imagine many of those ending up working at tech companies who might be great Slack customers, and evangelising because they had such a great experience using it - so the investment of supporting a 'free' chat room could pay off over time.
jlees··on Ask HN: Has YC or other VCs invested in gaming startups?
Signia has also made some gaming investments and had a gaming focused EIR for a while.
jlees··on Projects the Hard Way – Coding Projects for Early Coders
I agree, but it looks like there will be more projects coming. I teach a class aimed at exactly this "Codecademy chasm" and tend to use small, practical apps e.g. parsing San Francisco street sweeping data or getting the weather forecast. I'm pretty sure most of my students have no idea what logs are.
jlees··on Google: 90% of our engineers use the software you wrote (Homebrew), but...
I've definitely seen interviewers (both by reading other people's feedback, and in one rare case, being an interviewee) who expected a "correct" answer and wouldn't work with the candidate to get there if they didn't already know it.

See also: overused brainteasers. I remember being asked the 5 litre / 3 litre / get 4 litres problem for my Microsoft intern interview, and honestly told them that I already knew the answer, so I wouldn't be "solving" it, but here it is anyway...

jlees··on Google: 90% of our engineers use the software you wrote (Homebrew), but...
It depends how your interviewer is ranking/scoring you. One interviewer might be impressed with your ability to talk through and solve the problem from first principles, where another might ding you for not instantly knowing the answer. The former type of interviewer would be happy to give you hints and prompts, the second is a stone wall. I try to be the first -- it helps assess how a candidate responds to coaching too! -- but there's a spectrum between "nudging" and "telling them the answer straight out".
jlees··on How my father gave me a terrifying lesson at 10
> My grandparents and parents worked very hard to provide me with the environment to succeed. Success? Stopping another generation from going down the pit.

This feels like the generalised version of the story in the BBC article, in a way. Though with the pit closures, what happened to the generation whose parents didn't work hard to get them a chance to do something different?

Half my family is Welsh and I have coal-mining ancestors -- only my great-grandparents, I think, as my Taid ran a pub. I'm the first one in that side of the family to go to university, and I know they were always extremely proud to have put my mum through nursing school and let her find a different path. It really makes you stop and think, and in my case, feel deep gratitude for those who worked hard to set up a better life for relatives they barely even met.

jlees··on What You Find While Cleaning Out the Office of a World-Class Researcher
Indeed - giving talks, supervising research students, etc.

Having said that, I worked with a professor who had effectively taken the same route; his work was relevant in the eighties and hardly used since. My job was to try and reimplement his algorithms (ALGOL 68) in Java, which involved talking to him a lot to understand the work -- it felt like he was genuinely happy to have someone to talk to about it, and various departmental shifts and changes over the years had gradually disconnected him from the world, rather than his own decision to start gathering dust.

jlees··on Cakes, Custard and Category Theory: Easy Recipes for Understanding Complex Maths
This sounds like a lovely book. Can't say I'm a huge fan of the "maths for girls" angle, but anything that makes mathematics more accessible is great.
jlees··on Finally, Machine Learning Without Writing Code
Reminds me of MS's azure ML offering, among others. I would be loath to use a black-box service to plug and play like this, as I think understanding the right models to build and the outcomes you want to get are crucial parts of using data science well.

However, I can see this being useful for certain folks who want to get some initial integrations done, with a clear upsell to the customization and hard stuff. I think you'd need to rework this page to be a lot more about product applications and walk-through examples - as it stands, to a non-data person it reads "blah blah data model blah automatically blah optimization blah machine learning", when it would be more powerful reading "add product recommendations to your site in 5 minutes".

jlees··on Show HN: Explore 16 Years of Green Card Applications
Neat tool, though it's a little disconcerting to be able to easily find my application - not your fault, though, the data was already there!
jlees··on I Would Like to Get a Raise Template for Webdevs
At a guess, you're using Windows and the author is using Mac? [1] (I'm also using Windows -- it's my gaming PC, don't judge! -- and having an equally difficult time.)

[1] http://damieng.com/blog/2007/06/13/font-rendering-philosophi...

jlees··on Blind Auditions Could Give Employers a Better Hiring Sense
> One of my standard statements is that the ability to do a job is not a guarantee to get the job - it is just the base requirement to even be considered.

That's fair, but I think the issue is that some people with the ability to do a job are being rejected out of hand, often due to assumptions and biases that folks might not even be aware they possess. For example, the community college candidate.

I've watched folks with non-conventional backgrounds struggle to even get that first phone call, even for jobs it's clear they are fully capable of doing. Once that's established, sure, culture fit and other things have to come into play (can they function in your kind of company? do they have a passion for the space? and whatever else you hire for).

jlees··on Ask HN: How to get lots of spam, fast?
Mailbait looks helpful for a project of mine, thank you for sharing!

I used GenSpam [1] for my thesis on spam filtering, but it doesn't seem to be as comprehensive as others out there, plus using a corpus instead of 'live' email might not be quite what the original poster wants.

[1] http://www.benmedlock.co.uk/genspam.html

jlees··on Santa Monica council votes 7-0 to crack down on Airbnb
That's interesting, I had always thought the same as the poster you're replying to. It really shows the psychological/brand difference. I'm far more likely to go out and buy a 3D printer. Perhaps it's the word "printer" or it's some imagined preconceptions about the learning curve -- there is a lot of effort going into making 3D printing super accessible right now, and that's the problem pointed out a few comments up this thread.

When it's accessible to everybody it's accessible to the people we forgot were also included in "everybody", those with bad intentions -- or simply different ones, such as maximising their personal profit from an apartment rather than living there and being part of the neighbourhood. If we start seeing mainstream magazines talk about desktop CNC milling machines and classes pop up to teach kids how to use them -- and you know, with the Maker movement that's certainly possible and is probably already happening somewhere -- then these technologies become just as "dangerous" as 3D printers.

jlees··on How World of Warcraft led to Glassdoor
I agree that it's likely the PvP rank. I could definitely see that taking a year or longer. Although plain old level 60 is still plausible - while it only took 11-15 days to level 60 if you knew what you were doing, a lot of us took longer than that because we took a roundabout route, whether out of fun or ignorance -- or leveled multiple characters before picking one, or maximized our tradeskills while leveling as seemed logical initially, etc.
jlees··on Ask HN: If I were your dream hire, would you hire me? I live in Somalia
I know of at least two engineers (and the usual caveats about anecdotal evidence apply here!) who got jobs in Silicon Valley after freelancing remotely for the same company, including a H1B sponsorship, something that's by no means guaranteed.
← PreviousPage 2 of 34Next →