HNHacker News
TopNewBestAskShowJobs

deniska

270 karma · joined February 24, 2012

submissionscomments
deniska··on Last Day of IKEA in Moscow
Gorbachev is 91 and still alive.
deniska··on Why I will never buy another Samsung device
I was using Nexus 6 from 2014 in 2019. And honestly I would continue using it if its battery wasn't in abysmal state leading to throttling. Considered buying new old stock or trying to replace a battery in this one. N6 is a 32-bit only device, that's the primary (the only?) reason I switched to something else, it would limit software choice going forward.
deniska··on Cloudpilot, a PalmOS Emulator for the Web
Palm IIIe. Great little device I had as a kid. Sim City, Strategic Commander, some other games. BASIC, Lisp, maybe some other interpreters also?

And AvantGo web browser, which primary mode of operation was syncing pages with a desktop computer to view offline.

deniska··on PHP – The Right Way
Sure, but if we're talking about these languages being "socially acceptable" for writing websites, they arrived a bit later to the party than PHP.

Granted, it still happened about a decade and a half ago, so I hoped the sarcasm using the word "new" would come through.

deniska··on PHP – The Right Way
Shared hosts are still there, and are cheaper and much simpler to use than your average cloud based deployment. Some even support these new hipster programming languages ruby and python.
deniska··on NASA says Webb’s excess fuel likely to extend its lifetime expectations
If spinning up a new microservice would be as complicated and expensive, as yeeting fragile scientific equipment to a Lagrange point, you'd see better engineering in the cloud software world.
deniska··on Gunicorn
Apache has mod_wsgi, nginx not so much.

mod_wsgi is a much less flexible setup when it comes to mixing and matching different python versions

deniska··on Wordle Is a Love Story
Last couple times I started with the word which rhymes with "tennis".
deniska··on How a hypermedia approach can address usability concerns with multi-page apps
The difference is not having to touch NPM.
deniska··on There's never been a better time to build websites
The title is pretty much the only part of the article I agree with.

While the industry was largely distracted by various NPM packages, the foundation we are building sites on got really nice. And I believe in some situations there's value in trying to use this foundation directly, not via a plethora of abstractions. Browsers are great, DOM API is great (well, certainly provides some really nice utils we previously had to look for in external libraries like jquery). CSS is great. I will write "display: flex;" multiple times just because it feels nice to type that, compared to the dance we had to do a couple of decades ago to achieve same layouts.

Static sites are great. They are fast to build, and they build fast. They are really easy to deploy as well. And they also work really well on end user devices. No single line of JS required, but if you want to have some liveliness on the page which can't be easily achieved by CSS animations, very few lines of JS are actually required nowadays. And 0 NPM packages.

Modern JS web frameworks do solve problems some people actually have. But they're best suited for big corporate style webdev. For personal projects I prefer something more… artisanal? Dunno, it's like building a piece of furniture yourself instead of buying one from IKEA. Probably less practical, but feels nice. And may actually fit better in this one weird corner you have.

deniska··on Don't start with microservices – monoliths are your friend
> People throw around “distributed monolith” like it’s a dirty phrase but I’ve found it actually a very pleasant environment to work in.

For ones I saw, the answer to the question "how do I run our project on a single laptop?" is "haha, you don't". That makes features which could take hours to implement take weeks. But deployment is 5 minutes instead of… 15? Not too worthy of a trade-off.

Your CSV writer probably has both technical and organizational reasons being an independent unit of development. Or, in other words, something which appeared organically, rather than someone deciding months prior before a project even started that authentication and user profiles should live in two parallel universes.

deniska··on Don't start with microservices – monoliths are your friend
Unless you have a strong technical or organizational reason to use microservices, using microservices is just more work to achieve the same results.

Organizational reason would be multiple people/teams who don't want or can't talk much to each other, so they develop pieces of a larger system as relatively independent projects, with clear API and responsibility boundaries. Frontend/backend style web development is an example of such approach, even though we don't typically call these parts "microservices".

A technical reason I can see is some component of a system actually having to be written in a different stack, or to be run in a separate location for business reasons (separate physical computer, separate VMs or containers don't count). Like a firmware running on an IoT system. Or most of the system uses python, but there's a really good library in java for solving some very specific problem, so let's use it.

If neither of these reasons stands, you don't have a microservice architecture, you have a distributed monolith. You just replaced some function calls with RPC. RPC call which takes a much a longer time than a local one, and can randomly fail. Most of your microservices are written in a single stack, so you refactor common parts into a library, but then different services are stuck to use different versions of this library. You end up with a much slower and a much more fragile system which is harder to work on for no good reason.

deniska··on Django, HTMX and Alpine.js: Modern websites, JavaScript optional
> HTMLX uses innerHTML/outerHTML extensively, meaning that XSS is a real concern.

It's the same kind of a concern as having a user input inside HTML served from a server in the first place. And typical backend frameworks people would use with HTMX are already good at mitigating XSS inside served HTML.

deniska··on Give me /events, not webhooks
That's more or less what I implemented with a bit of python and sqlite. It works, but it's another piece of infrastructure to care about in a shop full of people who never had to care about that kind of infrastructure. For example we (well, I, really) forgot to configure certbot to restart nginx after renewing a cert, and only noticed that after a marketplace notified us that they're temporarily pulling off our SKUs due to our HTTP service being misconfigured.

Can this be a 3rd party service? It certainly can be, but it's hard to make a generic one for any kind of webhook. Some marketplaces expect a dynamic response, like replying the order number we assigned internally (I typically just echo back the number they gave us with some prefix, but it's still more smarts than just replying with empty 200 OK).

And I've seen services which aggregate popular local marketplaces into API which is easier to work with, but they require to concede some other parts of the business we'd rather keep in-house, like assortment and inventory management.

deniska··on Give me /events, not webhooks
By polling an endpoint provided by the marketplace with parameters "since" and "to" to filter events by the time they happened. We typically set "since" to two days ago and "to" to tomorrow. We're not in the hurry, we have an hour or two of leeway between receiving a message and having to act on it. I certainly prefer the polling solution for that usecase. Easier to set up, easier to debug, easier to notice that something is wrong.
deniska··on Give me /events, not webhooks
I'm building integrations with various marketplaces at a company I work at (fulfilled by seller kind of deal), and I can confirm, it's much easier for us to schedule an HTTP request once in 15 minutes than to create a custom HTTP service responding to specific requests from 3rd parties.

We're in the business of selling things, we're not in the business of building HTTP services. Our ERP-like thing is down for maintenance from 10pm to 11pm, so we can't use it as a platform for responding to webhooks.

I'll hack something together in a pinch when it's the only way to get orders from a marketplace service, but then eventually I'll have to explain to my colleagues how to linux, how to HTTPS, how to python, how to WSGI, and all other stuff our company typically doesn't do, but has to do now, because this particular marketplace wants to POST orders to us.

deniska··on Ten years of OP-1
Interestingly, I currently have devices which use mini-usb and type c cables, but I have no use for micro-usb.
deniska··on Is This the End of the Repairable iPhone?
Apple effectively disallowed repair even if a shop uses genuine parts from another identical phone. The only thing you can now be confident in is that nobody will be able to fix your phone.
deniska··on ICQ New
It was widely popular in Russia perhaps because '11984431' rolls off the tongue much better than explaining a string of latin characters like "s like dollar sign, not like the Russian s".
deniska··on Python dicts are now ordered
When OrderedDict is compared with another OrderedDict, it also checks whether the order of items is the same (this way also violating LSP, but that's another story), dict instances don't do that.
deniska··on BeOS: The Alternate Universe's Mac OS X
Obligatory related xkcd: https://xkcd.com/1200/
deniska··on CorkScrew: A tool for tunneling SSH through HTTP proxies
OpenVPN can connect through http proxies as well in case if you want to tunnel all kinds of traffic

https://openvpn.net/community-resources/connecting-to-an-ope...

deniska··on Python Is Eating the World
Types are very important for writing large scale software. Proceeds using `int` for most of the things in the program
deniska··on How can phone companies detect tethering?
Yeah, I recently had to change TTL on my laptop to 65 to avoid tethering fees.
deniska··on Electric cars: New vehicles to emit noise to aid safety
Each time this discussion pops up, Domino's electric scooter safety noise starts playing in my head.

https://youtu.be/n17B_uFF4cA

deniska··on Valve Will Not Be Officially Supporting Ubuntu 19.10
upstart was an rhel thing
deniska··on AMD Ryzen 5 3600 Beats Intel’s Core i7-9700K in Cinebench
Or there's a long term exclusivity agreement. Who knows.
deniska··on Why Was Mini USB Deprecated in Favor of Micro USB?
HTC Hero and many other phones from that era had a mini-USB port.
deniska··on Show HN: A retro video game console I've been working on in my free time
I quite enjoyed Ben Eater's playlist on building a breadboard computer, made a lot of electronic concepts click for me.

https://www.youtube.com/playlist?list=PLowKtXNTBypGqImE405J2...

deniska··on I still miss my headphone jack, and I want it back
15 years ago most phones didn't have a 3.5 jack and you had to have a dongle. I don't want to go back to that time.
← PreviousPage 2 of 3Next →