If our cars could just play “Mercy Mercy Me” when a Road Rage situation is detected, countless lives would be saved each year. It shouldn’t be that hard to do. If the car is going faster than 45 mph and it detects sudden braking and the horn being pressed, the odds are pretty high that the potential for a Road Rage condition exists.
When that happens, the car should immediately start playing Marvin Gaye singing “Mercy Mercy Me”. You just can’t stay mad listening to that song.
I discovered this amazing fact this morning, while driving into work. I was in the left lane, driving a large breadbox that is also known as the Honda Odyssey. Some guy in a Fiat 500 (named because that’s about how much it weighs) started moving into my lane, right about where my front fender is.
I tapped my brakes and pressed the horn to gently remind the driver that while we can both occupy the same place, physics prevents us from doing this at the same time. His response was to give me the finger and do some assorted other hand signals.
That made me mad. It’s one thing to be a lousy driver and to make a mistake of not looking to see where you are putting your ridiculous car; but it’s quite another to get mad at another person because you missed the Driver Ed class on how to use a mirror.
If I had not hit the brakes, he would have crashed into me. Which would have been annoying. I probably would have had to pull over and wipe Fiat off my fender. In addition to not understanding the laws of physics, those laws would be decisively unkind to the Fiat. When a 2300 pound object hits a 4400 pound object, it’s not hard to pick the winner of that outcome.
He then attempted to speed away from me. Which in a Fiat 500 is cute to watch. Soaking wet, a Fiat 500 has about 12 horsepower (OK, 101 horsepower). The Odyssey has 248 (breadbox aerodynamics requires the horsepower equivalent of 1980 Ferrari 308 GTS. To be fair the Ferrari weighs less and looks cooler) horsepower. I could tailgate the 500 without the Honda breaking a sweat.
Before I could start participating in today’s Road Rage challenge, “Mercy Mercy Me” came on the radio. The soothing tones of Marvin Gaye pushed the Road Rage out of my head and replaced it with a pleasant calmness. In the same amount of time it took to get mad, I became unmad. I then maintained a normal cruising speed, while in the increasing distance the Fiat 500 driver tailgated the car in front of him.
This could work for other people. It doesn’t have to be Marvin Gaye, you could pick from a selection of music that would soothe you, based on your own tastes. But I think “Mercy Mercy Me” would work for most people.
Microsoft News just posted an article by Brad Smith, the President and Chief Legal Officer at Microsoft about privacy in the age of the Cloud. You really want to read it, it’s about where we are now and where we should be going, and what Microsoft is doing to get there.
If the Sony attack taught us nothing else, it was this: There is no national security without cybersecurity. That helps explain why so many governments are taking action.
Microsoft is taking steps in ensuring that they will treat their customer’s data properly and lawfully. Smith wrote that Microsoft’s cloud business will be grounded in the following four commitments to “governments, enterprises, consumers, and people around the world”.
We will keep their data secure.
We will ensure people’s data is private and under their control.
We will figure out the laws in each country and make sure data is managed accordingly.
And we will be transparent so people know what we are doing.
Even if you don’t care about the topic, but like to see an innovative and clever use of HTML, go read the article. It’s easy on the eyes and uses HTML5 tricks to make the graphical data interactive and non-annoying. Go read this and go check out the Voices for Innovation web site..
There used to be a Windows Phone Connector app in the Mac App store. It was the way to directly copy music and images to and from a Windows Phone and a Mac. That app apparently stopped working when Yosemite was released and some time ago Microsoft pulled the app from the Mac App store.
The question of how sync music from a Mac to a Windows Phone comes up in the forums every now and then. Well, not that often. The Venn diagram of OS X and Windows Phone users has a very tiny overlap area. I reached out the Windows Phone account on Twitter and had the following exchange:
@LumiaHelp Is there a version of the Windows Phone Connector for Mac that works with El Capitan?
Windows Phone uses MTP (Media Transfer Protocol) as the way to expose your documents to other devices. Apple does not do MTP, at least not at a way that exposes it to Finder or iTunes. It does support it partially within some apps, for the purpose of accessing photos from cameras that connect as MTP devices, but only within that context.
Since OS X does not have any file system support for MTP devices, you have two choices. You can try locating a 3rd party MTP app or go the cloud.
One OS X app that I came across is named SyncMate. It says it will allow you to sync up Android and MTP devices, so it should work. It’s not free, but if you have a bunch of devices that your Mac just doesn’t play well with, it’s worth checking out.
There is a free app call XNJB that provides MTP support, but it looks like it has not been updated in a few years. I would be surprised if it still worked. I would imagine that whatever changes that Apple made to OS X to break Microsoft’s app would have also broken XNJB.
Microsoft’s suggested solution is to use cloud services. Like OneDrive or Dropbox. If you have a Windows Phone, you should be using OneDrive to backup your photos. But for transferring music, that’s awkward and slow. If you like to change your music frequently from your own collection, using a cloud service to transfer the music across will work. But your’re not going to like it.
If you use a Mac, the user experience with Windows Phone (and Android to a lesser degree) is going to be less than optimal. Apple wants a walled garden and they generally achieve it. I can’t imagine the number of people who only have a Mac and a Windows Phone to be a large number. I can see why Microsoft hasn’t done anything to update their Connector app. It’s hard to justify spending the development cycles on a product with a tiny user base.
While testing a iOS app with TestFlight, we noticed that the app name was being truncated. The name was just under the length where iOS truncates it and adds the ellipses. When we compiled the app and deployed it a device, the name displayed normally. When we put a test build up for QA through TestFlight, the name was truncated.
One of our developers contacted Apple Support and they came through with a quick answer. When you install an app through TestFlight, Apple pre-pends an orange dot to the app name. This is to distinguish the app from one that had been downloaded from the iTunes App Store. This takes up space and reduces the amount of space available for the app name. It’s artifact of using TestFlight, when the app is installed from the App Store, the text will not be truncated. This is nothing new, it’s been this way since Apple launched TestFlight with iOS 8.
So this was a UX hack. Apple wanted to be able designate that the app had been installed from TestFlight (which is good), but did it in a way that would have unexpected consequences (which is bad). I’m kind of surprised that this was implemented that way. Apple controls the entire chain, from device, to OS, to the development tools. They could have found another way to indicate that app came from TestFlight.
Like draw an underline in orange underneath the app name. Place a new style of badge over the icon, in a different corner. Draw an orange box around the icon. Or, hold on to your seats, allow for a longer length for the app name when the orange dot is added.
Monkeying around with the app name seems a like a quick and dirty hack. Now we have to let our QA people know that the app name isn’t broken, it’s just a side affect of using TestFlight. Making sure that the app name is displayed correctly is one of the things that our QA people check for. TestFlight just made that a little harder.
As a long time Verizon customer and a Windows Phone fan, I’ve been waiting for the new Windows 10 for Mobile flagship phones from Microsoft. In a couple of days, Microsoft will be holding an event to announce some new hardware. It’s expected that Microsoft will announce and demo the Surface Pro 4, the Band 2, and a pair of Windows 10 for Mobile phones. It’s not exactly a state secret that the phones will be known as 950 and 950XL and will be the logical extensions of the higher end Lumia phones.
Being a Verizon customer, I got a sinking feeling that I’ll be sitting on the sidelines for those phones. Mind you, this is just conjecture, but past experience with Verizon Wireless has dimmed my expectations with Windows Phone on that carrier. While nothing has been said, I would be very surprised if 950 (I’m too lazy to type “the 950 and/or 950XL”, so I mean both) shows up on Verizon. And there have been rumors about exclusivity.
Verizon has been more or less indifferent to Windows Phone over the years. When Windows Phone 8 came out, we did not get the cool Lumia phones. It took a year for Verizon to get a great Windows Phone. And then they changed their mind and pulled it after a few months. I was lucky enough to get a Lumia Icon before they pulled the plug on it. And that phone has been my favorite phone on Verizon.
If you walk into a Verizon store right now, you have to hunt to find where they keep the Windows Phones. Verizon is basically an Android carrier that carries iPhones only because people would drop them for AT&T if they didn’t carry them. I don’t think that the Windows Phone platform or Microsoft are important to Verizon.
If we go on the assumption that Verizon doesn’t pick up the 950, what happens next? Verizon is the largest carrier and has about 1/3 of the US market.
If Verizon doesn’t carry the 950, that’s a big piece of the US market gone. That’s large deficit to overcome. I’m not switching carriers to get a phone. I have a family plan that would be difficult to untangle and it has the best reception where I live. When it comes time to replace my Icon, I’ll have a difficult choice to make.
In the US, I think that Windows Phone has become dead man walking. Outside North America, Windows Phone is comparable to the iOS market share in a few markets. It’s not going to beat the Android juggernaut, but it’s still in the game.
As an American. my views are biased to what is going on in the US market. It bugs me as a Windows Phone user, but that’s the reality in this market. When Microsoft released Office on iOS and Android, before their own phone, that’s when the handwriting on the wall went from spray paint to neon lighting. So what’s next?
If Microsoft tries the Motorola model and sell an unlocked 950 directly to the consumers, I have a shot at getting the 950 on Verizon. That will be dependent on Microsoft selling an unlocked 950 that supports the radio bands that Verizon uses. It’s also dependent on Verizon allowing the phone on their network. In the past, Verizon has been somewhat difficult about allowing devices that Verizon had not certified on to their network. People buying the Moto X Pure directly from Motorola have been able to use Verizon, so the precedent exists.
If Microsoft doesn’t sell an unlocked 950 that would work on Verizon, I’ll be facing the decision of Android vs iPhone. And that bugs me. I like the Windows Phone UI. Their home page makes sense to me. The iOS design of multiple pages of icons worked great when you only had 16 apps. But now, finding an infrequently used app is an exercise in scrolling and squinting.
Android is a little better with managing app icons, and it allows you to replace the default launcher with one of your choice. But Android is teeming cesspool of security vulnerabilities and their update story is a sad one. Between the vendors being less than quick with updating older models and the carriers taking ages to sign off on updates, with Android the updates are much less frequent than with iOS.
Apple does have two advantages: a much smaller pool of different devices to update and the iron clad control of issuing updates on Apple’s schedule. I just don’t want to have to use iTunes to manage the content on my phone. And what’s the deal with their mobile hotspot? It can take some serious voodoo to get it working sometimes.
If I go Android, I’ll want devices that get updated as needed. Motorola has the advantage of selling the devices, they can update the Moto X Pure when they want to (but will they?). The Google Nexus phones are supposed to work that way too, but I have a Nexus 7 tablet on Verizon and the Android Lollipop update came at least 6 months later for that tablet than the one for the Wi-Fi version. Since Google is selling the 5X and 6P directly, hopefully the updates will be timely.
That being said, the new Nexus 5X and 6P phones look like very nice devices. It’s odd that they left out wireless charging, but the rest of the hardware seems to be very good. If I can’t get a 950, they may be the closest devices to what I want. Take this all with a grain of salt, I’m just making a guess based on past experience with Verizon.
If you want to take part in the next NASA mission to Mars, there’s still time. NASA is inviting the public to submit their names to be encoded on a chip that will be sent to Mars. That chip will be on the InSight (Interior Exploration using Seismic Investigations, Geodesy and Heat Transport) mission to be to launched on March 4th 2016.
The InSight mission will be sending a lander to the Red Planet to conduct advanced geological tests to study the formation of the planet.
Because Mars has been less geologically active than the Earth (for example, it does not have plate tectonics), it actually retains a more complete record of its history in its own basic planetary building blocks: its core, mantle and crust.
By studying the size, thickness, density and overall structure of the Red Planet’s core, mantle and crust, as well as the rate at which heat escapes from the planet’s interior, the InSight mission will provide glimpses into the evolutionary processes of all of the rocky planets in the inner solar system.
In terms of fundamental processes that shape planetary formation, Mars is a veritable “Goldilocks” planet, because it is big enough to have undergone the earliest internal heating and differentiation (separation of the crust, mantle and core) processes that shaped the terrestrial planets (Earth, Venus, Mercury, Moon), but small enough to have retained the signature of those processes over the next four billion years. Within its own structural signature, Mars may contain the most in-depth and accurate record in the solar system of these processes.
The InSight mission will follow the legacy of NASA’s Mars Phoenix mission and send a lander to Mars, which will delve deeper into the surface than any other spacecraft – to investigate the planet’s structure and composition as well as its tectonic activity as it relates to all terrestrial planets, including Earth.
Follow this link to enter your name to be included on the InSight mission.
All the names will be printed on to pages, and the pages will be scanned in and printed on silicon chips. They will use an electron beam “E-beam” machine at JPL that specializes in etching very tiny features (less than 1 micron, or less than the width of a human hair!). This machine is used to to make high-precision microdevices in JPL’s Microdevices Laboratory.
After a successful launch in March of 2016, the InSight Lander is expected to land on Mars on September 28, 2016.
Someone recently asked why the Microsoft Band Virtual Keyboard only works with Windows Phone 8.1. I’ve been using mine with my Lumia Icon and didn’t realize that replying to a SMS message only partially works in Android and not at all for iOS. While there doesn’t appear to be any documentation explain why the functionality is missing from some platforms, I’ve made a semi-educated guess for the reasons.
With the Band, you have three basic ways of replying to an incoming SMS message . You can send a predefined text message called a “quick reply”. You can define up to four quick reply messages. Two are already set up for you: “I’ll call you back” and “I’m in a meeting”. You can change those two or add two additional through the Microsoft Health App. They are handy to use when you are in a meeting and need to send a quick response back without having to be that person who plays with his phone during a meeting.
The quick reply messages work with Android and Windows Phone. In addition to the quick reply messages, with Windows Phone 8.1 you can use a virtual keyboard or voice dictation on the Band. Both of which require Windows Phone 8.1.
Voice dictation uses Cortana on Windows Phone 8.1. You speak into the Band, the audio data is sent to the Phone and Cortana converts it to text and sends it back to the Band. You can preview the text and then send the reply to the message. Right now Cortana is Windows Phone 8.1 (and Windows 10) technology. Microsoft has announced that they are porting it to Android and iOS, but it’s not available yet. It’s also not known if the Cortana integration on Android and iOS will extend to working with the Band.
The Virtual Keyboard on the Band uses your phone to process your keypresses and swipes into text. It uses the Word Flow technology in Windows Phone 8.1 to match the swipes to the appropriate word. To support this on Android, Microsoft would need to port the Word Flow engine to Android. It’s doable, but probably low on their backlog.
With iOS, we have a different story. For an app, in this case the Microsoft Health app, to send an SMS message; it uses the SMS messaging API. This is exposed through the MFMessageComposeViewController class. The app composes the message using this class and then uses it to invoke the standard SMS composer view comes up. The user can view or edit the message and then finally tap the send button to actually send the message.
By design, Apple does not allow apps to send SMS messages without the user confirming the message. This is to prevent apps from spamming your contacts without your consent or knowledge. There is a way to send messages without tapping anything on the phone, the Apple Watch supports that now. At this time, that is handled by the Apple messaging app, I don’t think Apple has an API call for 3rd party devices to use.
It would be nice if Apple made a public API to allow wearable devices to send SMS messages, but I don’t see that happening any time soon. Apple places a higher priority of preventing spam from being sent than allowing 3rd party device access. Plus opening up directly sending a SMS would help a product that competes with the Apple Watch, and that’s not in Apple’s best interests.
An annoyance with Windows Phone 8 is the lack of any built in facility to export your text messages. It’s easy to have the messages backed up, but you can only access them from your phone.
While reading a message thread in the Windows Phone Community forum, I came across a mention of an app for Windows 8 called “Windows Phone Message Backup”. It’s from Tafidi, and it just works. You can get it from this link.
You will need to have previously enabled the text message backup on your phone. For more details on how to enable the message backup, go to the Back Up My Stuff page and scroll down to Text Messages section.
When you run the app, it asks you for the Microsoft account that you use your phone with. If you have enabled two factor authentication (and you really should do that), create a new app password and use that.
Once it has authenticated under your account, it will download your message history. This may take a few minutes. After the messages are downloaded, they will be grouped by the other party in the message.
To export the messages, you will need to select the other party from the list and then right-click on the message thread. That will open up a toolbar panel that will allow you to export the messages as text or as an image.
Right now for text, the only text format is supported is ASCII text, but since that format is listed as a choice, I’m assuming that other formats will be a later release.
For image exports, you get a long PNG formatted image of the entire message thread, but without the images. That’s kind of a big limitation. You could make screenshots from the app itself, but you would be limited to what fits on the screen. But that does allow you to capture the images.
So if you need to export SMS messages, this is pretty much the only game in town that works across the carriers. Different wireless carriers may offer their own tools for accessing the text messages. I use Verizon Wireless and they have a decent portal that allows you to access messages and also to send and receive them without going through the phone.
Two weeks ago I participated in the Microsoft Virtual Conference. I did a session on cross platform localization for native apps using .NET. It’s a continuation of the localization article that I did for CODE magazine 18 months ago.
The V-Conf was two days with 5 concurrent tracks running. The US MVPs had IT, Developer, and Consumer tracks. The Latin American MVPS had a combined track in Spanish. The Brazilian MVPs had a track in Portuguese. Each session had a presenter who was responsible for the content, plus a moderator who handled questions from the audience during the session. Anyone could attend from the comfort of their home or office. And it was free.
I had the great luck of having a Microsoft MVP and Xamarin Developer Evangelist, James Montemagno, as my moderator. He did a great job and did it with the presenter’s equivalent of having one hand tied behind his back. James was at the airport, waiting for a flight. He used his phone as a hotspot for his laptop in a busy terminal.
I talked about the why and the how of localization. I concentrated on how to use the Multilingual App Toolkit and Xamarin.Forms to quickly build and test multilingual apps. I was able to use the new Android emulator that comes with Visual Studio 2015 to show the same app running side by side in different languages. I thought about using Release Candidate of Visual Studio 2015, but I decided not to tempt the Demo Gods. But I did want the new Android emulators that come with VS2015.
To use the Visual Studio 2015 Android Emulator with Visual Studio 2013 (or any other Android development tool), you can run the following command line:
That will launch the Emulator manager and let you install different virtual Android device images and run them.
Like Genymotion and the Xamarin Android Player, the Microsoft Android Emulator runs as a virtual x86 image. This starts up and runs much faster the Android Emulator that comes with the Android SDK. The Android Emulator emulates the phone down to the native chipset, which is usually ARM based. It’s a high fidelity simulation, but it’s very slow. Running x86 device images provide a much better experience for coding and testing.
The cool thing about the Microsoft Android Emulator is that it runs under Hyper-V, which means you can run it with the Windows Phone emulator. Genymotion and the Xamarin Android Player run inside Virtual Box, which does not play well with Hyper-V.
For the V-Conf session, I wanted as many of the simulators running at the same time on the same screen. This way the audience could see the same app running in multiple languages. Unfortunately this precluded showing the iPhone simulator on the same screen that was being shared with the audience. Since the demo app was written with Xamarin.Forms, the iOS version would have behaved very much like the Android and Windows Phone versions of the app. The audience didn’t miss much without the iOS experience.
As a presenter, I would log into a Lync/Skype for Business session and when it was my turn, I would present my screen and do my presentation. To keep the screen size at sane size for bandwidth, we were recommended to use a 1280×720 screen resolution.
I run two identical monitors on my home machine, at 1920×1080. Knocking one of them down to 1280 was jarring. The nice thing about using the Microsoft emulators is that they have a “Fit to Screen” button on the floating taskbar that comes with the emulator
Clicking the Fit to Screen button would scale the emulator to fit the height of the current screen resolution. It also kept the emulators more or less equally sized on the screen. I had enough room to run three emulators side by size.
I ran one instance of a 5″ Android phone with Android 5 (aka Lollipop), another 5″ Android with Android 4.4 (Kitkat), and 4.7″ Windows 8.1 phone image. The Lollipop phone I left in English. During the presentation, I added a German translation to the app and switched the Kikkat phone to German. I forgot to reboot the phone after making the change, James reminded me about that step.
With Windows Phone, I left the phone in English, but showed how to use code to force a specific language at run-time. This is very handy because if you don’t read the language you are testing, it can be awkward to reset the phone (especially Windows Phone) back to your native tongue.
To avoid having to change the phone locale and rebooting, you can force a specific locale when the app starts up by setting the CurrentCulture and CurrentUICulture.
// Force the app to use a specific language
// In this case, French
= new CultureInfo("fr-FR");
Microsoft has posted the video from my session here. The slide deck from the presentation should be posted up there soon. In the meantime, I posted it up on Slideshare.net. Some of the slides use animations to place images over the text and you may want to download the deck instead of viewing it online.
The source code for the sample project is up on GitHub. It does require Xamarin.Forms. If you don’t have Xamarin and would like to try the code, they do have a 30 day free trial.
This presentation was geared around Xamarin.Forms, but this is also applicable for “Classic” Xamarin.Android and Xamarin.iOS. The Multilingual App Toolkit has support for Xamarin.Android and Xamarin.iOS and can create the platform native string resource files for Android and iOS.
In addition to my session, I was the moderator the Microsoft Band session presented by Christine Flora. She had first slot of the day and had to deal with bandwidth problems that prevented the audience from seeing most of her presentation. Christine showed how to connect to Project Online and display the current status to your Microsoft Band. That’s actually a lot cooler than the apps currently available for the band that allow you to add a custom logo to the Band.
She did a great job and Microsoft will be posting an updated version of her presentation shortly. If you follow Christine on the Twitters, she’ll let you know when the updated Band session will be available.
I had a lot of fun doing the session and I want to thank Microsoft for letting me be one of presenters. I also want to thank James Montemagno for being my moderator. If you are going to do a presentation that uses a lot of Xamarin technology, you can’t go wrong with having a Xamarin Developer Evangelist assisting you. Read James’s blog. Go right now, I’ll wait. I used his tips on how to bring some of the Material Design goodness to Android version of my demo Xamarin.Forms app.
A job rejection has gone viral over the last few days. A college senior has complained that she was turned down for a job because of her attire. Elizabeth Bentivegna is graduating from Oberlin College later this year with a degree in Computer Science. She had contacted by a recruiter to apply for a position at OnShift.
By Bentivegna’s account, the interview went well and she expected to receive a job offer from OnShift. Instead the recruiter told her that she was rejected because she didn’t look “put together and professional” enough. Bentivegna had worn a black t-shirt, red skirt, black tights, and a black cardigan.
Bentivegna then vented about not getting the job on her Facebook account. Her opinion is that OnShift had made a mistake and she was being held to a different standard because she is female. She has a friend that works for Buzzfeed, Alanna Bennett, who tweeted a picture of Bentivegna’s Facebook post with the text “So my friend got rejected from a programming job today because she was wearing too much makeup.”
First, the recruiter never said anything about the makeup, just a comment about not looking professional enough. There was probably more to this than just the clothing, but that was the information that the recruiter shared with Bentivegna. While the developers may wear t-shirts and jeans at work, I doubt that’s what they wore to to their interview.
Let’s take a look at prospective employer. OnShift offers workforce management software targeted for the health care industry. Their customers are retirement communities, nursing homes, assisted living facilities, home health agencies. They are doing line of business (LOB) apps for a conservative market. if Bentivegna had done a little research, she would have looked at the OnShift Management Team page.
A third of the management team is female. Each person on the team has a corporate head shot. And they all dressed in professional business attire. That should have been Bentivegna’s styling cue for her interview.
They say that you can’t judge a book by it’s cover. Wrong, you do judge a book by it’s cover. That’s why they have covers in the first place. For a job interview, you are selling your self. You want to use every tool at your disposal and that includes your attire.
If you are in the video game industry, then it’s appropriate or even expected to show up in jeans and t-shirt. Just about everywhere else, it’s professional business attire. It doesn’t matter if you like those rules or not, it’s how the game works.
Without knowing any of the details, but having been on both sides of the interview, I have a pretty good guess of what could of happened. Bentivegna may have had a good technical interview. But perhaps she didn’t click with the development or management teams on a personal level. That is actually much more important that the technical skills. A company can train a new developer on their tool stack, that’s easy. Bu they can’t fix a personality that doesn’t mesh with the team.
It’s also possible that that company had interviewed multiple candidates and found someone that was a better fit. Which is actually the official statement from OnShift.
Interviewing is a learned skill and Bentivegna was new at this. In all fairness to Elizabeth Bentivegna, the recruiter should have prepared her for the interview and that includes discussing her choice of clothing. When you make a mistake, you try to learn from that mistake and move on. She was lucky to get some feedback for not getting the job. Usually, you just hear that the employer went with another candidate. Afterwards, the recruiter did suggest that Bentivegna purchase clothes for future interviews.
“I don’t see how my outfit could have been judged unprofessional, but I also think it’s silly that someone who is perfectly qualified and skilled and wants the job still can’t do it based on some arbitrary criteria,” she said. “Everyone has a different definition of what it means to look professional. I don’t think a male person would have had the same problem getting a job as I would.”
Elizabeth Bentivegna completely missed the lesson. What a 21 year senior viewed as appropriate is not going to be the same as what the person with 30+ years of experience who interviewed her would viewed as appropriate.
You dress up for interviews. You want the employer to know that you are taking the interview seriously. It shows that you have attention to detail and that you are showing respect to people conducting the interview process. Once you are on-board, you can follow the accepted dress code for the office, but until then you dress for success.
Publicly slamming the prospective employer was a dumb move. There is an expression that I heard once from a HR manager, “Sour Grapes equals Bad Apples”. Her friend Bennett didn’t help her by sharing it with the world. Bentivegna has demonstrated that she does not yet have the skills to handle rejection. When she applies elsewhere, this incident is going to be the first thing that an employer is going to see. That’s unfortunate, on paper she seems like a bright and capable candidate for an entry level web developer position.