HNHacker News
TopNewBestAskShowJobs

smush

643 karma · joined December 10, 2018

submissionscomments
smush··on Project Silica proof-of-concept stores movie on quartz glass
I like optical media for the same reasons you indicate. Write once and have reasonable expectation it will last for a good long time. I do wish Optical media wasn't so stagnated as well. Write speeds could be improved by adding more laser heads to work in parallel on the disks, no reason for us to be stuck with a single head like vinyl had to for obvious reasons. That could increase disk R/W quite a bit and make it comparable to USB 2/3 but write once.

I'd love to get a holographic disk or heck an isolinear chip-shaped slab to write to because I like Star Trek.

smush··on Project Silica proof-of-concept stores movie on quartz glass
The M-Disc claim of 1000 years is based on a few estimated tests and while they mostly hold up, we have objective proof that glass left alone over 1000 years does not change to the point that if you wrote something on year x, time-travelled with your reader to year 1000x , the reader would be unable to read it.

I don't expect to crack 90 years myself, but my great-great-grandchildren might want or need whatever data there is on that glassdrive, even if it is only pictures and not something important like legal documents.

The 'rest of your life+' claim is simply my shorthand for saying that while the glass will likely last for thousands of years, how long the readers exist that can read that particular glassdrive and interpret its data (ANSI or Unicode text, PNG or PDF display capability) may or may not last as long as the glassdrive itself can (see Voyneuch manuscript which exists, but we no longer can read and interpret it).

smush··on Parse, Don’t Validate
Came here to post this. I second this book heartily. If you design your types to be DD with raw, valid, invalid data then by the time you actually get to the database or API, you are sure that your code has passed through however many compile-time enforced validity checks (if you use F# or similar static strong type PL) before it got to this point.

That way, you don't need nearly as much defensive coding re: null checks etc. because the data has gone from 'some client typed some value in an input box, hope its valid' to 'this is an Address line that has been confirmed to be valid structure to pass to downstream systems'.

Pit of success is so much better than peak of success, and much easier to get in a static typed functional language vs. an OO language in my experience.

smush··on Project Silica proof-of-concept stores movie on quartz glass
I hope to get this someday even at crazy prices. Permanent cold-storage of digital data can 'kinda' be done with M-Disk Blu Rays, but that is estimated good for 1000 years...which probably translates in reality to 100 or less years. DVDs, HDDs etc. have severe bit rot in comparison to that and are all likely to be gone within a decade +- a few years depending on medium and storage.

This glass? Write it and don't physically smash it and it should be good to go for the rest of your life +, if the claims in this article hold up. Then digital data will have a cold-storage equivalent to a piece of paper. Stick it in a box in the attic, get it out in 80 years and as long as its not smashed or burned it should be GTG.

smush··on TheForger's Win32 API Programming Tutorial
Programming Windows 5th Edition by Charles Petzold, still commands a price on eBay for its Win32-centric program development strategy. IIRC 6th edition used C# .NET and 7th and 8th went all in on UWP.
smush··on Identity, Registration and Activation of Non-Packaged Win32 Apps
So I've avoided UWP like the plague (no newer than WinForms or bust!) because it seems to me that it is merely the current SDK flavor of the week at Microsoft (after Silverlight, Metro apps, WinRT, XNA etc.) that'll be gone in a few years.

Am I correct in my reading that in the tug of war between Win32 style full system access and UWP style appification of programs on the desktop, this article represents the Win32 side getting a few winning steps towards its side, or is this more like EEE to get people locked in to UWP's identity features?

I'd love to hear opinions of people who have more UWP experience than myself (if you've written one more app than Hello World, that means you)

smush··on Thank You, Guido
To save others the same DDG search I did -> Delphi is a Pascal language IDE that compiles to native Windows binaries. Apparently there is this thing called Lazarus that is a free version of it?
smush··on Simplifying the private cloud: host your private Dropbox at home in one click
TL;DR: Use Syncthing over this unless you have an iPhone and don't want Resilio Sync for some reason.

So I use Syncthing for file sync between devices. Some spelunking in Duple's FAQs shows the following blurb as to why to use Duple (a paid offering) over Syncthing (a FLOSS offering), along with my own point-by-point comments / pseudo rebuttals.

-Syncthing is P2P, so you get the disadvantages along with it e.g. all your devices need to be turned on at the same time. If not, you get a desynchronisation between your devices and create conflict. In Duple's FAQ page it has one reference to offering File Conflict Resolution.

Syncthing does not require all devices to be on at the same time. If a device is offline, when it comes online, it is brought up to speed by the other peers in the cluster. Unless duple has done some serious magic, it will likely require devices to be online to sync as well. According to https://docs.syncthing.net/users/faq.html#what-if-there-is-a... , if you edit a file from two different devices at the same time, the one with the older modified date gets renamed to <filename>.sync-conflict-<date>-<time>-<modifiedBy>.<ext> and subsequently synced to all other nodes in the cluster, so you don't lose those changes. For my use case (sync files between home, on the go laptop, and phone, not doing simultaneous edits of the same file), which I would argue is fairly standard, I've never encountered a sync conflict.

-Syncthing is not an app for backup (see this link, section 2.2.17). Duple is; in fact backup is one of our main features.

The linked section states that while Syncthing offers file versions, they encourage the use of dedicated offline backup tools as all changes made to files are propagated across the peers. Duple interprets that as 'not backup' but in its own FAQ under question "Does it do more than file sync?" on https://doc.duple.io/faq/#technical-faqs it interprets similar functionality as 'backup' with the qualifier "data at least in 2 places". Syncthing offers similar functionality, it just doesn't try to make claims that it is a suitable replacement for dedicated offline backup software.

-Then, similar to the likes of Nextcloud, Syncthing also includes a complicated installation/setup that isn't aimed at everyone and requires some IT expertise. One of the main points of Duple is to provide an out of the box tool that anyone can use, with super easy set up.

What IT expertise is required to setup Syncthing? You copy a string from one machine and input it into another and vice versa. Then you check a box in a GUI that says 'share this directory with the other device'. Granted, that is not as common / familiar an action as logging into a form, but you're hardly hand editing any config files. However, the Syncthing foundation is working on a UI refresh that IIRC has a start-up wizard aimed at first-time users to guide them through the process of adding device and folder IDs to handshake.

-It is also worth noting that Syncthing is not planning on supporting iOS platforms.

This is Syncthing's second biggest weakness / barrier to fully mainstream adoption among techies, right behind not being able to have untrusted peers who sync data but do not have encryption keys to read it locally. According to https://docs.syncthing.net/users/faq.html#why-is-there-no-io..., this is fair. Duple's own Android and iOS mobile apps are 'coming soon' and Syncthing offers Android apps today. However, there is an iOS app named fsync which offers(ed?) Syncthing integration.

smush··on NordVPN confirms it was hacked
Private Internet Access. They should rename to Premier VPN since that is what level of service they provide.
smush··on Four kinds of documentation
These 4 split ideas are great. I've previously maintained a wiki for our department and the most viewed documents are always shifting from year to year. Until now, I've never been confident enough to act on the bits of information I've gotten from people who said they liked X article because Y, and now I can see that those articles are a mish-mash of the how-to and technical reference.

Now I will be able to use this as a framework for my continuing revisions, and be able to ensure that for any subject I want to be able to expect others to teach themselves to understand, I need to have the 4 quadrants ready to go.

Sidenote: I loath the excuses I hear so much these days about self-documenting code obviating the need for __any__ documentation or code comments at all. I'm always looked at like I'm a woozle for pushing back on that. I can't decide if that POV comes from laziness or a sense of denial (this is fine) but that's a rant for another submission.

smush··on Flash Is Responsible for the Internet's Most Creative Era
Man - DragonFable & MechQuest were great fun. I still think of Sir Valence and the various knights with punny names!

I hope between godot, procreate 5, and open source flash runners, long term Flash will be properly succeeded; for now it appears we have regressed unless you pay Adobe for a CC subscription.

smush··on Flash Is Responsible for the Internet's Most Creative Era
The scrubbing features remind me of Microsoft 3D movie maker which was a Win 95-era product that had the same easy approach, but with 3d characters.
smush··on Microsoft announces new Surface Duo phone
So Clamshell Android phones are a thing. The Freetel Mushashi is a T9-style Android phone with dual touch screens on either side.

Samsung has the Android W series phones which have a similar format.

Regarding the sibling comment, after the Droid 4 and the Motorola Photon Q, there has been a drought of physical keyboard landscape slider phones. Portrait sliders have been available for the Blackberry Priv and KeyOne/Key2, but aside from the soon-to-be-released Fxtec Pro1, not much landscape slider android phone action is going on.

smush··on Microsoft announces dual-screen Surface Neo
I'd buy a Courier as shown in that video right now, and all it is is a OneNote appliance.

I love the idea of being able to write new form-factor-sensitive apps as needed for a tiled window manager that resizes to accomodate a keyboard, or a ZUI on one screen, CLI on the other, or the traditional browser in one screen, terminal and VS in the other.

IFF they don't lock this down so much with Windows Lite/Windows 10 X (apparently 10 is now glued to the word Windows no matter what), Centaurus / Surface Neo has the potential to be an excellent device.

Edit: and am I glad it wasn't cancelled, not sure if I want to handle another Booklet PC being cancelled on me after getting excited about it.

smush··on Dropbox exposes personal details of viewers of publicly shared Paper documents
I agree that is the most significant barrier. There are threads like [1], but like other much-wanted features like Syncthing being able to support untrusted nodes that hold the data, but don't have encryption keys a-la Resilio Sync, progress sometimes comes in spurts and starts.

[1] https://forum.syncthing.net/t/on-syncthing-ios-port-again/89...

smush··on iPadOS
I wonder if this is partly so Apple doesn't have to keep licensing the term "iOS" from Cisco. Now that they have a premium market, it could be cheaper for them to migrate to iPhoneOS/iPadOS and no longer have to pay Cisco for the license to use the term "iOS".
smush··on Prashanth Chandrasekar Replacing Joel Spolsky as Stack Overflow CEO
I agree with the concept, but Question2Answer running on the company intranet or as a subdomain behind a SSO login at questions.<company>.<tld> could serve much of the same purpose without having to pay for yet another SaaS offering.

/rant of an on-prem diehard

smush··on Who cares about functional programming?
> Especially, it's very easy to pass the wrong values to functions (functions instead of final values, etc). Debugging this is very time-consuming.

I have the opposite anecdote. I use F# specifically for its strong type system and domain modelling capabilities.

A method signature in C# might look like

public static void HireHandyman(string handymanName, bool sweepFootpaths, bool waterGardens, bool emptyLitterBin, bool mowLawn)

I can do in F# as

HireHandyMan(handymanName:EmployeeName,sweepFootpaths:SweepFootpaths,waterGardens:WaterGardens,emptyLitterBins:EmptyBins,mowLawn:MowLawn)

Each type listed there is a thin wrapper over the bool type, but I can add additional business logic at the type definition and it is enforced throughout the codebase at compile time (for the most part). Is it a contrived example? Somewhat. Does it prevent me from putting the emptyBins argument in the waterGardens slot? Yes, at compile time.

I do concede the lack of first-class tooling (CLI is not enough, mediocre programmers like me like designers and GUIs! shakes cane) is one of the bigger costs to using F# in particular.

smush··on .NET Core 3.0
It's so amazing to me how many features from F# or other functional programming languages make their way to C#, and the devs who were otherwise never gonna try those features use them because they are 'normalized'.

I do wish people would give the language that has (relative to this ^ trend) 'already arrived' a chance.

smush··on Explanation of the state of uBlock Origin and other blockers for Safari
FFAndroid (Fennec?) does strange things. A few examples:

1. You are on this web page in Fennec[1], and you want to do a web search. Click the address bar, type in your query, hit go. Sometimes, Fennec will start the progress bar and act like it is searching, but will draw another tab in the main viewport before resetting the progress bar and changing the url to the SERP you want. If you don't know its going to do that, it looks like Fennec completely ignored your search and loaded another tab.

2. Fennec will sometimes lose its cool and stop rendering pages. The UI layers will respond, you can open hamburger menus, tab listings and thumbnails, but no matter what tab you select, it no longer renders anything but a blank canvas in the viewport. You have to force close Fennec to restore normal behaviors.

3. Fennec will after a long time of being active lose its extensions like noscript et al, you have to force close and re-open to get them to show up in the hamburger menu again.

Stated as a die-hard Firefox for Android fan.

[1] %s/Fennec/<whateverItActuallyIs/g

smush··on Huawei Mate 30 phones launch without Google apps
Signal is e2ee so Google Cloud Messaging should only get the alert itself, then the encrypted message is downloaded from the server and decoded on device.
smush··on Solar and Wind Power So Cheap They’re Outgrowing Subsidies
Isn't there some newish varieties of nuclear plant designs that consume nuclear waste from other older designs?

I heard about it on the radio, so I may be remembering it wrong, but it was something to the effect of the new nuclear plants using 'nuclear waste' from old plants currently sitting in caskets since we don't know what to do with them and gleaning more energy out of them for XYZ thousand years in ideal conditions.

smush··on The Myth of the Wealthy Welder
Not necessarily. I worked at a company where if you missed two days of work without calling in to let them know, you were fired. You could stretch that to about 5 days if you always called in.

I'm not making a judgement as to whether those are reasonable terms, only pointing out that such jobs exist, and could be similar where this individual worked there.

smush··on Bring Back the SE
I mean, the Nexus 5 and 5X weren't /that/ much larger than the 4.
smush··on 50 U.S. states and territories announce broad antitrust investigation of Google
> The only way forward is p2p.

Then we as the tech community need to figure out tooling so that grandma and grandpa can use p2p / mesh networks. We have several challenges in that way that I'd like to see solved, but don't know how to make that happen.

2 immediate challenges is that If you can't get today's iweather over ipfs or bittorrent (with a better UI clearly, not everything has to be file transfer), p2p can't fully replace HTTP. Email is arguably pretty federated if not quite p2p, but the spam problem is real.

The below example is an account of my grandma's attempt to get p2p chat going. Grandma doesn't even know what a p2p / mesh network is, but we will assume she read about it in the paper from the HK protests and being the enterprising unafraid-to-try-new-tech-things user most users aren't, she tries it out.

She is in a large concrete gym, no cell service unless she stepped out of the building for a moment. Remembering the paper article, she decided to try the Bridgefy app so she can text with someone else. How do you spell Bridgefy? Oh right, I have the paper here, let me painstakingly hunt and peck to find the name of the app in the Play Store, ah there it is. She stepped out of the gym, got signal, installed the app on both devices, then stepped back in and opened the app.

Her friend gave her her own phone so she could install both at once so they can be apart, yet chat.

Being forewarned by her techie grandson, she managed a feat denied to nearly all the cell-phone using public and skip the dark patterns of denying Bridgefy contacts, reluctantly giving it location access 'for Bluetooth', and attempting to stop it reading her phone number. Already, 95% of users would be long stopped by now. But she persisted.

The app would not move forward, giving error toast messages of error 7::0 cannot do that. She had to step back outside where she had signal for it to work for an unknown reason.

She got back in the gym, was not able to get either phone to talk to each other, either in 'public broadcast mode' or by trying to add a contact straight from the app. She uninstalled both copies and moved on without having p2p messaging, not because our devices' bluetooth radios couldn't handle ad hoc communication, but because the client doesn't exist that doesn't want to surveil or otherwise profile you.

PS -> that user was not an enterprising Grandma, but myself. If someone knows how to get Bridgefy / a p2p mesh chat app going without selling the privacy farm, I'd love to hear it.

smush··on 50 U.S. states and territories announce broad antitrust investigation of Google
Luxottica can be fought with ZenniOptical and friends. Besides my very first pair of glasses, I've never in my optical-aid-lifetime given money to Luxottica for glasses/frames/contacts. That is not to toot my own horn, but demonstrate that an informed consumer can sidestep their monopoly without adverse impacts.

Comcast & AT&T are terrible actors, and they need more regulation, not less, to counter their natural monopoly + rent-seeking behaviors, but there is at least some regulation going on that could be iterated on. Google is, relatively speaking, running amok through the streets.

smush··on 50 U.S. states and territories announce broad antitrust investigation of Google
Indeed, I did. Glad you remembered it for me, that is a big one and another example of embrace, extend, extinguish leveraging the power of Google Search.

I suppose that's me in the super-privacy-nerd bubble. Having moved to Fastmail for email and using Firefox for Mobile + Startpage search, I almost never encounter Amp in my own SERPs (not that there's much AMP content out there for Clonk Endeavor ;P).

smush··on 50 U.S. states and territories announce broad antitrust investigation of Google
If HN went down tomorrow, I could hop to slashdot to find the old-timers, lobste.rs for the hip, reddit.com/r/sysadmin | r/selfhosted | many, many more tech subreddits, and more tech watering holes.

If Google went down tomorrow, we have what, Bing? Yahoo, DDG, and others are all powered by Bing. Otherwise we are trapped with the likes of Yandex/Baidu.

smush··on 50 U.S. states and territories announce broad antitrust investigation of Google
I knew I was forgetting a big one but couldn't bring it to mind. I agree with you wholeheartedly.

It is rather chilling to see that even though the world-wide web started open, so much centralization can have quite the chilling effect on competition.

What can we do about it? If I were king of the world, it would be P2P decentralized content provided over mesh-network-powered-by-cognitive-frequency-hopping-radio but since I'm not, what are solutions prospective officials could leverage?

Split Alphabet from YouTube, then split YouTube in half between user-posted content and business-posted content?

smush··on 50 U.S. states and territories announce broad antitrust investigation of Google
Thanks for correcting me on that. I learned something today!
← PreviousPage 2 of 7Next →