HNHacker News
TopNewBestAskShowJobs

masom

189 karma · joined February 12, 2014

Software engineer. Shopify, Popkey, CanvasPop, Fuel Industries (studio), HCN,

Embedded linux, Rails, Ruby, Python, Golang, PostgreSQL, MySQL.

submissionscomments
masom··on What do Visa and Mastercard do? An intro to card networks
Not necessarily, in Canada there's a separate network/infrastucture named [Interact](https://www.interac.ca/en/). All the banks are on it and most merchants have terminals that supports it.

It had chip and pin ahead of credit cards, and has lower fees. That's what powers our e-transfers, no need for venmo or other systems.

masom··on Shopify is moving from React Native back to Swift and Kotlin
> there's no proprietary IP in your company's app

For most app that concept is "gone".

People routinely decompile and recompose existing binaries, and if you use "obfuscation" in your app it's still a small bump.

In today's age, IP is no longer a tangible concept that gives any advantages in software. What differentiates two businesses isn't their IP, it's their relationships and their moat.

Most vendors that had protected proprietary IP are now irrelevant within their vertical. What saves them are the protection provided by patents, which is public.

masom··on Shopify is moving from React Native back to Swift and Kotlin
> You just install it on your phone and use the app.

OP says they don't have an android phone...

masom··on 30 Year Anniversary of WarCraft II: Tides of Darkness
What you are looking at is corporate environments; the studios of the past (Ex: Westwood and Blizzard) had a small headcounts, and people were direct decision makers.

The story of Starcraft 1 is quite interesting as the devs copied the Warcraft 2 code and began changing it quickly[1](https://www.codeofhonor.com/blog/tough-times-on-the-road-to-...).

> StarCraft was originally envisioned as a game with modest goals that could fit into a one-year development cycle so that it could be released for Christmas, 1996 > Warcraft II had only six core programmers and two support programmers; that was too few for the larger scope of StarCraft,

No boardrooms of PMs, and Directors, and VPs, and execs, chiming in every decision, leading to fast turnarounds.

masom··on Rouille – Rust Programming, in French
lol, the author (or whoever translated) doesn't know that "super" doesn't mean "génial" in the context it would be used in.

"super" is also a Latin word that's valid French.

> Au-dessus de, exprimant une supériorité dans la qualité

https://www.larousse.fr/dictionnaires/francais/super-/75409

masom··on How to trigger a command on Linux when power switches from AC to battery
This is pretty much what this solution does, but through udev.

Systemd, D-Bus, and udev can be used separately or together to make this easier to listen in userland, it will just be dependent on your distribution or setup.

The kernel essentially flags the power source through udev, and the rule triggers the script. That can be done programmatically instead of a script as well. libudev is there for that: https://www.freedesktop.org/software/systemd/man/latest/libu...

https://wiki.archlinux.org/title/Udev (userland /dev is what udev does)

masom··on Apple introduces a universal design across platforms
There's ads for new shows and movies when you start a new Apple TV+ one, and there's ads for channels and subscriptions. You just didn't notice them?
masom··on Ukraine's autonomous killer drones defeat electronic warfare
OpenCV and other onboard computer softwares can be trained to recognize shapes, 10+ years ago there was a demo of a NodeCopter controlled small drone following red flags.

Stick the GPS coord, fly there, and once in a geofence look for a shape to crash into doesn't seem impossible given what was possible 10 years ago.

masom··on How Ukraine’s killer drones are beating Russian jamming
I remember NodeCopter and running OpenCV to control them years ago.

https://gist.github.com/andrew/2f81952f4867d1b200bb

The big difference is they can now run this on the copter instead of being remotely controlled; a 100$ raspberry pi has enough processing power for this, and so does several other off-the-shelf mini computers powered by lithium batteries.

Crazy times.

masom··on KDE is finally getting a native virtual machine manager called “Karton”
It's really sad what happened with Gnome3.

Gnome2 was a good functional desktop, sure it was copying the 2000s with windows 98/2000 style, but it worked. Hell, even OpenStep is more functional than Gnome3 as a daily computer interface.

Gnome3 targeted a weird mix of incompatible devices, like a windows 8 interface, and kinda failed as a design given the devices it optimized for never took over the market. There's not that many tablets running Gnome or touchscreen laptops anymore.

It's almost like Android took the design team by complete surprise, while they tried to make desktops a tablet experience, but failed at doing both.

masom··on Amazon's Vulcan Robots Now Stow Items Faster Than Humans
https://www.amazon.com/Dokoo-Automatic-Vacuum-Sealed-Dispens...

No need for a human to feed the dog, a robot will refill the dog feeder.

masom··on Getting things “done” in large tech companies
This becomes quickly apparent in a smaller company or if you have a manager that knows what they are doing.

You'll get hired, if you pass the technical interviews, but if you cannot contribute at the level they hired you, you'll be exited and that will be suspicious for your next application.

masom··on The chroot Technique – a Swiss army multitool for Linux systems
yup! FreeBSD jails are essentially what OP wants with chroot++.

I was pretty puzzled when Docker and LXC came around as this whole new thing believed to have "never been done before"; FreeBSD had supported a very similar concept for years before security groups were added in Linux.

Jails and ezjail were stellar to make mini no-overhead containers when running various services on a server. Being able to archive them and expand them on a new machine was also pretty cool (as long as the BSD version was the same.)

masom··on StrictYAML
yup.

TOML gets pretty close to a `.ini` file as a standardized parser, taking the original format idea a little bit further.

https://toml.io/en/

masom··on 1972 Unix V2 "Beta" Resurrected
A big one is the lack of peer reviews and processes, including team meetings, that would slow them down. No PM, no UX, just yourself and the keyboard with some goals in mind. No OKRs or tickets to close.

It's a bit like any early industry, from cars to airplanes to trains. Earlier models were made by a select few people, and there was several versions until today where GM and Ford have thousands of people involved in designing a single car iteration.

masom··on Nokia's internal presentation after iPhone was launched (2007) [pdf]
Yes... If I remember we were aiming for the newly released "Windows 8"-based Phone OS, and the previous version was fully incompatible with it so all apps had to be redone. Tiles were the new thing to build for.
masom··on Nokia's internal presentation after iPhone was launched (2007) [pdf]
Nokia also had a ex-Microsoft exec (https://en.wikipedia.org/wiki/Stephen_Elop) that had the goal of ensuring Windows Phone would succeed, and tanked Nokia with it.

I was on the DVLUP project where Nokia and Microsoft attempted to inject energy into windows phone app development. We could see the tension between the two companies as we were a 3rd party contracted by Nokia to build the platform. The Nokia exec we were in contact with was fantastic, and really tried to make Windows Phone a success. Unfortunately the Nokia IT teams we worked with were not happy and essentially tried to sabotage through inactions (we just needed OAuth / SSO to link accounts and track app installs, it took over 3 months of email chains within Nokia).

masom··on Cracking a 512-bit DKIM key for less than $8 in the cloud
Simple economics; who pays for the servers and who pays for the front-end execution?

Front-ends are essentially free distributed computing resources while the backends need to be paid for.

masom··on BareMetal OS
> ARM/RISC-V would be interesting once that hardware is standardized.

Could you elaborate on this? Both ARM and RISC-V have standardized their hardware feature and different target versions.

Is it more on the iterative angle given X86-64 now moves very slowly?

masom··on Can turning office towers into apartments save downtowns?
"older" and "newer" is the construction type.

Think of an old brick building with several stories and a window per floor vs a new steel + concrete building with windows spanning multiple floors.

The "older" builder like the converted one in the parent post has small windows, allowing easy subdivisions. Newer buildings have windows spanning multiple floors and need to be retrofitted and on a skyscraper that comes at a huge cost.

The bigger ticket item is the plumbing and ventilation, and to some extent the electrical. Ventilation is needed around the cooking area and washrooms, adding that to a building not purposed for this is challenging (where does the "contaminated" air go out?).

It's often cheaper to bomb down the building and start over than doing a conversion on a new highrise. You'll see this often where they gut the entire structure and floors, keep a few walls/supporting structure, and build new.

masom··on Airbnb's Devastating Effect on Canadian Housing
Yes it can be ignored if it is insignificant, the issue arises when it isn't and long-term rentals are being transitioned to short-term. Cities and towns should have strict licensing requirements to control the effects. Airbnb itself does not matter as it's just a platform.

Some places have limited buildable land and Airbnb was taking over a lot of long term rentals.

Example of how this affects larger towns: https://montreal.ctvnews.ca/montreal-tenant-receives-evictio...

masom··on Airbnb's Devastating Effect on Canadian Housing
There's a difference between purpose-built rentals, and Airbnb taking over what should have been long term rentals.

I live in a resort town where we implemented strict rental licenses as otherwise the whole town would be on Airbnb, with nowhere for locals to live. There's no more land to build on within 50km. We're seeing a lot of housing be torn down and rebuilt as 4 unit townhomes on the same land.

The town is now attempting to balance between vacation homes and long term rentals, with fines for unlicensed Airbnbs.

masom··on Airbnb's Devastating Effect on Canadian Housing
> shutting down any new housing construction for decades.

That's a problem. No one is saying it isn't.

The role of Airbnb cannot be ignored; it is negatively affecting housing availability as landlords can make much more profits on short-term rentals than long-term ones.

On the building side, we've made it much more difficult to build low/mid rise apartments buildings.

General accessibility requirements alone make it impractical to build anything less than 5 floors with a large land footprint (~20 units per floor). You pretty much need an elevator and other accessibility systems, which makes construction and maintenance of low to mid rises prohibitive. Older constructions are filled with grandfathered clauses allowing them to skip over accessibility requirements.

This is why you only see requests to build ~20+ floor buildings, which people disagree to be added in their neighbourhood.

ex: https://www.ontario.ca/page/accessibility-ontarios-building-...

> Barrier-free floor access is also required for residential and office buildings over:

> 3 storeys high

> 600 square metres in building area

masom··on You cannot simply publicly access private secure links, can you?
You won't find a specific link, but at some point if you generate millions of urls the 1024 bits will start to return values pretty quick through bruteforce.

The one link won't be found quickly, but a bunch of links will. You just need to fetch all possibilities and you'll get data.

masom··on ICJ orders Israel to prevent genocide in Gaza, stops short of ordering ceasefire
Agreed, not saying what Hamas is doing is any good, they're also doing war crimes.

An Hospital, Red Cross camp, and other zones are not military bases.

masom··on ICJ orders Israel to prevent genocide in Gaza, stops short of ordering ceasefire
> Yes there is collateral damage because Hamas uses civilians as human shields, so we have no choice but to kill them too, but we do not specifically target them.

> we have no choice but to kill them too, but we do not specifically target them

> we have no choice but to kill them too

bruh...

Those are war crimes according to the UN

https://www.un.org/en/genocideprevention/war-crimes.shtml

masom··on How French was medieval England?
vache is gendered boeuf :D

We'd say "vache" when it comes to milk or the female, but all "vache" are "boeuf".

Boeuf is used when the gender does not mean much (like for meat).

masom··on Attack of the Week: Airdrop Tracing
Yes, there's a more complicated explanation as it's all happening as part of Bonjour https://developer.apple.com/bonjour/

The sender device broadcasts their identity, while the receiving devices will follow the Airdrop settings. When in contacts only and/or disabled, your device will not broadcast your personal identity in the clear.

Your device itself broadcasts its presence through various protocols.

This is a follow-up to the NetBIOS protocol that did the same (Windows shares is another example).

masom··on Attack of the Week: Airdrop Tracing
This isn't how Airdrop works.

The first step is a device lookup with "Bonjour", which allows devices to ping each other an see who's who. Any network device since the 1980s pretty much does this by default unless you disable it. Remember Netbios?

The second step, is Airdrop requesting a device to accept a connection.

At that point, you see who is sending you the send request, and you can accept/deny. Airdrop is also disabled by default from unknown senders since a dude sent a dick pick on an airplane. Your Apple device will only accept connections from known contacts by default, and you can override that setting to allow connections from anyone.

You can disable this behaviour in Settings by blocking Airdrop.

From the article: > While AirDrop’s device-to-device communications channel is typically protected from third-party snooping by its own layer of security, that wouldn’t shield someone who may have been tricked into connecting with a stranger, perhaps by tapping on a deceptively named device in a list of contacts or by thoughtlessly accepting an unsolicited connection request. This step is required for the sender to be identified, according to security experts.

masom··on COBOL for GCC Development
Pretty surprised to see this given GnuCOBOL (previously OpenCOBOL) has been part of the GNU project for a little while. https://gnucobol.sourceforge.io/

It makes sense as OpenCOBOL isn't part of GCC as a front-end, it generates C code that is compliant to various COBOL standards and extensions. That C code can subsequently be audited and/or compiled with GCC/clang.

Page 1 of 2Next →