neslinesli93 | 5 years ago | on: Show HN: JPEG.rocks – Privacy-aware JPEG optimizer built with WebAssembly
neslinesli93's comments
neslinesli93 | 5 years ago | on: Show HN: JPEG.rocks – Privacy-aware JPEG optimizer built with WebAssembly
I could add some explanation on github and offer two kinds of optimization (lossless and lossy) and add a quality slider for the lossy one
neslinesli93 | 5 years ago | on: Show HN: JPEG.rocks – Privacy-aware JPEG optimizer built with WebAssembly
My initial plan was to replicate the functionality of tools like tinyjpg, thus just offering users a simple interface with good defaults. But I already had in mind the lossy/lossless re-encoding functionality, as well as the quality slider, which I plan to add sometimes in the future
neslinesli93 | 5 years ago | on: How to track and display profile views on GitHub
Hopefully actix-web is a bit more resilient than Python!
neslinesli93 | 5 years ago | on: Next.js 9.4 – Fast Refresh, Incremental Static Regeneration
Some time ago I've decided to rewrite a landing page, written in Node + EJS templates + JQuery, using some kind of static generator. I have always heard good things about NextJS as well as Gatsby, but after some exploration I decided to go with NextJS, since Gatsby seemed more complex and better suited for CMS/other complex websites rather than a simple, light landing page.
The developer experience has been amazing. Plus, I've found an awesome library[0] for dealing with i18n, which completely absorbed the pain of dealing with multiple languages: getting SEO right, make links work, and so on.
Plus, pairing NextJS with PReact, brought my pages first-load size down to ~40KB (external resources excluded), which I didn't think it was possible for something built with React.
The only things that I missed from CRA-like apps were environment variables, which have been added with this release, and a good integration with third-party tools like eslint, typescript and prettier. I did not use typescript because it was just overkill for a simple landing, and I'm launching eslint by hand and in the CI, so I really miss how good the integration is when developing a normal React App bootstrapped with CRA (which has all of this awesomeness out of the box).
neslinesli93 | 6 years ago | on: Why GitHub used Haskell for Semantic
Elm lacks extensibility, tooling, and documentation is not that great. The biggest pain point however is the people who run the Elm language. The design decisions they took hurt the language and the users a lot, breaking more and more with every version bump, restricting freedom and creating a walled garden that people are getting tired of.
What you say about JavaScript libraries is not 100% technically correct though. You can still access any native JS library you like, but you got to use ports. You can't hook into native elm functions bound to the global scope, but that's always been a very shady, undocumented and terrible thing to do.
The following reasons are what, I believe, really ruined elm adoption:
1) You can't create so called effect modules (like the http module of the standard library, and so on) if your package is not within the `elm` namespace.
2) As a company, you can't have shared, common elm modules if they are not published in the Elm package public registry. You can't install a package from GitHub without resorting to ugly hacks like ostracized elm package managers written in Ruby.
3) No development timelines, no companies publicly endorsing or using Elm to develop open source libraries besides the one where the language founder is employed.
I've never tried anything purely functional and typed to do frontend programming, so I'd like to hear if Purescript, ReasonML, etc share the same struggles with Elm
neslinesli93 | 7 years ago | on: Ask HN: Why doesn't a time travel debugger exist yet for JavaScript?
Meanwhile, there is a forked version of the compiler with a hotfix for the debugger that works for most applications, even medium and large ones: https://github.com/elm/compiler/pull/1850
neslinesli93 | 7 years ago | on: Show HN: Sublime Merge – A Git client from the makers of Sublime Text
I have a couple questions: - Do you have a plan to add git flow integration? And what about interactive rebases? - Please, please, allow free users to use dark theme as well! Sublime Text license was really great, why add such a small change?
neslinesli93 | 7 years ago | on: TimescaleDB vs. InfluxDB: built differently for time-series data
As I mentioned inside the article, I tested last year version of TimescaleDB (July/August 2017) and that was my experience with it out of the box.
I am really impressed by all the progress you've made, and hopefully I'll consider TimescaleDB as my first choice on the next iteration of the product I'm working on.
Now, I'm skimming through the docs[1] and as I understand, create_hypertable is called before all the data is migrated, thus all TimescaleDB indexes are already present during the migration. What is the way to create indexes after data migration?
[1] https://docs.timescale.com/v0.11/getting-started/migrating-d...
neslinesli93 | 7 years ago | on: TimescaleDB vs. InfluxDB: built differently for time-series data
Recently, I've gone through this very same choice and ended up with vanilla PostgreSQL (Timescale was not mature enough).
[Shameless self plug] You can read some of the details here: https://medium.com/@neslinesli93/how-to-efficiently-store-an...
neslinesli93 | 8 years ago | on: XPS 13 developer edition 7th generation available
neslinesli93 | 10 years ago | on: Introducing the Keybase filesystem
neslinesli93 | 10 years ago | on: Sourceforge Hijacks the Nmap Sourceforge Account
neslinesli93 | 10 years ago | on: How to clone Agar.io
Blog post regarding the basics of binary data + websockets: http://blog.mgechev.com/2015/02/06/parsing-binary-protocol-d...
I mean, you can be completely sure that the website works offline by unplugging the cable/turning off your wifi connection after it's completely loaded. But that's just a functional test, not something you can expect users to do during a normal browsing session