Why the mobile web sucks

Posted on

Over at The Verge, Nilay Patel writes: I hate browsing the web on my phone. I do it all the time, of course — we all do. Just looking at the stats for The Verge, our mobile traffic is up 70 percent from last year, while desktop traffic is up only 11 percent. That trend isn’t going back; phones are just too convenient, beckoning us to waste more and more of our time gazing at their ever-larger screens.…

Read more »

XPages, Bootstrap, and form validation

I’ve recently been experimenting with Bootstrap for page layout, now that it’s an official part of the XPages Extension Library for Domino. After some simple test pages, I decided to put together a standard data entry form to see how painful that was. A typical Bootstrap form’s HTML for a single field looks like this: <div class="form-group"> <label for="email1">Email address</label> <input type="email" class="form-control" id="email1" placeholder="yourid@example.com"> <span class="help-block">Your Internet e-mail address</span> </div> If you have a validation error to display, and want to show a feedback icon, the HTML balloons up to something like this:…

Read more »

Two OpenLDAP TLS gotchas

The scenario: You’re using CentOS 7 or RHEL 7. You’re using OpenLDAP. You have TLS set up on OpenLDAP. You are trying to perform a query against the server using ldapsearch. Problem #1: You get: ldap_start_tls: Can’t contact LDAP server (-1) ldap_sasl_bind(SIMPLE): Can’t contact LDAP server (-1) Possible solution: You’re using the -Z option (along with -h and -p) to specify the host and port and request TLS.…

Read more »

IPv6

Some data from Akamai’s State of the Internet report for Q4 2014: Network Provider Q4 ’14 IPv6 Traffic % Comcast Cable 29% AT&T 20% Verizon Wireless 62% Time Warner Cable 12% T-Mobile 33% If you work with computers and don’t have experience with IPv6 yet, it’s way past time you learned.…

Read more »

My first Rust disappointment

Rust is an up-and-coming new programming language which offers compile time safety, automatic memory management, and C-like performance. It also offers automatic resource management. In Java terms, it takes AutoCloseable, formalizes it more, and makes it ubiquitous throughout the language. When a resource is accessed, it is given a scope of applicability; when the scope ends, the resource is automatically closed. This eliminates problems like unclosed file and database handles.…

Read more »

XPages JavaScript mystery meat

When using XPages, I try to build as much as possible in Java, and then use as little JavaScript as possible to glue the Java code into XPages. The main problem I hit when doing this is ensuring that my Java methods have the right type signatures to get found and called by JavaScript. It’s confusing to call someMethod(true) and find that you get a run-time error saying there’s no Java method someMethod(boolean), even though there is.…

Read more »

Systemd

[Now updated for 2015!] Component Status systemd Replaces init, cron, inetd, udev, locale, acpid, atd, su. systemd-journald Replaces syslog, klog. systemd-logind Replaces getty, login, xdm. (*) systemd-networkd Replaces ifup, ifdown, tcpwrapper, hostname, dhcpd. systemd-journal-gatewayd Provides HTTP server for systemd-journal. systemd-timesync Replaces NTP. systemd-resolved Replaces resolvconf, bind, powerdns-recursor, dnsmasq. systemd-automount Replaces autofs.…

Read more »

That Cringely rumor

Robert X. Cringely has predicted mass layoffs at IBM: To fix its business problems and speed up its “transformation,” next week about 26 percent of IBM’s employees will be getting phone calls from their managers. A few hours later a package will appear on their doorsteps with all the paperwork. I wouldn’t normally write about this kind of thing, but a lot of news sources have taken the rumor and republished it as if it is fact, and people I know are starting to believe it.…

Read more »

A REST Web Service antipattern: The 200 black hole

If you haven’t yet gotten around to implementing an API call on your Web Service, do not make it return HTTP 200 OK. Instead, return 501 Not Implemented. If you return 200 OK but your code does nothing, the caller is likely to assume that he made some kind of error performing the call, and could easily spend an entire afternoon trying different payload and parameter encodings and tracing code internals.…

Read more »

The other end of the POODLE

I’ve written about how to front-end your Domino servers with Apache to provide TLS up to TLS 1.2 and block SSLv3. But what about the other side of the problem? You might not be able to upgrade your Java runtime easily, particularly if you’re using IBM XPages. Well, fortunately life is easier on the consumer side of Web Services. There are some system properties which let you enable TLS on earlier Java runtimes where it’s disabled by default.…

Read more »