HNHacker News
TopNewBestAskShowJobs

perttir

50 karma · joined February 13, 2019

submissionscomments
perttir··on Which is the best method for deep cloning in JavaScript?
> This study does not contemplate shallow cloning or performance.

Hmm?

> cloneJSON is very slow and can’t do much. Please avoid it.

I always thought that javascript is fast at JSON parsing. Atleast the benchmark shows nice results: https://www.measurethat.net/Benchmarks/Show/18541/0/jsonstri...

perttir··on Ask HN: Easiest and cheapest full-stack frameworks that you love?
Laravel! https://laravel.com/docs/9.x#laravel-the-fullstack-framework
perttir··on Reverse Engineering TikTok's VM Obfuscation (Part 2)
I used to develop Apache Cordova application that had strong obfuscation using javascript-obfuscator. Apple didn't care.
perttir··on Terraria Source Code (2013)
The code looks bad. I guess it has been refactored later.

The repo says this code is only for educational purposes. This spaghetti can be still a good example for the reasons you mentioned. Or maybe it is a good example for an ugly prototype version of an game.

This could be even better if people could see a refactored version of this codebase.

perttir··on PHP in 2022
I like Laravel, but i don't like Livewire that much. Livewire is really neat when building simple interactive stuff, but when building larger more dynamic parts it gets pretty sluggish and the livewire component codebase starts to feel harder to maintain.

Last time I tried to use Livewire with Vue, it had some issues which caused Vue to lose reactivity. (Maybe Livewire removed the DOM where the Vue instance was rendered. There was some options that prevented livewire from replacing elements with given id/classname.) But if i remember correctly, you cant have livewire element which has vue components as child elements.

Maybe i was doing stuff wrong or the livewire<->Vue compatibility is a bit better nowadays. Or maybe its because I'm too used to Vue.

It felt like the Laravel community jumped to the Livewire hypetrain quite fast and it feels like the livewire recommendation to use alpinejs in someparts is required. And most of the examples for alpinejs requires you to write inline code. (It is possible to split the code to own js files, but then again you are building something that gets closer to Vuejs.)

It feels weird to recommend to write scripts using inline javascript. That requires more CSP modifications for security and also the scripts wont get cached and are loaded every time the page loads. (If I'm correct.)

TL;DR Livewire is great for small features.

perttir··on Why IndexedDB is slow and what to use instead
I fixed some of the slowness issues in my application by writing a nice little cache adapter between my application and Dexiejs.
perttir··on PHP is worth learning and using
Php has developed a lot in a decade.

Lots of new good things in php7/php8. The typecasting is way better than before, but it still allows you to be more "dynamic" if you want to.

perttir··on Offline-First Database Comparison
How fast is the Pouchdb with sqlite on android? I dont really need any replication in my application, should i just use the normal cordova sqlite instead and switch to dexie.js when using in web browser?
perttir··on Ask HN: How did you find your current job?
D
perttir··on Project Starline: Feel like you're there, together
Most internet providers here in Finland provides you fiber connections from 100-1000mbs pretty cheap. And 4g/5g connections from 100-300mbs for cheap prices too. Most of them does not have any data caps.

I have 300/100mbs connection which costs 20 euros in month.

perttir··on Cryptography and how to deal with man-in-the-middle attacks in JavaScript
If the attacker can replace the code inside your web application, then you have security issues somewhere else than in your application.
perttir··on How Going Back to Coding After 10 Years Almost Crushed Me
The main reason why the modern Web GUI frameworks does not always feel good is because they need to support wider ranges of screen sizes, ratios, resolutions, accessibility tools, touch inputs, etc.

And web browser/css if pretty good when supporting different devices/platforms.

perttir··on Ask HN: What new/experimental technology should I learn for the next 10 years?
This is the reason why i chose to use basic cordova instead of ionic in my application. I can't use cool out of the box components when building the UI, but i can implement my own UI components using Vue.

There are still some tradeoffs, the javascript webview ui components are not fast as the native ones.

perttir··on Helsinki Relocation Package: City as a Service
Yeah, if the problem is not acute, usually it's months and months of waiting, now even longer because of the covid.
perttir··on A look at modern PHP
Php supports (somewhat) strictly defined types.

You can defined what types/interfaces methods needs to return, what types/interfaces variables must have, what types/interfaces the method arguments needs to have.

It also supports class inheritance, abstract classes, interface classes, class traits, etc.

perttir··on A look at modern PHP
I use php daily. Mostly Symfony/Laravel stuff. There are still some stuff it needs what other languages have. (Can't really right now remember all the stuff i stumble upon sometimes which gives me the feeling "damn if i could do this like i do it in rust/java/cpp/(w/e)")

Maybe the worst thing is the composer (it's slow.)

perttir··on Switching from Chrome to Firefox
The devtool is nice nowadays. It supports inspecting websocket messages, log events and has a multi-line support for console.
perttir··on Kids' smartwatches have security problems as simple as 1-2-3
There are a lot of people creating software/specifications without knowing what they are doing and it scares me.
perttir··on Show HN: Flash replacement
You should probably put 'APP_ENV=production' and 'APP_DEBUG=false' to your laravels .env file.
perttir··on A guide to Oauth2
Im not sure there ever will be a complete complete oauth2 considering everyone who implement it have their own flavor of it.
perttir··on Group sex app leaks locations, pics and personal details
I contacted similar Finnish based application about similar issues, where almost everything, including all the user images could have been collected from the json api end point.

Their response was that it is not bad system or insecure because the information is only available for logged users. So the api just needs authentication header.

So all the user data could have been easily collected to own database using simple script.

perttir··on Responsible JavaScript: Part I
Anybody else has issue with the side banners being on top of the text in the Firefox?
perttir··on Show HN: Messing with Telnet
Works but it is very slow.
perttir··on Matrix.org hacked
They had root account activated in hebe? Am i reading this right? He got an passlist of 5 million users?
perttir··on JQuery 3.4.0 Released
It is a tool that make some jobs easier. Just like vue/react is an tool which makes some jobs easier.

You just need to know when to pick the right tool for the job.

perttir··on Nokia 9 PureView Now Available: A Flagship with a 5+1-Camera Array
The phone which send data to Chinese servers, were using firmware/software version only used in Chinese market. There were some faulty phones in wrong market where the firmware was using the "chinese version."
perttir··on Google hit with €1.5B fine from EU over advertising
That's small money for the Google.

Last year they gave Google €4.34bn fine and in year 2017 they gave Google €2.42bn fine.

perttir··on Google hit with €1.5B fine from EU over advertising
They were setting chrome as default browser in android. Also they did not allow chaning the default search engine so easily.
perttir··on Linux Desktop Setup
This is why most of people love i3 as tiling wm. Just put it in top of gnome/xfce/whatever, run the first installation wizard and you are done.