Hacker Newsnew | past | comments | ask | show | jobs | submit | NotMelNoGuitars's commentslogin

Poking around the config files, AT&T and two other carriers (both of which are subsidiaries, from a quick Google) seem to display 3G connections as if they were 4G:

    $ grep -r show_4g_for_3g_data_icon_bool assets/
    assets/carrier_config_carrierid_1187_AT&T.xml:    <boolean name="show_4g_for_3g_data_icon_bool" value="true"/>
    assets/carrier_config_carrierid_2119_FirstNet.xml:    <boolean name="show_4g_for_3g_data_icon_bool" value="true"/>
    assets/carrier_config_carrierid_1779_Cricket-Wireless.xml:    <boolean name="show_4g_for_3g_data_icon_bool" value="true"/>
Android documents[0] this flag, which they don't appear to do for the `inflate_signal_strength_bool` field outside the source code from what I can tell. It seems like there a bunch of odd flags for controlling user-exposed visuals - another flag `show_4g_for_lte_data_icon_bool` is used by 96 carriers, for example.

I wonder if there's some odd telecom history behind these, or if these flags were intended for some kind of edge-case. It seems like carriers have the option to arbitrarily override the thresholds used for determining signal strength[1], but only four carriers actually do. All only elect to customize the `lte_rsrp_thresholds_int_array` field; and all opt to make things harder for themselves, reporting their network connection as lower strength than the default classification[2] would:

    $ grep -r _thresholds_int_array assets/ -A5
    assets/carrier_config_carrierid_2556_Xfinity_Mobile.xml:    <int-array name="lte_rsrp_thresholds_int_array" num="4">
    assets/carrier_config_carrierid_2556_Xfinity_Mobile.xml-        <item value="-115"/>
    assets/carrier_config_carrierid_2556_Xfinity_Mobile.xml-        <item value="-105"/>
    assets/carrier_config_carrierid_2556_Xfinity_Mobile.xml-        <item value="-95"/>
    assets/carrier_config_carrierid_2556_Xfinity_Mobile.xml-        <item value="-85"/>
    assets/carrier_config_carrierid_2556_Xfinity_Mobile.xml-    </int-array>
    --
    assets/carrier_config_carrierid_1345_Telstra.xml:    <int-array name="lte_rsrp_thresholds_int_array" num="4">
    assets/carrier_config_carrierid_1345_Telstra.xml-        <item value="-120"/>
    assets/carrier_config_carrierid_1345_Telstra.xml-        <item value="-115"/>
    assets/carrier_config_carrierid_1345_Telstra.xml-        <item value="-100"/>
    assets/carrier_config_carrierid_1345_Telstra.xml-        <item value="-90"/>
    assets/carrier_config_carrierid_1345_Telstra.xml-    </int-array>
    --
    assets/carrier_config_carrierid_1839_Verizon-Wireless.xml:  # omitted, same as Xfinity, above
    ...
    --
    assets/carrier_config_carrierid_2032_Xfinity-Mobile.xml:  # omitted, same as Xfinity, above
    ...
[0]: https://developer.android.com/reference/android/telephony/Ca...

[1]: https://source.android.com/docs/core/connect/signal-strength...

[2]: https://android.googlesource.com/platform/frameworks/base/+/...

        sDefaults.putIntArray(KEY_LTE_RSRP_THRESHOLDS_INT_ARRAY,
                // Boundaries: [-140 dBm, -44 dBm]
                new int[] {
                        -128, /* SIGNAL_STRENGTH_POOR */
                        -118, /* SIGNAL_STRENGTH_MODERATE */
                        -108, /* SIGNAL_STRENGTH_GOOD */
                        -98,  /* SIGNAL_STRENGTH_GREAT */
                });


The same is done without modifying Android, likely nearly everywhere in the world, but maybe not every provider. Provider sends a config information of "Network Override" and can make your phone display any network type. I see this happening in Network Survey app (open source) with my provider.


> seem to display 3G connections as if they were 4G

https://www.theverge.com/2011/05/04/536673/att-t-mobile-dipp...

AT&T has a history of lying about what its network is. They were advertising HSPA+ as 4G and then recently started advertising LTE as "5G E". I can't find a lot of articles about the 4G branding one since the 5G one started.

> show_4g_for_lte_data_icon_bool

Realistically I think this is just a choice that many carriers made. It's quite common to see 4G instead of LTE outside of the US. Technically speaking I think WiMAX counted as 4G when there were competing 4G standards and you could make an argument that LTE is just one of the 4G standards.


If you don't mind expanding, interested to hear why you believe the current ruling should be overturned.


The current holding that APIs are copyrightable, and reimplementing them for interoperability is not fair use.

This is in direct contrast to decades of consensus that APIs are not copyrightable, and furthermore, there is a particular procedure to go through [clean room technique, which Google did] to ensure that the API is reimplemented without infringing any copyright.

Letting this ruling stand would mean that nearly every piece of software you use infringed someone's copyright.


Ah, gotcha - so the Court of Appeals for the Federal Circuit* decided in favor of Oracle in this case. Thanks for taking the time to type that out, I've been living under a bit of a rock it seems!

*corrected from "second district court"


The CAFC, not the second district.


Pretty much what jcranmer said: The status quo, for decades, has been that you can do that. So this would be a drastic change to the rules by which we play the game.

More: Recall that copyright lasts close to forever. (95 years for corporations, if I recall correctly.) This ruling, then, would have allowed IBM to sue every BIOS clone maker, and keep a stranglehold on the PC market, and still have that stranglehold to this day, and be able to keep it until 2076. Then, on August 2, 2076, then we could get IBM-compatible PCs.

Compare that to actual history, and you can see why I think the current ruling is horrible.


Yeah, a handful of these tripped me up as well. I got:

Question: Write the command that you use to move into your home directory '~'

Your answer: cd

Correct answer: cd ~

The man pages specify that cd moves into the current user's $HOME directory if called without arguments, but I'm sure there's some mystic difference between cd $HOME and cd ~ in certain cases.


Thanks a lot for your comment. I think both answers are correct. I am not sure if cd works for all systems.


https://pubs.opengroup.org/onlinepubs/9699919799/utilities/c...

cd without an argument will change directory to $HOME if $HOME is set and the value is non-empty as defined in the standard linked above. That’s not to say that all Unix-like systems do or even try to implement everything of that standard, but it’s a good indicator pointing to that a lot or most of them probably do.

As for cd ~, tilde expansion is done by the shell, not by cd. Same goes with any other command that you type ~ as the leading part of a path and provide as argument. (Also, in bash, among others, cd is a builtin command.) The shell will substitute the ~ for the path of your home dir when ~ is alone or followed by a slash and anything else. (And you probably know also that ~example would refer to the home dir of a user named “example”.)

I think you will sooner run into a system with a shell that doesn’t do tilde expansion, than you will run into a Unix system where plain cd without an argument doesn’t bring you to your home dir.


Technically the chances of tilde not working are the same as cd behaving differently because they’re both shell builtins.

I’m guessing (though admittedly not checked) that both ~ and cd (without parameters) are defined in POSIX. In which case any edge case that doesn’t conform could reasonably be discounted with regards to the submission’s exercise.


I did some quick research on the POSIX thing and it looks like cd (without parameters) is defined in POSIX:

https://www.unix.com/man-page/posix/1posix/cd/

Also I don’t know why many of my posts keep getting downvoted even when they’re factually accurate.


Things like this should probably be ‘Correct’ with a small warning.


Why warn? It’s perfectly reasonable behaviour to learn. I’ve used it for years.


Not sure if the site is meant to be strictly Linux/Unix or not, but on Windows, cd without any path just prints the current directory and doesn't do anything else. (Although "cd ~" produces the response "The system cannot find the path specified.")


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: