HNHacker News
TopNewBestAskShowJobs

izackp

21 karma · joined November 3, 2020

submissionscomments
izackp··on iPhone Typos? It's Not Just You – The iOS Keyboard Is Broken [video]
I literally just had a dream about this. Where I needed to urgently send a message, but I kept messing up the text. Weird. At least now, I know I'm not just fat fingering it.
izackp··on The key to getting MVC correct is understanding what models are
Hi, I've been making iOS apps for over 10 years now. I've experimented with many different styles, and even started doing android and web development. One thing I learned is that every abstraction or indirection makes things slightly harder to read and debug. Observers seem to have been a solution to 'callback hell' before async was a thing. However, it's rife with pitfalls.

With Observers:

We have hidden control-flow and lost intent. They subvert the readability of the developer's intention, in some cases they make you lose the callstack, and it has you searching the project on what code modifies a variable which is a lot harder than searching for a function call. Don't get me started on dealing with handling errors and out of order events. And oh man, is it easy to just avoid using encapsulation and creating a good interface/api for your piece of code.

Most of your code isn't re-usuable as you think:

A lot of things are naturally and forever tied together. Your UI is a reflection of _some_ model, The actions it can perform is based on it's current context, and if your UI changes then your business logic and model probably changes as well. This die hard need of separation and modularity only increases the complexity of the code with the majority of times the code not even being reused.

The only case that I've found somewhat reasonable to use observers is the database. What caused the database to change and effect it has is already pretty far removed from each other when a piece of UI needs to reflect the database.

Granted, It's possible to work around some of these issues, but please please I'm tired of debugging why a menu only opens 50% of the time because there is a piece of code several classes away from the context that doesn't fire correctly and looks like if (child.preferred.child.model.somethingElse.isFinished) { child.menu.child.openMenu = true }

izackp··on An image of an archeologist adventurer who wears a hat and uses a bullwhip
AI is just a complex lossy compression algorithm.
izackp··on FLAC 1.5 Delivers Multi-Threaded Encoding
That's a bad illustration. The letters are there.. they're just slightly lower rez. Like going from a 256x256 space per letter to 128x128. Is there a difference? sure. Can you read it perfectly fine.. of course.

You could probably argue that these are handwritten letters but the argument still stands.

izackp··on Are LLMs able to notice the “gorilla in the data”?
I typically tell it that there at 5 problems in the logic. Summarize the steps, why it’s necessary, and what typically comes after that step. Then please list and explain all five errors.
izackp··on Svelte 5 Released
My first web project was with svelte.

Lack of a debugger for the server sided JavaScript seems just as silly to me as server sided JavaScript. I would consider that alone a non-starter.

I’d recommend another solution for experienced devs.

izackp··on Ask HN: Has anyone else stopped playing video games as an adult?
Games are designed to be addictive, so once you stop its like quitting soda.. eventually you lose the taste for it.

Though, I noticed a lot of satisfaction from my life comes from interactions with others. Games no longer encourage quality interaction like they used to. Your friends get older then get married and get busy, so theres less of that. I usually analyze a game and decide if its wasting my time or improving my time on this earth.

Then there are the single player games. I feel like these had more meaning when the market wasn't as saturated. A lot of times you're just chasing nostalgia from that one really good game you've played. Hoping to recapture the same feeling. Not only that, most aaa games now days are now products of money instead of passion.

So if I had to guess why anyone stopped it's probably one of the reasons above.

izackp··on Develop in Swift Tutorials
Swift has some of the simplest code for what it’s trying to accomplish. Any complexity is opt-in.

Error handling is great and works well with async. Protocols and enums are amazing. It’s keeping up with new patterns and techniques such as implementing move semantics and actors. As well as c and c++ interop, and so on.

Support is coming for other OSs.

Kotlin constantly clashes with java. It almost feels like typescript + JavaScript.

Rust doesn’t allow for shared mutability making common/simple patterns for making apps much more difficult. I like rust but it has its own place.

izackp··on WinRAR zero-day exploited since April to hack trading accounts
7zip supports aes-256 encryption on zip files. Windows does not.
izackp··on How to Stare at Your Phone Without Losing Your Soul
> But consider that anything not honoring your time and attention is disrespecting you.

A great statement. I apply this to many things especially video games.

izackp··on Over the past 21 months I’ve written a code editor from the ground up
I too have the same sentiment.

I realize though there are not many frameworks for cross platform development. If you do want a native language you'll probably have to use QT. There are more out there, but most are based on native widgets which have their own unique behavior which makes them difficult to abstract.

It seems to me that these electron web apps provide this 'leak free' abstraction.

izackp··on NYC Slice
They raised the price and added more pepperoni (less cheese). :(
izackp··on Discord fined €800k for failing to comply with several obligations of the GDPR
Would GDPR still apply if discord stored all personal data on other p2p clients?
izackp··on The Vale Programming Language
It doesn't have to be a mental burden.. Just write all your variables as mutable then let the ide automatically correct them to immutable. Ex: "Warning: This variable is never mutated. Would like to make it a const? <Fix>"

Let's say it is a mental burden. I'd rather have the burden when writing the code over when reading the code. (https://news.ycombinator.com/item?id=31823991)

izackp··on The Vale Programming Language
I would definitely prefer swift's 'var' or JavaScript's 'const' here.

The solution in the link adds to cognitive complexity. Imagine you had bad code (Worst case scenario; which always happens). A function with 400+ lines of code. You would have to scan the entire function just to figure out if a variable is mutable then you would have to force yourself to remember _all_ the variables that are mutable when evaluating behavior.

izackp··on Ask HN: What to do instead of drinking alcohol?
* Cleaning

* Exercise (Mountain Climbing; Basketball; Kayaking)

* Learn things

- - to dance (Bachata/Salsa)

- - a new language

- - an instrument

* Hobby groups on Facebook

- - Meet randos to play boardgames

* Make things

* Help people

The biggest problem with me is being social. That's what people want to do around the weekends. The dance classes allow me to interact with people in a less awkward way, but it hasn't exactly provided me with as much opportunities as drinking at a brewery to meet people..

izackp··on VMware mouse driver for Windows 3.x
So just stop having any form of self control? Yeah, I think that's already proven to not make me happy lmbo
izackp··on Usbimager – A non-electron based alternative to Balena Etcher
There is also 'dd' and winDD for windows.
izackp··on Best Practices – Why I Hate Them
Disappointed. I was hoping for a list of best practices and how their cost can be greater than their value.
izackp··on Court issues permanent injunction in Epic vs. Apple case
>lower commissions on larger publishers

From what I understand that Apple does do this. It's just not public information, and EPIC rejected the offer.

izackp··on LZ4 – Extremely fast compression
Some interesting and related projects:

https://github.com/strigeus/ipzip - TCP/IP Packet Compressor with LZ4 support

https://github.com/centaurean/density - Extremely fast de/compression

izackp··on Why I Prefer Functional Programming
I see little difference in the core concept:

pos = pos.moveBy(x,y)

vs

pos = moveBy(pos, x, y)

izackp··on Fast Inverse Square Root
https://gist.github.com/izackp/5ae96a740678946d8763c198b0e54... I have a list of functions for distance calculation with metrics on speed and accuracy. If anyone would find it useful.