HNHacker News
TopNewBestAskShowJobs

mundanevoice

140 karma · joined March 15, 2014

[ my public key: https://keybase.io/vinitkme; my proof: https://keybase.io/vinitkme/sigs/aG65oAbaepl0V9yM4lIHx3MFRN8mGqYeOQ63qYJWvdw ]
submissionscomments
mundanevoice··on Flask 1.0 Released
I agree some frameworks enforce good design decision but none can guarantee it. That's my argument here.

There are good frameworks in PHP too and not all PHP code is garbage.

mundanevoice··on Flask 1.0 Released
This is sad. Flask is a very nice microframework that does not have any of these scalability limitations for which your employer asked you to switch to Django.

I have used both Flask and Django for a long time, so I think I could contribute a couple of points in this regard.

- Django with a very good documentation and batteries included helps to build a lot of functionality in less time without having to look anywhere else. In the same time, flask being a microframework, you need to look for the batteries yourself and it takes experience and knowledge to know which components to use and which to avoid.

- None of these two frameworks will magically fix the scaling issues or are free to scaling issues.When you hit issues with scaling, you need to find the bottleneck and fix it. There is no other magic bullet here. I would suggest do not be religious about things and try both of them without any bias in your personal projects and then evaluate. Do not form an opinion without knowing something yourself.

mundanevoice··on Flask 1.0 Released
This is a false statement that Django is unsuitable for large projects. I have been working on a fairly large Django Project for 5 years now and it has been a pleasure using Django to build good and stable features that actually scale.

> The nature of Django encourages tight coupling between unrelated parts of the system - Models intertwine database operations and business logic, ModelViews intertwine db operations, business logic and the interface layer.

It totally depends how your architect your application and how you write code.

Any framework you choose, you need to write good code, keep an eye on db operations, enable caching where it is required and you will survive the scale just fine. All the arguments are exactly same in the favor of slack.

Do not spread the FUD that using a framework can magically make your application scale. I have seen very bad and very good code in both Django and flask. If you want your application to scale, you need to carefully work on it there is no silver bullet.

mundanevoice··on Jeff Dean takes over as Google’s AI chief
I would consider myself a success if I have even half of this empathy and patience. :)
mundanevoice··on Jeff Dean takes over as Google’s AI chief
Brad is amazing. He has contributed so much back to the OSS and written excellent code. A true hero, also the youngest of the lot in the book.
mundanevoice··on Android Studio 3.1 Stable
Well, the rule of thumb is that if you need stability, never upgrade on the first day of release but rather wait for 1 week or two. I personally have faced and upgraded my apps through many of these upgrades and there was rarely an earth-shattering issue that I was not able to solve. YMMV.
mundanevoice··on Android Studio 3.1 Stable
Okay. That's almost crazy. In my almost 3 years of maintaining our app that was originally written in Eclipse, we never had to face any single issues like this. There were some minor issues but never like this. It makes me wonder if the your project structure or the way project is written is crappy.
mundanevoice··on Do not use NPM 5.7
I agree with most of what you said.

> That is pretty common practice for a lot of software and especially packages on npm.

This is mostly what I have a problem with. Almost everyone is other ecosystems do not do something like this and there is a very good reason for it. Why not just follow a known and standard process of releasing things. https://twitter.com/maybekatz/status/966730802187792386

Even the NPM dev acknowledge the current process to be faulty and are considering switching to use pre-release tags.

mundanevoice··on Do not use NPM 5.7
The quality of what's being delivered since version 5 leaves a lot to be desired. They should really more people to their team and someone better since a lot of people depend on this code. Also, what's up them not understanding how semver works and releasing a pre-release code as the regular version. That's pretty basic man and rarely someone is OSS fucks up this badly actually.
mundanevoice··on White Paper is a jekyll theme built keeping content for developers in focus
- Live preview here: http://vinitkumar.me/white-paper/
mundanevoice··on Django 2.0 released
> The inverse is long boilerplate code, setting up multiple services and factories and fooWidget stuff just to do a simple thing

Are you not talking about Java here? ;)

Clearer code makes it easier to reason and hence easier debugging. Correct me if I am wrong.

Also, it really depends on person to person on how they write the code. Django does not mean big boilerplate nor does Rails.

My main question was on performance. How do they stack up next to each other? Python3 with Django is really working well these days. You can also check out the performance improvement on Instagram because of it. https://thenewstack.io/instagram-makes-smooth-move-python-3/

mundanevoice··on Django 2.0 released
Well. I disagree that it is not a real thing. For better debugging, you need to know more what's behind the scenes. Personally, I have seen some of my colleagues struggling to find the cause or better architect the thing because most of the decision has been hidden/taken by the framework. Not saying, it's true for all Rails dev but for some beginners, it really bites them.
mundanevoice··on Django 2.0 released
I have been writing Django professionally since 2013, It's ain't that bad. Our codebase is huge & it never takes us more than 2 weeks to do it and lately, it has always gotten less and less. Wonder if the issue is with your codebase that it breaks so much on upgrades.

Python3 upgrade is a task, agreed. But it actually gives good returns. The language is nicer to write in and we even saved some memory and CPU on the same load after the upgrade. So highly recommended.

mundanevoice··on Django 2.0 released
How about performance? Bugs that might come up due to the implicit nature of Rails? Just curious, since you have seen both sides.
mundanevoice··on Towards Linux Kernel Memory Safety
> code line count is a hilariously inaccurate way to measure the complexity required for a portable OS kernel vs a userspace application

I never said that. My whole premise is that you can't say anything like this by just saying code count on two very different projects. Maybe you didn't read my comments properly.

mundanevoice··on Towards Linux Kernel Memory Safety
> You don't have to port everything to gain a lot of the benefits.

I agree with this. But just saying Firefox has X millions of lines of code doesn't say anything about the possibility for Linux to be ported to Rust.

mundanevoice··on Towards Linux Kernel Memory Safety
The whole Firefox codebase has not been ported to Rust and will not be anytime soon. So your argument doesn't hold true.
mundanevoice··on Code together in real time with Teletype for Atom
This is super neat. Would be awesome debugging with my teammate when I am working remotely.
mundanevoice··on GitHub Discover
I think it was explore, not discover and also, was not on the homepage.
mundanevoice··on Show HN: Generate avatars from user initials
It won't be if you only send the first letter of the first and last name.
mundanevoice··on Sublime Text 3.0
I make enough to buy any damn License I want. I never said it was not justified. I don't use Sublime these days. I had fond memories of starting with Sublime and so I said and for the nostalgia sake, I will fucking buy the license as well. So stop assuming things and judging people, alright?
mundanevoice··on Sublime Text 3.0
Thanks for building a great editor that just works and is fast enough. It has the lowest barrier to entry and is mostly free due to unlimited trial. 5 years ago, when I started writing code professionally, Sublime made things so easy because I didn't have to learn an IDE to write code.

Many kudos and one day I will definitely buy a LICENSE.

mundanevoice··on Ask HN: What's your spectacular burnout story?
Glad that you liked my advice. I am going to start doing it once more. I am a vacation at the moment.
mundanevoice··on Ask HN: What's your spectacular burnout story?
It happened to me when I was in the first year of my job. I was coding for 14 hrs straight for more than a year. I had a lot of websites that I needed to maintain and all the tech was new to me.

Then when burnout struck me hard, I realized that I just don't want to open my laptop anymore. Also, even side project started to feel like a burden to me.

Then I decided, enough is enough and I need to do some changes to my life.

- I did join a gym near my house.

- I stopped coding in evenings. I would wake up early and code for 2-3 hours in morning and be content with whatever I achieve during that time.

- Evening hours after office would be only for gym, relaxing, having dinner and watching TV.

Believe me, it was the best decision I did for myself. My health both mental and physical improved drastically and I started loving coding again.

mundanevoice··on Explaining React's license
This is a very dangerous follower mentality. You and I are not in the league of these big companies. If FB sues them they have deep enough pockets to fight back. But we, we would just vanish into thin air.
mundanevoice··on Redesigning GitLab's navigation
Okay, so BitBucket style navigation.
mundanevoice··on Django vs. Flask
Nginx + Gunicorn is what we use. It has worked great for us. We have also tried uWSGI, a waitress for our production and Nginx + Gunicorn have been sure shot winners in terms of scalability and performance.

This is our gunicorn.conf that ensures gunicorn does not cause memory leaks

    import multiprocessing
    import os
    import random
    from getenv import env

    def pre_fork(server, worker):
       f = '/tmp/app-initialized'
       open(f, 'w').close()

    bind = 'unix:///tmp/nginx.socket'
    workers = os.environ.get('WEB_CONCURRENCY', 
    (multiprocessing.cpu_count() * 1 - 1))

    MAX_GUNICORN_REQUESTS = env('MAX_GUNICORN_REQUESTS', 100)

    if MAX_GUNICORN_REQUESTS:
       max_requests = MAX_GUNICORN_REQUESTS

    MAX_REQUESTS_JITTER = env('MAX_REQUESTS_JITTER', 25)

    if MAX_REQUESTS_JITTER:
        max_requests_jitter = env('MAX_REQUESTS_JITTER', 25)
mundanevoice··on Now UI Kit – A Bootstrap 4 UI kit
Yup, could be, but by the very definition of alpha and beta means things could change.
mundanevoice··on Now UI Kit – A Bootstrap 4 UI kit
Will Bootstrap 4 ever be released? I have been waiting so long for it.
mundanevoice··on Optimizations which made Python 3.6 faster than Python 3.5 [video]
> One thing to keep in mind is that python 3 is still considerably slower than python 2.

You have wrong information.

← PreviousPage 2 of 5Next →