1,299 karma · joined August 12, 2012
- http://www.bbc.com/uzbek (Cyrillic)
- http://www.bbc.com/uzbek/lotin (Latin)
- http://www.bbc.com/uzbek/afghanistan (Arabic)
Using WebPagetest, you can test your page with real devices to get an idea of how it will load for users who are not on overpowered desktop devices hooked up to the Internet over a fibre connection. If you look at the "Filmstrip view" for futureclaw[0], you don't even see any text until ~4.7 seconds in, and the page doesn't look finished until well after 13 seconds because that image takes so long to come in. Hacker News, on the other hand, has content visible at 2.3 seconds[1].
So yes, back-end times are important. But it's a small slice of the overall load time. Just keep in mind that the proportion of people on mobile connections is actually going _up_ in the developed world, and the average speed of mobile connections is not improving. It's really important that we (web developers) recognise this and build sites that can be used by everyone, no matter the speed of their device or connection.
[0] https://www.webpagetest.org/result/161224_TS_264/ [1] https://www.webpagetest.org/result/161224_H9_26Z/
Is there a strategy to tackle the CSS and JS bloat?
Is performance something the front-end endboss folk consider important enough to delay feature releases?
Are you monitoring performance with a tool like SpeedCurve?
600KB of CSS, 800KB of JS... That's fine on your MBP over WiFi but on most pages it locks up the main thread on my phone for a good 5-10 seconds.
A more comprehensive list is here[1], but the main culprits are HTMLElement.offset{Width,Height}, Element.client{Width,Height}, and Window.getComputedStyle(). Avoid these, _especially_ on events like scroll. You will ruin the experience for many of your users.
Did you really find the example imperative error handling code more elegant than the railway-style function composition?
The two aren't mutually exclusive. Many (most, even) of the best developers I know will come to work at 9am, be super-productive for 8 hours, and then completely switch out of Developer Mode at 5pm. It's entirely feasible for somebody to be extremely passionate about programming and learning and problem solving and all the other things that we associate with "good" developers without them doing any sort of work in their own time.
Developers are people, too. They have families, friends, hobbies, and other things that are more important than your 2-3 hour coding test. You are alienating a large number of people by asserting that the ones who complete your coding test are "distinguished". You are also seriously reducing the size of your talent pool whenever you want to hire somebody.
Bad form, Jade.
I wonder if it would be possible (and legal) for somebody who isn't the project owner to copy some of these unmaintained projects into another system?
After those chapters I would highly recommend working through Write Youself a Scheme, using LYAH as a reference when you need a more in-depth explanation of something. This is how I taught myself Haskell, but I realise that this approach might not work for everybody -- YMMV.
Most of the productivity gains I get from Sublime are from packages like Emmet, DocBlockr and my own custom macros.
The major difference between getting into a car accident and taking a fall while free soloing is that while free soloing, you are in control of nearly all of the risk factors. Free soloing routes that are beyond your capabilities, or climbing in bad weather -- that is reckless. Free soloing routes which you have practiced many times with protection -- to me, that's less reckless than cycling to work during rush hour.
How is money earned?
Solving math problems for weather prediction, physics simulations, cryptography (including cryptocurrency mining) and more has real world value. We solve these problems on behalf of our trusted partners, and donate proceeds to your favorite charities.
The key words there being including cryptocurrency mining.
I find the two things that can really eat up the battery are screen brightness and having a poor Wi-Fi connection.
I guess the point I was trying to make is that a huge portion of Git users don't actually need Git; they would probably get everything they need from a conceptually simpler VCS like Mercurial or SVN.
Regarding the DAG thing, this is just because that's essentially how Git actually represents the objects which it stores, which represent your repository and its history. A lot of the time I'm in the mindset of "committing some code to a branch" but sometimes it's useful for me to get into DAG-mode so that I can more easily think about how I want my repository to be structured.
An example is how I work with my master branch, which I consider to be the absolute source of truth for a repository's history. This means that it should be full of complete, atomic commits which are ordered in a way that enables me to do things like git-bisect (for finding bugs), generate meaningful release logs, and just generally understand the history at a glance. So rather than just blindly merge my branches into master, I spend a lot of time using git-rebase to squash, re-order, and edit my commits. I find it easier to do this when I'm thinking in terms of a DAG, rather than some abstract concept of a "commit" (whatever that is).