HNHacker News
TopNewBestAskShowJobs

Mister_Snuggles

3,822 karma · joined July 24, 2013

submissionscomments
Mister_Snuggles··on OpenWrt 23.05
OpenWrt is incredible.

My USG-3P died a few months ago, so I dusted off my old Asus router and made an unplanned switch to OpenWrt. This was meant to be a temporary solution until I could get a new UniFi device, but after setting it up and getting it working the way I want I'm more than happy to make this temporary solution into a permanent one.

Mister_Snuggles··on Detroit man steals 800 gallons using Bluetooth to hack gas pumps at station
In Alberta, it's required by law to pay before you pump. This happened after an attendant was killed during a gas-and-dash robbery.
Mister_Snuggles··on Canadians have a ‘right to be forgotten’ on Google, Federal Court rules
This seems like a poor solution to the death of journalism.

There aren't enough details to go on in the story, but I'm going to make an assumption that this person was charged with a crime, stories were written about the charges, but when the charges were dropped or he was acquitted there was no followup story written and no update made to the original story.

Journalism in Canada is dying. Most of the newspapers in Canada are owned by one company and newsrooms have been consolidated and shrunk. I used to read my city's two major newspapers - they'd report a different subset of what was happening, and where they reported on the same thing the stories and takes would be different. Both were biased, but biased in different directions, so I felt that I was getting a semi-balanced view by reading both. Now both papers are owned by the same company, have the same reporters, same editors, report on the same things, and run identical stories. There's no balanced view and not enough reporters to follow up on every little thing that gets reported.

Ideally searching for this person's name would show the newest stories first ("person acquitted of crime", "charges dropped", etc), but if those stories never get written they will never show up in a search engine. And very few people will dig into CanLII to find the outcome, if it even makes it far enough to get into CanLII.

I don't know what the solution is. Maybe the media shouldn't name names until someone is convicted? But that would likely have unintended consequences.

Mister_Snuggles··on The X220 ThinkPad
My first exposure to a ThinkPad laptop was when work issued me a T60.

It was absolutely awful in virtually every aspect. Performance was terrible, the bundled software was complete garbage (but the machine wouldn't function properly without it), the fingerprint reader was incredibly temperamental (it never worked), the ergonomics were terrible (carrying it was physically painful thanks to the sharp edges), etc.

I honestly couldn't believe that a ThinkPad, which had such a stellar reputation, could be this terrible.

That T60 completely ruined the ThinkPad name for me. When it was time to replace it I requested a MacBook Pro and I've never looked back.

Mister_Snuggles··on Ask HN: Has anyone here learned COBOL for fun?
It's on my list of languages to learn, but I haven't gotten to it yet.

My first job was supporting a custom application running in UniVerse on Solaris. It originally ran on a Prime mainframe and UniVerse was one of the ways you could run this type of software on a modern system. I really enjoyed working in the Pick MultiValue environment. In many ways, this was a NoSQL database from before NoSQL was a big thing.

I don't work in this world anymore, but I've been playing with ScarletDME (a fork of OpenQM, another MultiValue database, from before they closed the source) and seriously enjoying it.

As a result of this first job I've got a special place for "old" programming languages/environments. My dream retirement job is to work for either the CRA or IRS supporting their old systems. Between the complexities of income tax and the old-school code that can never be retired I think I'd love it.

Mister_Snuggles··on FCC Proposes Voluntary Security Labels for IoT Most Companies Will Likely Ignore
The challenge is that even a minimal implementation requires quite a lot of functionality.

Take a Wifi-based smart outlet, for example. The functionality is literally a single output that drives a relay. But in order for that to work, it needs to join a Wifi network - that means that you need some way to get an SSID and password onto the device and it needs a DHCP client to get an IP address. There also needs to be a way for the controller to discover the device's IP address, which means there's now likely an mDNS implementation on the device. Then there needs to be a way for the device to receive commands, so now we've got an HTTP server.

If you want out-of-home access, which I suspect most people do, there's even more work required. Usually this means a central server that the device connects to since most regular people don't have a VPN connection back home. Another option is HomeKit, which is explicitly about local control with all of the remote access magic handled by Apple. But HomeKit is yet more stuff to run on the device, and only works if you've bought into the Apple ecosystem.

This is a ton of scope creep for a pretty minimal device.

A Zigbee or Z-Wave based outlet would be better, but that really just moves all of that scope creep from the individual device to the hub.

Mister_Snuggles··on Textual Web: TUIs for the Web
One thing that most TUIs have but most GUIs (web or native app) don't is fast keyboard navigation. There are obviously exceptions to both cases, but as a general rule this seems to hold true.

Watching people who are very familiar with the TUI that they're using do complex business transactions is a sight to behold. In particular, a seasoned user will likely type a series of commands that will get buffered until the TUI catches up with them - I've never seen a GUI that could do this.

Mister_Snuggles··on Privacy friendly ESP32 smart doorbell with Home Assistant local integration
There are ESP32 boards with ethernet and PoE. This device[0] uses one and it works very well.

I'm not aware of any ESP32 boards with a camera and ethernet though, but I haven't gone looking on AliExpress either. It's a reasonable combination, so I'd be surprised if it didn't exist.

[0] https://smartlight.me/smart-home-devices/zigbee-devices/smli...

Mister_Snuggles··on Privacy friendly ESP32 smart doorbell with Home Assistant local integration
And even if it did run a backdoor, you've got all of your cameras on an isolated VLAN which can't access the internet (or anything else), right?
Mister_Snuggles··on MS Teams channels cannot contain MS-DOS device names
Ah, that makes some amount of sense.

But... Why not just call it "_forms" or ".forms", which are already prohibited due to the first character?

Mister_Snuggles··on MS Teams channels cannot contain MS-DOS device names
Thank you! That was bugging me, but now that you mentioned FrontPage I clearly recall all of the _vti stuff.
Mister_Snuggles··on MS Teams channels cannot contain MS-DOS device names
I sort of get most of these - they're internal to various bits of Microsoft technology. 'CON' plus the ones ending in $ are internal device names dating back to MS-DOS, 'desktop.ini' is a magic file that Explorer uses, '_vti_' is something I've seen but can't remember what it was from.

But 'forms'? Why is 'forms' a bad word?

Mister_Snuggles··on Ask HN: In which areas have you compared 3+ tools and formed strong preferences?
I've got a few.

Text editors: I've used emacs, pico, nano, jed, vim, AE (UniData), ED (UniVerse), Sublime Text, VSCode, BBEdit, and countless others that I've forgotten. Sublime Text wins for simple edits of single files, vim wins when I'm ssh'd somewhere or at a terminal, and VSCode wins when I'm editing a collection of related files or doing development. ED and AE have a special place in my heart.

Databases: PostgreSQL, MySQL, UniVerse, UniData, OpenQM/ScarletDME, Sqlite, Oracle, MSSQL, Access. For relational databases, PostgreSQL for personal use and Oracle when someone else is paying for it. For MultiValue databases (UniVerse, UniData, OpenQM/ScarletDME) I like them all, but UniVerse was my first one and will always be special.

Browsers: I use Chrome, Edge, Firefox, and Safari roughly interchangably. Each one works better (for me) than the others in different contexts.

Mister_Snuggles··on Plane – Open-source Jira alternative
At my work we have a couple of different roles that get involved in each ticket, so we created custom fields in Jira to assign those roles.

So each ticket gets a Primary Developer, Primary SME, etc, but might get assigned to some one else to do one small bit of work (e.g., it'll get assigned to a different developer for code review, but whoever's listed as the Primary Developer is still responsible for it).

Mister_Snuggles··on A Japanese factory that designs clothes on a 40-year-old computer [video]
We've just migrated our ERP from a regular deployment on VMs into Kubernetes. We have a very bursty self-service component, so being able to scale up easily for the week we need it is quite nice. We've taken advantage of this ability multiple times and seen great success each time.

We're not running the DB in Kubernetes though.

Mister_Snuggles··on SQLite 3.42.0
> Probably more importantly, all of that and still not proper datetimes in sqlite.

Home Assistant recently did a ton of changes to work around the issues caused by this.

The short story is that they stopped storing timestamps as 'timestamp' datatypes and started storing them as unix times stored in numeric columns. Since timestamps turn into strings in SQLite, this was a huge improvement for storage space, performance, etc.

The problem is that this change also affects databases which have a real datetime datatype. So PostgreSQL, which internally stores timestamps as unix times, is now being told to store a numeric value. To treat it as a timestamp you have to convert it while querying. Since I used PostgreSQL for my Home Assistant installation, this feels like a giant step backwards for me.

I wish that they had used this change as an opportunity to refactor the database code a bit so that they could store timestamps as numeric for SQLite, but use a real timestamp datatype for MySQL and PostgreSQL. I'm sure that this isn't a simple thing to do though.

Mister_Snuggles··on My 20 year career is technical debt or deprecated
Interestingly enough, I've got a thing for "ancient" technology.

My dream retirement job is to work at a tax agency, like CRA or IRS, and help maintain their mountain of COBOL. I don't know COBOL, I don't know the ecosystem around it, but I absolutely know that I would love to learn it.

My first job was in a similar environment, supporting a homegrown application (which had grown out of a long-defunct commercial application) running on a Pick-style database system (UniVerse). The whole thing could trace its roots back to a Prime mainframe. Reading the code, especially the older stuff, was such an adventure.

ScarletDME[0] is seriously scratching the itch to play in this world.

[0] https://github.com/geneb/ScarletDME

Mister_Snuggles··on IBM AS/400: Databases all the way down (2019) [video]
Very nice - scarletdme in the browser is brilliant!

The two things I do to start playing in a new MV environment both worked exactly as I hoped they would:

    LIST VOC
And

    ED BP BLAH
    I
    PRINT "THIS IS A TEST"
    
    FIBR
The environment feels very normal and reasonable, as far as a multivalue system goes. The only differences I came across are minor, like compiled programs going in BP.OUT instead of BP.O or the debugger being called DEBUG instead of RAID.

I definitely need to set this up and seriously play with it! I periodically download a new copy of UniVerse PE to play with, but this is something I could actually do real work in.

Believe it or not, I actually like working in ED and/or AE.

At one point (back in the UniVerse job), I wrote my own shell. It was basically a REPL that passed whatever you typed to EXEC, except for one nifty trick. The trick was that there were two REPLs in the program - one which worked normally, the other executed within a BEGIN TRANSACTION/END TRANSACTION block and had commands to commit and rollback. Having two REPLs was a concession to get it to even compile because BASIC required that BEGIN TRANSACTION and END TRANSACTION form a block, you couldn't just arbitrarily call those commands. I didn't even bother building a history mechanism, it was literally just a REPL that could work within the context of a transaction. It was incredibly useful.

Mister_Snuggles··on IBM AS/400: Databases all the way down (2019) [video]
My first job was supporting an in-house system built in UniVerse. My second job was supporting a commercial ERP that ram on top of UniData.

I like the more modern stuff I work with now, but I truly miss the multivalue world some days.

Every once in a while I install the UniVerse personal edition and build something for fun. I will definitely check out scarletdme!

Mister_Snuggles··on Waterloo Style
At my last job I supported a system that was largely built by one person over the preceding 20+ years. This was roughly his philosophy as well.

He told me, paraphrased since this was 20 years ago, "Whenever I'm designing a new feature, I always look at what needs to come out at the end, then I can figure out what needs to go in at the start and how it has to flow through."

This still sticks with me and serves me well.

Mister_Snuggles··on Electricity Prices by Country
In Alberta, I'm on a fixed-price contract for 8.69c/kWh. Add in the distribution, transmission, and local access fee charges and my all-in rate is actually 15.217c/kWh. But that's not all, there's also a 20.6c/day administrative charge.

Of course, those are only the charges I've actually dug into. On top of this there is a "Transmission Charge Deferral Account True-Up Rider", "Transmission True-Up Rider", and "Balancing Pool Allocation Rider". Generally these changes are small enough that they're not worth the effort to dig into. There is also a $75/mo rebate applied to the bill, which is part of the government's affordability measures.

Finally, on top of all of that, there is the 5% sales tax which is calculated on the total amount before that $75 rebate.

I'm fortunate to be on a fixed-price contract. People who weren't had a portion of their power bill deferred and have to pay it back between April 2023 and December 2024. The catch is that current non-contract customers are stuck paying back their utility provider's deferral, which includes the deferral for customers who had charges deferred but since switched to a contract. This article[0] explains it better than I can.

[0] https://globalnews.ca/news/9586632/alberta-regulated-rate-op...

Mister_Snuggles··on Firefox 111.0 enabled Origin private file system access
So opening a directory picker and allowing access to user-selected files is fine, however opening a serial port picker and allowing access to user-selected serial ports is not[0].

My use-case is a web-based system which includes, among other things, a payment function. I'm building an interface based on WebSerial to initiate transactions on a USB-connected Pin Pad[1]. This works beautifully in some Chromium-based browsers, but nowhere else[2].

This bothers me because it represents a dependency on Chromium and they could pull the rug out on WebSerial support any time. If other browsers supported it at least I'd have a fallback plan.

[0] https://mozilla.github.io/standards-positions/#webserial

[1] For reference, the USB connection only exposes a control channel. You can initiate transactions and monitor their status, but the Pin Pad has an ethernet connection for actual communication to the payment processor. There is an option to use REST services provided by the payment processor to do the same thing, however that is significantly more development effort in our application.

[2] https://developer.mozilla.org/en-US/docs/Web/API/Serial#brow...

Mister_Snuggles··on Who pays for your rewards? Redistribution in the credit card market [pdf]
Some merchants were already allowed to add a credit card surcharge. Some post-secondary institutions did this for years before this change came in.

The funny thing is that, apart from the aforementioned post-secondary institutions, I haven't seen anyone else add this surcharge. Maybe I'm just not shopping in the right places, but so far this change has amounted to absolutely nothing.

Mister_Snuggles··on Why Use Make (2013)
It looks like the author gave up on using Make with this commit: https://github.com/topojson/world-atlas/commit/8f92f6eb692d1...
Mister_Snuggles··on Why Use Make (2013)
There are also some other 'interesting' ways to use Make.

As a batch runner: https://news.ycombinator.com/item?id=32441602

As an init system (which inspired my use of it as a batch runner): https://web.archive.org/web/20110606144530/http://www.ibm.co...

Mister_Snuggles··on Rotary Keyboard
The best part of that is that they actually made a bit of a wheel-centric UI just for this gag.
Mister_Snuggles··on Hidden tech of the Nest Thermostat
For local WiFi, anything that's HomeKit compatible should work, but you'll likely lose out on something by restricting its access to the internet. For example, my Ecobee can be controlled locally via Home Assistant (using Home Assistant's HomeKit Controller), but it gets outside weather (used to figure out how early to turn the heat up to meet the schedule requirements) via some cloud service. Plus the HomeKit interface, at least when used in Home Assistant, is not as full-featured as the native (cloud-based) one.

If you desire 100% local control, it's worth looking at Zigbee and Z-Wave thermostats. Using Home Assistant can give you full local control without requiring a vendor's hub and app.

Mister_Snuggles··on Software horror show: SAP Concur
The ironic thing is that if the user stops using this software the company benefits because they don't have to pay out the expense claim that the user didn't enter. This seems like a win for the company and the company would conclude that using SAP has reduced their expenses.

The key thing about enterprise software is that it's never sold to end-users, it's sold to senior managers and executives. The contact that this group will have with the software is to approve transactions (e.g., Reqs, POs, Expense Claims, etc) and maybe view some reports. You can bet that these interactions are very streamlined.

Mister_Snuggles··on CT scan shows there's still lots of toner left in an “empty” cartridge
The last printer I bought (HP LaserJet Pro m254dw) seems to do it right.

My black cartridge is at 0% and has been for a while. The supply status printout says something to the effect of "Just because it says 0% doesn't mean it's empty, keep printing until the quality is unacceptable." I ordered a new cartridge about a year ago, but haven't installed it yet because I'm not seeing any quality problems. I don't print much though, so it'll likely sit there for another year (or more).

Mister_Snuggles··on Lastpass Security Incident
Enpass may be worth a look.

It doesn't do cloud syncing itself, but it lets you pick from a number of different providers (DropBox, iCloud, OneDrive, plus a few others) which you probably already use.

← PreviousPage 4 of 32Next →