HNHacker News
TopNewBestAskShowJobs

CDSlice

1,044 karma · joined August 28, 2018

submissionscomments
CDSlice··on How Discord Won
> Nope, an iOS app can’t leave a cookie that other apps can use to identify me.

Maybe not directly, but by using something like the Facebook SDK the same effect can be achieved by shipping your advertising identifier off to Facebook who then does the tracking server side using events generated by the Facebook SDK. This is in tons of apps and you have no way of knowing it as an end user without reading the privacy policy or reverse engineering the app.

> Clearing storage is not the issue, making sure that the storage is not accidentally cleaned is.

This is just as much of an issue on native apps as it is with webapps, browsers wont clear local storage for a website unless the user requests it just like how a native apps storage won't be cleared unless a user requests it.

> The data consumption of an app is predictable because the download size would be listed in the appstore. On a website, it could be anything and the only way to find out is to load it. You can check out the data usage after install in iOS but there’s no easy way to do it for websites.

Just because the App Store download size is predictable doesn't mean the final download size is, lots of apps download a bunch of extra assets on first launch or even regularly as you are using them. I also couldn't find a way to check data usage of apps or websites on WiFi on my iPad so that isn't really a point either way.

CDSlice··on How Discord Won
> Notorious for tracking abilities

A native app has every opportunity a webapp has to track you and much more.

> data storage tied to the browser

So? Browsers make it as easy to clear the storage of a webapp as it is to clear the storage of a native app. If you are talking about PC apps it is even easier to clear webapps' storage than native apps. If you mean it is bad because the stored data can disappear from the users device, that is what the localstorage API is for. Browsers will only delete that data if the user tells them to. This isn't any different from native apps having to deal with users deleting their files.

> Performance lower

While I have to admit that for raw computation webapps are slower than native, most apps don't need that much raw computational power and WASM should bridge the gap to native performance for apps that do need it. If your webapp is slow it is by far more likely you did a poor job programming it, not that you are limited by web performance.

> capabilities limited to browser api

Browser APIs are expanding all the time (except on iOS Safari but Apple has a vested interest in crippling webapps). And again, most apps don't need deep access to a system and the few that do shouldn't be webapps anyway.

> data consumption unpredictable

This has absolutely nothing to do with if an app is a webapp or native. Native apps can suck down data like crazy while webapps can use almost none and vice versa.

> identification tied to web technologies

Not really? Name one form of widely used identification that webapps don't support. You can use emails, usernames, 2FA, security fobs.

edit: remove snark at the end, it didn't add anything.

CDSlice··on Crouching T2, Hidden Danger
Well if the activation lock is still enforced server side you also lose iMessages, FaceTime, Continuity between Apple devices like your iPhone, maybe XCode if it checks for activation during install. If you could get the MacBook to boot it would technically be a usable PC, but it would probably lose a bunch of what makes a MacBook special to begin with.
CDSlice··on Nintendo 3DS discontinued after almost a decade
Maybe they could something like what Drastic/Citrus does and have the two 3DS screens share the Switch/TV screen? I would say the main problem is that it has an effective resolution of 400x240 pixels on the top screen and 320x240 pixels on the bottom screen and the games were designed to look good on the really small displays, not blown up to a TV or even a Switch size display.
CDSlice··on Microsoft's underwater data centre resurfaces after two years
I think you are arguing for the same thing your parent comment is? That comment is trying to show that even in the absolute worst case of no efficiency gains and 10,000x increase in data centers the impact that using the oceans to cool them would have on the ocean is absolutely minuscule.
CDSlice··on Why is there a normal galaxy sitting at the edge of the Universe?
I think the phrase is fine since according to our best models of galaxy formation these galaxies should not be able to exist and yet they do. As such we don't understand how these galaxies can exist and need to do more research to come up with better models that can explain the existence of these galaxies.
CDSlice··on Lego IKEA Bygglek – First Look
Lego sets intended for younger children tend to have more large, single purpose pieces. For example, [0] is a set intended for children as young as 4 and it has the single purpose car chassis pieces you mentioned. However, in the same City theme this set intended for 5+ year olds [1] has the same sort of generic chassis you remember. The city theme as a whole though does tend to have more single purpose pieces such as plane cockpits or boat hulls, but even then you can use the pieces to build new boats or planes. Furthermore, the Creator theme has no single purpose pieces for at all, those models are made completely out of generic pieces (not just bricks mind you, there are lots of slopes and other kinds of really useful pieces used). For example, [2] is a pirate ship made completely out of generic pieces that even has instructions to rebuild it into a Pirate inn or a skull island. If pirates aren't your fancy, how about a monster burger truck [3] or a twin rotor helicopter [4]? Again, no single purpose pieces in sight. Even the modern Star Wars sets tend to have mostly generic pieces and even the custom pieces made for the set tend to be things like windscreens that can be used for custom spaceships.

[0] https://www.lego.com/en-us/product/garage-center-60232

[1] https://www.lego.com/en-us/product/service-station-60257

[2] https://www.lego.com/en-us/product/pirate-ship-31109

[3] https://www.lego.com/en-us/product/monster-burger-truck-3110...

[4] https://www.lego.com/en-us/product/twin-rotor-helicopter-310...

CDSlice··on Hindley-Milner Type Inference (2012)
To expand on this, if you use CLion as your Rust IDE it will actually show you the types for all your variables automatically. For example, if you had a line like this:

    let foo = vec![1, 2, 3];
CLion would then show the type in a faded font where the type would go if you wrote it out manually like so:

    let foo: Vec<i32> = vec![1, 2, 3];
This is extremely useful when working with more complicated types such as iterator chain because it lets you see exactly what type everything is without having to manually write it all out and have the compiler check it.
CDSlice··on KeePassXC 2.6.0 Released
I'm not sure when you looked at Bitwarden but the official server and clients are open source under the AGPL, including the API for other people to make their own servers and clients with. So I would say that Bitwarden fills the FOSS all the way requirement.

https://github.com/bitwarden

CDSlice··on Big Sur on Unsupported Macs
iPad OS does have mouse support actually. I'm really not sure why they haven't made it possible to develop on iPads yet, I know I would get a 13 inch iPad Pro in a heartbeat if I could develop on it and sideload apps onto it.

https://support.apple.com/en-us/HT211008

CDSlice··on PEP 622 – Structural Pattern Matching
Although it won't be as concise, you can use guards to emulate this feature with

    match data:
        case [x1, x2] if x1 == x2:
            ...
I agree on this being a fantastic addition to the language. I've sorely missed not having pattern matching in Python after using Rust.
CDSlice··on Ask HN: Why do you use Rust, when D is available?
The nice thing about Rust is you often don’t have to declare the type of a variable since the compiler will just infer it for you. This is especially nice in an IDE like CLion which will show you the inferred type for each variable. As for the syntax for a type declaration, `variable: Type` is more natural and readable for me than `type variable`. The first one naturally reads as `variable is a Type` while the second reads like Yoda speak (`A Type, variable is`)

Since I am not familiar with Scalia, I am not sure why the types after the name would end up being more verbose, as far as I can tell the only difference is the : between the variable and its type. Would you mind expanding on that?

Personally although Rust definitely does not have the elegance of Haskell or Python, I definitely would not call it ugly. There aren’t that many symbols and once you actually spend the time to learn the language the semantics for each syntax element are pretty easy to remember. I also have looked at D, but the lack of algebraic data types makes it a non-starter for me.

CDSlice··on America has more new spaceships on the way
> I wonder how much effort it would take to enable Crew Dragon to fly people to the Moon and pull the rug from under Orion's feet?

As an avid Kerbal Space Program player (but not a rocket engineer!), I feel like it shouldn't take that much effort compared to what SpaceX has already done. Given that Falcon Heavy has the capability to get the Lunar Gateway to Lunar orbit (1), one Falcon Heavy should easily be able to get a robotic tug in LEO and another FH launch could get one in orbit around the moon. Then the Crew Dragon could launch on the Falcon 9, rendezvous with the tug in LEO and then go to the moon. To land I expect a special trunk with it's own Super Draco engines and fuel could land the capsule on the moon and take it back to orbit, potentially with help from the capsule Super Dracos as a sort of second stage. The Dragon would then rendezvous with the second tug that takes the capsule back to LEO so that the reentry would be at already certified speeds. This way nothing would have to change for the Crew Dragon itself so it wouldn't have to be recertified.

With this plan the only new things SpaceX would have to make would be the robotic tugs using vacuum optimized Merlin engines and a special trunk for the Crew Dragon that would let it land and take off of the moon. I do wonder if the Crew Dragon's life support systems are rated to last this long and out of LEO. It also would be a one shot program like Apollo which seems antithetical to how SpaceX operates, so unless Elon does it for bragging rights as the first purely private moon landing I don't see it happening.

(1) https://arstechnica.com/science/2020/05/nasa-planning-to-lau...

CDSlice··on Empty studio sets: BBC backgrounds for your video calls
On Macs you have to have at least a quadcore CPU or it doesn't show the option, Zoom may do the same thing on Linux.
CDSlice··on In Defense of Inclusionism (2009-18)
Wouldn’t that be blocked by Wikipedia’s source requirements? Presumably no trustworthy source will say that drinking diluted bleach is good for you so there won’t be any sources to make a Wikipedia article out of.
CDSlice··on New 13-inch MacBook Pro
Razor has a 17” laptop that can be configured to have a 4K display, but you also have to upgrade the GPU to a RTX 2080 Max-Q. The RAM and storage is end user replaceable though and you’d have an absolute beast of a machine that could handle pretty much anything you’ll ever throw at it. It is $3700 though. https://www.razer.com/gaming-laptops/razer-blade-pro/shop
CDSlice··on Valve drops VR support for macOS
Only the old Mac Minis from 2012 and before have user expandable RAM, the newer ones have the RAM and storage soldered on.

https://support.apple.com/en-us/HT205041

CDSlice··on Writing a RISC-V Emulator from Scratch
Since I got into programming with Scratch, every time I see it capitalized in a HN title I get my hopes up that someone made something really cool in it. Alas, it never happens.
CDSlice··on Some school districts plan to end the year early, call remote learning too tough
How do you keep the main teacher from getting out of sync with the students in the breakout sections? If a student needs 10 extra minutes with their group teacher to understand what is being taught how do they get caught back up to what the main teacher is covering? The only way I can see this working is if the main lecture is prerecorded, but at that point you just have a normal class except for where the group teacher has to do extra work to understand how the main teacher is explaining things. This may work better, but I'm not sure if it would be a massive improvement.

Furthermore, unless we suddenly hire a lot more teachers each student's group is going to essentially be their normal class and we are back to the whole class being kept back when someone needs extra help. Again, the only difference seems to be the main lecture is performed by someone besides the students' teacher. This could be better if the new teacher really is "world class", but I doubt it will be an extreme improvement.

CDSlice··on May Sky Challenge
One option if you really want to sleep in a separate room from your phone is to get a dedicated audio player for your bedroom. Depending on the features you need (Bluetooth, streaming support from Spotify, etc.) you can get one for around $70 to $300. You could also get a Raspberry Pi and automate playing your monotonous audio at your bedtime each night. That would be cheap and a neat quarantine project.
CDSlice··on I push, therefore I am: two days at Etsy (2013)
Neither do Python, JS, or Ruby. Personally I’d say a good dynamic language like Python is better than a rough dynamic language, but a good static language is better than a good dynamic language.
CDSlice··on Rust 1.43
In this specific case the macro isn’t very useful since you can easily write `trait T { ... }` yourself. They tend to be more useful when there is a lot of similar boilerplate code that only differ in a few ways. A macro can cut down most of that repetition. They can also be used to provide pseudo “literals” like the vec! macro does for the Vec data type.
CDSlice··on The 2020 iPhone SE
With a terrible camera and horrendous battery life I’m not sure I’d call the Palm Phone “decent.”

https://www.trustedreviews.com/reviews/palm-phone

CDSlice··on A music discovery site used in over 1M videos and games
I would assume the same as the motive for people writing open source software. Neither one is likely to get you paid or even exposure, so I would assume most people do it for the joy of creating.
CDSlice··on “C is how the computer works” is a dangerous mindset for C programmers
According to Wikipedia, C is named C because it resulted from work done by Dennis Ritchie to improve the language B, and C comes after B. B came from Ken Thompson making a cut down version of the language BCPL, so he just kept the first letter.

https://en.wikipedia.org/wiki/C_(programming_language)

CDSlice··on How the iPad's New Trackpad Works
Yeah for fiction, the only thing that beats my Kindle Paperwhite is a physical book.

I'm a little surprised that you are able to do all that so well simultaneously on a PC though. Whenever I've tried to do it the context switching between reading the book or other documents and whatever I'm trying to do with it kills me. Maybe it is because I've only tried to do it on laptops (I don't have a desktop PC) but I also prefer just browsing the web on my phone than on my laptop so maybe I'm just weird.

CDSlice··on How the iPad's New Trackpad Works
While I agree with you on e-ink being a much better reading experience, I would not say a Kindle is for technical references or other books with exact formatting requirements because the screen is so small. This, along with being underpowered, also makes reading PDF a pain because they are tiny on the screen and the Kindle has a hard time rendering them.

Now a Remarkable or other larger e-ink device would probably be better than the iPad, but last I checked they cost the same or more than an iPad Pro that can do so much more they feel like a waste of money.

CDSlice··on Snap: Build Your Own Blocks
Snap! is just a JS web app, it works just fine on iPads. Snap! is also the closest to "real programming" in my experience because you can make custom blocks and reporters (aka functions), lists are first class so you can nest lists or pass them to blocks or whatever with them, has lambdas, and can call JS so you have full access to the browser APIs and the JS ecosystem.
CDSlice··on Not all young people are ‘digital natives’
That actually seems pretty good, especially since if you aren't using an over the air antenna there isn't much else you can do with modern flat screen TVs.
CDSlice··on Disney CEO Bob Iger immediately steps down from CEO position
I would actually say that the latest one is better than The Force Awakens, and MUCH better than Last Jedi. Then again, I'm in my early 20s so I can't really compare it to the original movies.
← PreviousPage 3 of 9Next →