Check if WiFi is ON or OFF on iOS with Swift

I could find lots of guides or sample codes about checking WiFi SSID or other informations, but none about WiFi power status, eg. know if WiFi is turned on or off.

This can be done and it’s pretty simple: when it’s on, the awdl0 interface is enabled, and it’s disabled when it’s off.

You can use this simple function to check that.

func isWiFiOn() -> Bool {
        var address : String?
        var ifaddr : UnsafeMutablePointer<ifaddrs> = nil
        if getifaddrs(&ifaddr) == 0 {
            var ptr = ifaddr
            while ptr != nil {
                defer { ptr = ptr.memory.ifa_next }
                let interface = ptr.memory
                let addrFamily = interface.ifa_addr.memory.sa_family
                if addrFamily == UInt8(AF_INET) || addrFamily == UInt8(AF_INET6) {
                    if let name = String.fromCString(interface.ifa_name) where name == "awdl0" {
                        if((Int32(interface.ifa_flags) & IFF_UP) == IFF_UP) {
                            return(true)
                        }
                        else {
                            return(false)
                        }
                    }
                }
            }
            freeifaddrs(ifaddr)
        }
        return (false)
    }

 

Root sullo smartphone a 2 euro di Altroconsumo

Root check sullo smartphone

Root check sullo smartphone

Altroconsumo ha offerto, ai nuovi abbonati, due numero della rivista ed uno smartphone Android al prezzo di 2€.

Lo smartphone Altroconsumo è un dispositivo discreto, non l’ho utilizzato a lungo ma ha prestazioni davvero sopra le mie aspettative!

Pur non avendolo ancora analizzato a fondo, sono riuscito ad ottenere il root dello smartphone per un accesso completo, per poter disinstallare le applicazioni di default e in generale poter fare tutto quello a cui siamo abituati.

Continua a leggere

Cyrillic, greek and hebrew fonts for Pebble Time (and more!)

Cyrillic fonts on a notification on Pebble Time

Cyrillic fonts on a notification on Pebble Time

Pebble Time is out, and it’s amazing. But it’s still missing something.

It supports basic latin characters, but in some countries those are just not enough. Cyrillic alphabet is, for example, used a lot in the East-Europe or Asia.

That’s why I worked on some apps that allows the Pebble Time to display cyrillic, hebrew, greek, thai or vietnamese fonts.

Those fonts will be available in applications, notifications etc. In fact, those are system-wide fonts, so, when the right package is installed, every time the Pebble Time looks for one of those fonts, it finds and displays it, instead of showing an error square!

Those apps are available for both Android and iOS

app-store-badge

The iPhone app features three language packs: Cyrillic, Greek & Hebrew and Thai & Vietnam.
You can install the one you need to enable the support for those characters.

On Android, there are three different applications, one for every package.

Cyrillic fonts for Pebble Time for Android

Greek & Hebrew for Pebble Time for Android

Thai & Vietnamese for Pebble Time for Android

As before, just get the right package and install it!

How to sell on Amazon with no EAN 13 code

ITALIAN VERSION

Have you ever tried selling on Amazon? If so, you probably know that it requires you to enter a valid EAN code. In many situations, you don’t have one.

I recently developed an Android and iOS application which is able to generate completely new EAN-13 complaint codes. You can use these codes on your Amazon SellerCentral to start selling your items!

My application is for sale at 1.99$, which is pretty low considering that it can generate as many codes as you want. Other similar services charge you a monthly fee or require you to pay for every generated EAN 13 code.

Here you can find links to download EAN 13 Code Generator on your smartphone.

playstore-badge   app-store-badge

Vendere su Amazon senza codice EAN 13

ENGLISH VERSION

Chi ha mai provato a vendere su Amazon pur non essendo un venditore professionale (cosa, a loro dire, possibile), si è probabilmente scontrato con la richiesta di un codice EAN per il prodotto da vendere. In molti casi il prodotto non dispone di tale codice perchè è usato, non abbiamo la scatola o qualsiasi altro motivo.

Ho recentemente sviluppato un’applicazione per Android e iOS in grado di generare codici EAN validi, che è poi possibile inserire nell’apposito campo sul SellerCentral di Amazon.

L’applicazione è a pagamento, ma costa davvero poco e soprattutto si paga solo una volta: se hai trovato questa pagina probabilmente ti sei già imbattuto nei servizi che vendono abbonamenti o che chiedono di pagare per ogni codice EAN 13 generato.

Qui sotto ci sono i link per scaricare il generatore di codici EAN-13 sul tuo smartphone.

playstore-badge   app-store-badge

Real fix to WiFi and Bluetooth interference on the Macbook Pro Retina

ITALIAN VERSION HERE

On the new Macbook Pros the issue of Bluetooth interfering with WiFi network is really bad. So bad that I could not use my bluetooth mouse while surfing the internet!

The issue is caused by the fact that both bluetooth and most WiFi network use frequencies near 2.4Ghz; signals are then overlapping and disturbing each other. So, some slight interference, is normal and maybe it’s more serious on the rMBP because it has a single card to handle both WiFi and BT.

The solution consists in setting priorities between WiFi and bluetooth (giving WiFi signal an higher one).
You have to launch the Terminal (Applications>Utilities>Terminal), paste the following code, press Enter and insert your admin password.

sudo defaults write /Library/Preferences/com.apple.airport.bt.plist bluetoothCoexMgmt Hybrid

Then reboot.

The problem, in facts, is not solved. It can’t be solved, if radio signals are using the same frequencies. But, at least, I am able to use the internet with my mouse (that’s a pretty basic task :D)

The real solution would be to use different frequencies for the WiFi network: to avoid this kind of issues, WiFi is also available in 5Ghz frequencies, however just a few routers support that.
If yours do, all you have to do it to enable it in the settings page.

Please note that 5Ghz WiFi has a shorter range since higher frequencies can’t pass through objects and walls like lower ones do. Some routers even support both frequencies, so your devices can use the 5Ghz when in range, and 2.4Ghz otherwise.

However, if you don’t want to upgrade your router, the command I wrote about earlier is a great trade-off!

Soluzione al problema di interferenze tra WiFi e Bluetooth su Macbook Pro Retina

ENGLISH VERSION HERE

Sui nuovi Macbook Pro il problema dell‘interferenza tra WiFi e Bluetooth è molto evidente, al punto che, con bluetooth attivo e collegato anche solo al mouse, è impossibile la navigazione!

Questo è dovuto al fatto che il WiFi più comune usa frequenze intorno ai 2.4Ghz, le stesse su cui fa affidamento il bluetooth (e molti altri oggetti wireless che abbiamo in casa!). Quindi l’interferenza è normale, e probabilmente è accentuata dal fatto che, nel Macbook Pro Retina, la scheda AirPort sia una sola per entrambe le funzioni.

La soluzione è semplice e imposta delle priorità tra bluetooth e WiFi (a favore di quest’ultimo).
È sufficiente lanciare il Terminale (Applicazioni>Utilities>Terminale), incollare il seguente comando, premere invio e confermare con la password del proprio account.

sudo defaults write /Library/Preferences/com.apple.airport.bt.plist bluetoothCoexMgmt Hybrid

Dopodiché è necessario eseguire un riavvio.

Il problema non viene effettivamente risolto (impossibile risolverlo con un comando, se le frequenze sono quelle), ma ora, sul mio computer, posso utilizzare il WiFi e il mouse bluetooth contemporaneamente. Devo ancora effettuare ulteriori test con dispositivi bluetooth diversi, ma il mouse è sicuramente il più importante tra questi!

Come abbiamo detto, questo comando risolve molti problemi, ma non la causa.
La VERA soluzione è, quindi, cambiare le frequenze a cui opera il WiFi: proprio a causa di questi problemi, è stato sviluppata una variante del WiFI a 2.4Ghz che lavora a frequenze di 5Ghz.

Se il router lo supporta, sarà possibile abilitarla dalle impostazioni, in caso contrario è purtroppo necessario cambiare apparecchio.

Personalmente, ho risolto definitivamente acquistando il router Netgear D3600 a meno di 50€ su Amazon, che supporta entrambe le frequenze, 2.4Ghz e 5Ghz, contemporaneamente.