jefframnani + software   180

Michael Tsai - Blog - The Experts Have Taken Over
Some accounts of how Apple’s culture of quality changed after Jobs / Forestall era.
apple  software  quality  ios  osx  macos  audio  podcast 
5 days ago by jefframnani
Michael Tsai - Blog - Apple Delays Features to Focus on Reliability, Performance
A nice reminder that things weren’t all wine and roses in the snow leopard days.

While High Sierra experienced a couple of fairly serious security vulnerabilities and has its share of irritating bugs, Snow Leopard — the go-to example of a refinement-oriented release — wasn’t exactly immune.
apple  software  quality  osx  macos 
9 days ago by jefframnani
Move slow and break nothing
This touches on some good points about the complexity of systems, but then points at the heavily regulated airline industry as an example of stability. It’s a good comparison, but doesn’t take into the costs necessary for that level of reliability.

Reliable systems do exist. The United States has not had a casualty from an airplane crash since 2013, and on a domestic carrier since 2009. There were 823 million passengers in the United States in 2016 alone. Clearly highly-redundant and reliable systems can be produced if we want them to and build the right culture of maintenance, safety, and reliability.
technology  software  quality  complexity  programming  risk 
9 days ago by jefframnani
Michael Tsai - Blog - iOS Auto-Correction From Contacts
Jeebus. I thought I was going crazy when I saw some of the dumb iOS autocorrects in iOS 11. Now I know why. But it’s still a dumb idea.
programming  apple  ios  MachineLearning  software  quality 
11 days ago by jefframnani
Tesla Is A Software Company
File under: Software is eating the world.

Software companies understand deeply the value of incremental delivery and out-of-band data gathering to validate theories.

Tesla plans to obtain this statistical evidence by running its full self-driving software in “shadow mode.” The software will not control the car, but will receive input from its sensors and simulate steering, braking, and accelerating. The software’s decisions will then be tested against the driver’s actual input to determine which is safer.
tesla  software  automobile  cars  manufacturing  business 
15 days ago by jefframnani
Bad Apple #1: iCloud Photo Library Re-uploading - TidBITS

we’re starting a new TidBITS column, called Bad Apple. Read that name however you like — in the context of one bad apple spoiling the whole barrel or like the imperative “Bad dog!” In Bad Apple, we’ll dive into a particular aspect of something that Apple got wrong.
apple  software  quality  cloud  osx 
24 days ago by jefframnani
The Modular Monolith: Rails Architecture – Dan Manges – Medium
How to evolve a monolith into a modular application inside a big framework line Rails. Uses the concept of services, but these services are just PORO’s using traditional software modularity principles.

Rails engines helps enable this architecture.
ruby  architecture  design  patterns  software  rails  DDD  programming 
4 weeks ago by jefframnani
Birdcage liners – Joel on Software

Both Twitter and Facebook’s selfish algorithms, optimized solely for increasing the number of hours I spend on their services, are kind of destroying civil society at the same time. Researchers also discovered that the algorithms served to divide up the world into partisan groups. So even though I was following hundreds of people on social networks, I noticed that the political pieces which I saw were nevertheless directionally aligned with my own political beliefs. But to be honest they were much… shriller. Every day the Twitter told me about something that The Other Side did that was Outrageous and Awful (or, at least, this was reported), and everyone was screeching in sync and self-organizing in a lynch mob, and I would have to click LIKE or RETWEET just to feel like I had done something about it, but I hadn’t actually done anything about it. I had just slacktivated.

What is the lesson? The lesson here is that when you design software, you create the future.
facebook  twitter  social  design  software  MachineLearning  culture  technology  SiliconValley 
5 weeks ago by jefframnani
GOTO 2017 • Beyond Developer • Dan North - YouTube
Dan talks about the breadth of things you need to care about to be a great developer.
programming  career  software  business  video  goto  management  agile 
9 weeks ago by jefframnani
Michael Tsai - Blog - Rushed iOS 11.2 Update to Fix Date Crasher
I think this quote from SwiftOnSecurity is insightful.

Again and again, Microsoft employees and observers tell me how much the company was shook by 2000s-era bugs, and remolded by Bill Gates’ Trustworthy Computing memo. I’m not saying it’s the same, but I really wonder if there are lessons for Apple now.
apple  software  quality  ios 
11 weeks ago by jefframnani
MakeMKV - Make MKV from Blu-ray and DVD
MakeMKV is your one-click solution to convert video that you own into free and patents-unencumbered format that can be played everywhere. MakeMKV is a format converter, otherwise called "transcoder". It converts the video clips from proprietary (and usually encrypted) disc into a set of MKV files, preserving most information but not changing it in any way.
dvd  media  backup  drm  archive  software 
11 weeks ago by jefframnani
iPhone crashing on Dec. 2? Here's the fix! | iMore
Apple has had serious bugs with their recent software releases. If this continues they risk losing customer trust such that they never update. Like Microsoft back in the day.
apple  software  quality  ios 
11 weeks ago by jefframnani
Michael Tsai - Blog - Why Little Bugs Need to Get Fixed
Another laundry list of issues with Apple’s recent software.

If Apple can’t fix bugs faster than it creates them, the only possible outcome is operating systems and apps that get buggier and buggier. This is a vicious cycle that is demoralizing for customers, and especially for the people who send in bug reports for free. If Apple can’t pay off this technical debt in a time of record earnings, stock price, and expansion, when can it?
apple  software  quality 
12 weeks ago by jefframnani
In My Pocket
Joe Cieplinski on how it sucks to copy your music onto an iPhone using iTunes.

I know I’m in the minority here, but I like having all my music on my phone. And I mean downloaded, ready to play, regardless of network connectivity. I ride the subway a lot, and thus I often find myself in a position of no internet connectivity. And I like to decide what I want to listen to in the moment, not ahead of time. It’s very frustrating for me to be in the mood for a song, go to play it on my phone, and nothing happens.

You would think this would be easy, copying my entire library, since all my music is on my Mac, and thus a simple USB cable would be all I'd need to copy all that music over to my new phone. If you think this is true, you clearly haven’t been reading my blog for very long. For several years now, as Apple has ignored users in my situation, the process of getting my songs onto my phone has resulted in doubled tracks, missing tracks, incorrect album artwork, songs that simply never copy, songs that appear to be on the phone but refuse to play, and on and on. It has been a nightmare for a geek like me who makes an effort to have a very orderly library and who likes to listen to entire albums.

But if you have lots of tracks that you ripped from CDs back in the Stone Age, or you purchase songs from places other than iTunes occasionally, and you haven’t yet surrendered your entire music flow to streaming services, you may be experiencing many of the difficulties I have with iTunes over the past five or more years.
apple  music  software  quality  itunes 
november 2017 by jefframnani
Living on the Plateau - Clean Coder Blog
File under: The end of Moore's Law and Exponential Hangover.

Uncle Bob explains it. There's even a slide from Intel talking about how 28mn is the most cost-effective for mid-range computers.
But the 8 core processors never came – at least in the laptop space. We’re still waiting. And it’s looking more and more as though Moore’s law for density has hit the wall.
I think it is quite realistic to expect that the speed and density of computers have reached their practical limits. It’s just possible that we have been living on the plateau for the last decade; and that we will remain on this plateau for the foreseeable future.

Then he looks down the road and asks what else might be affected? I think he's right that the Cambrian Explosion of programming languages are over. We're settling into a stable basis for the future. The only one he's missing is Kotlin.
If we aren’t going to see 1024 core processors in the near future, what need have we of functional programming languages? Oh, don’t get me wrong. I think functional programming is a good idea. Every programmer should learn it. But the crisis that we anticipated – the crisis that drove the current infatuation with functional languages – seems not to be occurring. And that may well mean that functional languages never achieve the ascendency that we had anticipated for them. It may just be that Java/C#, and Ruby/Python, and Swift/Dart/Go are, and will be, sufficient.

If Moore’s law was the driver of our language evolution, what will drive it now? Could it be that we are living at the beginning of a period in which language evolution will slow it’s frenetic pace? Will we see the number of languages cease it’s relentless rise, and begin to decline? Will our industry gradually abandon the exuberance of adolescence and settle down into a stable period of adulthood and middle age?
programming  language  evolution  MooresLaw  FunctionalProgramming  hardware  software 
november 2017 by jefframnani
Introducing Nullable Reference Types in C#
A good story of evolving a language to add a useful feature in the face of a large install base. A thoughtful approach to adding this feature.
csharp  programming  software  evolution 
november 2017 by jefframnani
Entering the Quantum Era—How Firefox got fast again and where it’s going to get faster – Mozilla Hacks – the Web developer blog
Another great story about how to evolve a large existing code base with a large user base.

This is the opportunity that the Chrome engineers foresaw. We saw it too, but we had a bumpier path to get there. Since we had an existing code base we needed to plan for how to split up that code base to take advantage of multiple cores.

Electrolysis laid the groundwork for Project Quantum. It introduced a kind of multi-process architecture similar to the one that Chrome introduced. Because it was such a big change, we introduced it slowly, testing it with small groups of users starting in 2016 before rolling it out to all Firefox users in mid-2017.

File under: browsers are becoming operating systems. In this case Firefox is adding their own preemptive scheduler to prioritize tasks.

Even when you split up the content windows between cores and have a separate main thread for each one, there are still a lot of tasks that main thread needs to do. And some of them are more important than others. For example, responding to a keypress is more important than running garbage collection. Quantum DOM gives us a way to prioritize these tasks. This makes Firefox more responsive. Most of this work has landed, but we still plan to take this further with something called pre-emptive scheduling.
firefox  browser  refactoring  performance  software  evolution 
november 2017 by jefframnani
Amazon Revokes Delicious Library API Access
We are writing to tell you that effective as of today’s date, Amazon is terminating your Associates account. Under the terms of the Operating Agreement, we may terminate your account at any time, with or without cause. This decision is final and not subject to appeal.
business  monopoly  amazon  software 
october 2017 by jefframnani
The Software Apocalypse - Tools Are Not The Answer

And right there, ladies and gentlemen, you can see both the cause of the apocalypse, and the obvious solution.

The cause:

1. Too many programmer take sloppy short-cuts under schedule pressure.
2. Too many other programmers think it’s fine, and provide cover.

The obvious solution:

1. Raise the level of software discipline and professionalism.
2. Never make excuses for sloppy work.

This is the point that the author of the Atlantic article missed entirely. The one thing he failed to consider was that the reason we are facing bugs that kill people and lose fortunes, the reason that we are facing a software apocalypse, is that too many programmers think that schedule pressure makes it OK to do a half-assed job.
programming  craftsmanship  culture  testing  quality  software 
october 2017 by jefframnani
Daring Fireball: Bill Gates Now Using an Android Phone 'With a Lot of Microsoft Software'

While I”m at it, it occurs to me that Apple is the only company left where all its employees are using only systems made by their own company. Microsoft employees need to use phones running iOS or Android. Google employees need to use MacOS or Windows (there might be some administrative jobs where they can use Chromebooks, but I doubt there are any engineers or designers getting by with Chrome). But at Apple, it’s MacOS on your PCs, iOS on your phone and tablet, WatchOS on your watch, and even tvOS on your set-top box. Microsoft use to have a slogan “Windows everywhere”. Apple doesn’t have one OS that runs everywhere (although it’s close with iOS — WatchOS and tvOS are really just offshoots of iOS with different UI layers), but there is a sort of cultural “Apple everywhere” mindset that I worry could lead to the sort of insularity that blinded Microsoft in the early ’00s.
apple  microsoft  business  monopoly  software  quality 
september 2017 by jefframnani
The 4-letter-word word that makes my blood boil

Gerald Weinberg calls “just” an example of Lullaby Language, which “lulls your mind into a false sense of security, yet remains ambiguous enough to allow for the opposite interpretation.”
software  programming  culture  communication  management 
august 2017 by jefframnani
Why we’re switching Ulysses to Subscription – Building Ulysses – Medium
The software business is changing. Paid upgrades are dead in a post App Store world. Subscriptions seem like the only / best option going forward.

Let’s map this onto Ulysses for a moment: If you bought Ulysses at its launch in April 2013, you will now have received nine major feature releases. For free, at no additional cost. At least 80% of that originally purchased app have since been scraped and replaced. Its functionality has quadrupled during the same time.

Each of these nine updates required a considerable amount of time on our part, which of course translates into a considerable amount of development cost. But with customers ever only paying for the development of the current version — how did we manage to finance new versions then?

The answer is simple: New users.
Or in economic terms: Expanding our market.

Now, as long as there was a strong-enough flow of new customers every month, development costs could be covered by those sales. But since ours is a growing product (updates!), it hence needs a growing team (more code), which means growing development costs (devs need food), which in turn means we need an ever-growing stream of new users.

Needless to say, solely relying on new customers to keep your business going, is a very unstable idea — at the very least, there will come a time of full market saturation, right? ...
software  business  saas  productivity  apple 
august 2017 by jefframnani
Why we’re switching Ulysses to Subscription – Building Ulysses – Medium
The software business is changing. Paid upgrades are dead in a post App Store world. Subscriptions seem like the only / best option going forward.

Let’s map this onto Ulysses for a moment: If you bought Ulysses at its launch in April 2013, you will now have received nine major feature releases. For free, at no additional cost. At least 80% of that originally purchased app have since been scraped and replaced. Its functionality has quadrupled during the same time.

Each of these nine updates required a considerable amount of time on our part, which of course translates into a considerable amount of development cost. But with customers ever only paying for the development of the current version — how did we manage to finance new versions then?

The answer is simple: New users.
Or in economic terms: Expanding our market.

Now, as long as there was a strong-enough flow of new customers every month, development costs could be covered by those sales. But since ours is a growing product (updates!), it hence needs a growing team (more code), which means growing development costs (devs need food), which in turn means we need an ever-growing stream of new users.

Needless to say, solely relying on new customers to keep your business going, is a very unstable idea — at the very least, there will come a time of full market saturation, right? ...
software  business  saas  productivity 
august 2017 by jefframnani
'THIS IS NOT A DRILL:' A Hacker Allegedly Stole $32 Million in Ethereum - Motherboard
Imagine your money is controlled by software. Software has bugs. Bugs that can cost you all your money.
ethereum  money  finance  software  quality  blockchain 
july 2017 by jefframnani
Apple, Google and other Nasdaq Stocks Swing Wildly in After-Hours Trading - Bloomberg

An error at Nasdaq Inc.’s computer systems caused confusion among traders Monday, as Wall Street closed early for the July 4 holiday.

The exchange operator was conducting a test of its pricing data feed that led to some third-party providers showing wild moves in shares including Google Inc. and Microsoft Corp. that never occurred, according to spokesman Joe Christinat. Nasdaq is working with the providers to resolve the issue, he said.
software  finance  exchange  testing  outage  Nasdaq  markets 
july 2017 by jefframnani
The Half-Life of Code — Sandi Metz

In my experience, most applications are a mess. Successful business rely on long-lived applications that endure a constant barrage of new requirements. Changes are commonly made under urgent time pressure, which drives applications towards disorder. As entropy increases, it becomes harder and harder to add features except by way of one more hack. The accumulated mess leads to hacks, hacks lead to more hacks, and then you're in a loop. Velocity gradually slows, and everyone comes to hate the application, their job, and their life.
programming  quality  software  design 
june 2017 by jefframnani
The Four Elements of Simple Design
By JB Rainsberger

I claim that developing strong skills of detecting duplication, removing duplication, identifying naming problems, and fixing naming problems equates to learning everything ever written about object-oriented design.
software  design  tdd  programming  oop 
may 2017 by jefframnani
The Clean Architecture | 8th Light
By Uncle Bob. A synthesis of the hexagonal and screaming architectures.
programming  design  architecture  software 
may 2017 by jefframnani
Damage - Matt Gemmell
Matt is calling out Apple here, but I put Google in the same camp. In fact, it was Google who did the research on how much more engagement you got when you priced at zero.

No company has done as much damage to the perceived value of software, and the sustainability of being an independent developer, as Apple.

Not that other companies wouldn’t have done the same thing — they would have. It’s just that Apple was the successful one.

It’s resolutely the fault of us as consumers, and it’s actively encouraged by the App Store.
programming  business  apple  google  software  economics 
may 2017 by jefframnani
Education of a Programmer – Hacker Noon

one of the hardest problem for a system designer is to determine how to divide responsibilities between components of a system. This ends up being a discussion that involves weighing the pros and cons as you divide up functionality, isolate complexity and try to design a reliable, performant system that will be flexible to evolving requirements. There is no simple set of rules to follow.

On architecture and software layers:

It is almost a truism that a component you adopt will have more functionality than you actually require. In some cases, the decision to use it is based on leveraging that functionality for future uses. You adopt specifically because you want to “get on the train” and leverage the ongoing work that will go into that component. There are a few consequences of building on this highly functional layer. 1) The component will often make trade-offs that are biased by functionality that you do not actually require. 2) The component will embed complexity and constraints because of functionality you do not require and those constraints will impede future evolution of that component. 3) There will be more surface area to leak into your application. Some of that leakage will be due to true “leaky abstractions” and some will be explicit (but generally poorly controlled) increased dependence on the full capabilities of the component.

As soon as you have defined a layer, it starts to accrete functionality. The layer is the natural throttle point to optimize for your usage patterns. The difficulty with a thick layer is that it tends to reduce your ability to leverage ongoing innovation in underlying layers. In some sense this is why OS companies hate thick layers built on top of their core evolving functionality — the pace at which innovation can be adopted is inherently slowed.

On performance:

A key thing to recognize about this exponential change is that while all components of the system are experiencing exponential change, these exponentials are divergent. So the rate of increase in capacity of a hard disk changes at a different rate from the capacity of memory or the speed of the CPU or the latency between memory and CPU. Even when trends are driven by the same underlying technology, exponentials diverge. Latency improvements fundamentally trail bandwidth improvements.

On complexity:

I have struggled with complexity my entire career. Why do systems and apps get complex? Why doesn’t development within an application domain get easier over time as the infrastructure gets more powerful rather than getting harder and more constrained? In fact, one of our key approaches for managing complexity is to “walk away” and start fresh. Often new tools or languages force us to start from scratch which means that developers end up conflating the benefits of the tool with the benefits of the clean start. The clean start is what is fundamental. This is not to say that some new tool, platform or language might not be a great thing, but I can guarantee it will not solve the problem of complexity growth. The simplest way of controlling complexity growth is to build a smaller system with fewer developers.
programming  career  management  software  design  architecture 
april 2017 by jefframnani
Complexity and Strategy
A retrospective from years of working on Microsoft's Office products.

Great essay on the trade-offs between a product's functionality (the sum of its features), and it's essential complexity (how those features interact).

I enjoyed this take on the enthusiasm for new technologies by early adopters.
This perspective does cause one to turn a somewhat jaundiced eye towards claims of amazing breakthroughs with new technologies. Managed code was one that we argued about for a long time during this period. Leveraging open source also has some of the same dynamics. What I found is that advocates for these new technologies tended to confuse the productivity benefits of working on a small code base (small N essential complexity due to fewer feature interactions and small N cost for features that scale with size of codebase) with the benefits of the new technology itself — efforts using a new technology inherently start small so the benefits get conflated. Additionally, these new technologies (Java, C#, NodeJS is the latest one) start out with a much more functional initial set of base libraries and rich frameworks, certainly compared to what we saw in C and C++ and in the early days of either Mac or Windows application development.

This is about the framework code that Office is built upon, but it feels equally true about Rails and Django, et al.

The dynamic you see with especially long-lived code bases like Office is that the amount of framework code becomes dominated over time by the amount of application code and in fact frameworks over time get absorbed into the overall code base. The framework typically fails to evolve along the path required by the product — which leads to the general advice “you ship it, you own it”. This means that you eventually pay for all that code that lifted your initial productivity. So “free code” tends to be “free as in puppy” rather than “free as in beer”.

On competing with Google Docs.
Browser-based application delivery solved the deployment problem which was a huge issue for PC applications in the days before app stores. This enabled continuous delivery of new features as well as ensuring that everyone was up-to-date with the latest version.

One thing that was clear to us was that the cloud/browser development strategy did not offer a breakthrough in the constraints of essential complexity like I am discussing here. In fact, the performance challenges with running large amounts of code or large data models in the browser and managing the high relative latency between the front and back end of your application generally make it harder to build complex applications in a web-based environment.

Positive affirmation of how Microsoft enforces their monopoly intentionally. This comes right after a paragraph criticizing Google Apps for not being more compatible with Office.
The final decision to build the “Word Web App” rather than “a new web-based word processor from Microsoft that is not fully compatible with Word” (and similarly for Excel, PowerPoint and OneNote) was strongly driven by the belief that the file formats continued to serve as a critical competitive moat with immensely strong network effects. In fact, an argument can be made that the Office file formats represent one of the most significant network-based moats in business history (with Win32 and the iOS APIs as two others).
microsoft  programming  software  history  msoffice 
march 2017 by jefframnani
Gerald M. Weinberg: Writer - Consultant OFFICIAL WEBSITE
Author of The Secrets of Consulting. For some reason it was hard to Google his actual web site where I can buy his books somewhere other than Amazon.
programming  agile  consulting  business  book  author  quality  software 
march 2017 by jefframnani
How to Crash Systemd in One Tweet
The bug is remarkably banal. The above systemd-notify command sends a zero-length message to the world-accessible UNIX domain socket located at /run/systemd/notify. PID 1 receives the message and fails an assertion that the message length is greater than zero. Despite the banality, the bug is serious, as it allows any local user to trivially perform a denial-of-service attack against a critical system component.
linux  security  systemd  software  quality 
february 2017 by jefframnani
Why Every Element of SOLID is Wrong // Speaker Deck
SOLID has been a guide for Object Oriented Programmers for years. Challenging these principles is thought provoking.
programming  architecture  design  software  oop 
january 2017 by jefframnani
Bitter iCloud Truth |
This is fucking awful. How does the company that gave us Time Machine screw up backup and restore so badly.

The overarching lesson here is that when it comes to iCloud-synced data, you cannot count on local data, and worse: you can’t count on local archives.
osx  apple  software  quality  backup  sync 
january 2017 by jefframnani
/dev/lawyer The MIT License, Line by Line
Great summary of and commentary on the MIT open source license.
license  software  legal  copyright  opensource 
october 2016 by jefframnani
A Declining Trajectory - Matt Gemmell

Courage is apparently what it takes to remove a headphone port, according to Phil Schiller. I can only imagine which laudable value might lead to slowing down, making the upgrade cycle biennial, and focusing once again on quality and dependability above all.

The practical impact of all this for me is small, but meaningful: I don’t trust this stuff anymore. It was the very reliability of it — in user-friendly design, as well as stability of functionality — that was the basis of my choice in the first place, and continued choices for decades since. I don’t care about the brand itself, and I have no intellectual investment in the platforms as a developer anymore. I just need things that work, and that I can rely on working.
apple  software  quality  osx  ios  iwatch 
october 2016 by jefframnani
Providing the best possible App Store experience - The Omni Group
Omni is making their pro Mac apps free to download with in-app purchase for the Standard and Pro features. The free version of the app acts as a read-only document viewer.

The evolution of the software business continues. I wonder how this will work for OmniFocus?
apple  software  business  ios 
october 2016 by jefframnani
Episode #54 Enterprise Software with Python - [Talk Python To Me Podcast]
Defining "enterprise software". I liked their discussion about customization and the lack of scale that it results in.
business  software  podcast  python  programming 
june 2016 by jefframnani
Separate, support, serve - bitquabit
I may need to update my thinking about Microsoft.

This leaves us with two conclusions. First, empirically, Embrace, Extend, Extinguish failed; if it hadn’t, Windows would still be a monopoly. For Microsoft to be continuing this strategy, you have to believe they were not merely evil, but also unrecoverably stupid.

Second, it can’t work in an environment where Microsoft is an underdog. For nearly all shops out there, leaving Windows is honestly pretty trivial at this point; it’s adopting it that’d be an uphill battle. If I pick “Linux”, I can trivially integrate OpenBSD, Illumos, OS X, and any other Unix-like environment into my workflow with few or no issues. I can pick amongst AWS, GCE, Digital Ocean, and others for my hosting. I can pick virtually any language and database I want, use virtually any deployment tool, and migrate amongst all of these options with relative ease.
software  microsoft  business  culture  windows  monopoly 
may 2016 by jefframnani
ITunes Library on a NAS | Apple Support Communities
It looks like I'm not the only one experiencing this problem with iTunes corruption when the files are hosted on a NAS.

@BemApo you are describing my issue exactly.... right down to The Talking Heads. My library is messed up, though I'd prefer to use stronger language when talking about it. I'll click one song and another will play. Some videos have turned into podcasts, music, etc. In many cases actual files have moved. The songs on an album will be contained in one folder and the rest in another random folder
apple  software  quality  itunes 
may 2016 by jefframnani
In Oracle v. Google, a Nerd Subculture Is on Trial

But ever since a bunch of normals at the Federal Circuit decided in 2014 that the structure, sequence, and organization of the Java APIs are copyrightable, copyrightable they are—and now Google witnesses are struggling to explain their actions as part of a long shared history in an insular community of nerds with their own language, their own mythology, their own intuitions about software and intellectual property.
software  copyright  api  legal  oracle  google 
may 2016 by jefframnani
An Apple Music plea
This is what it sounds like when you start losing your customers trust. In this case, customers are losing trust in Apple's software quality.
apple  software  quality  business  itunes 
may 2016 by jefframnani
Apple Music Deletes Personal Music Files
iTunes is a fucking garbage fire. After turning on iCloud Music Library, my entire local music library was corrupted including the music files themselves.

"My takeaway from all the people commenting is that no one seems to fully understand how it’s intended to work, or whether it works as intended, so it’s best to stay far away."
apple  software  quality  cloud  itunes 
may 2016 by jefframnani
Consultants Ate My Unit Tests
A concrete example of unprofessional behavior by programmers. A professional programmer completed a project. He had automated unit tests. The business owner then started using cheaper consultants, who deleted the unit tests and created a mess. This is predictable, but sometimes you need concrete examples to show people why testing is important.
business  testing  consulting  programming  quality  software 
march 2016 by jefframnani
What no indie developer wants to hear about the App Store
"We're in the app equivalent of the industrial age, where mass production and departments stores have changed the way the industry works. Where developers are fighting for shelf space like toothpaste tubes at Walmart and have as much an idea who's buying their products as Coke does a can at 7/11."
ios  software  business 
march 2016 by jefframnani
Typos in Disk Utility
"These kind of user interface issues don’t inspire confidence. And, unfortunately, the problems are not just skin deep. Lately I’ve been encountering a problem where SuperDuper cloning fails because the disk is full. It turns out that the underlying diskutil tool sometimes fails to erase the volume but tells SuperDuper that it succeeded. So not only does it not work but also it doesn’t know that it doesn’t work."
apple  software  quality  osx 
march 2016 by jefframnani
Making WhatsApp free and more useful - WhatsApp Blog
Charging for software is hard. Especially if you're a messaging app that needs network effects.

"That's why we're happy to announce that WhatsApp will no longer charge subscription fees. For many years, we've asked some people to pay a fee for using WhatsApp after their first year. As we've grown, we've found that this approach hasn't worked well. Many WhatsApp users don't have a debit or credit card number and they worried they'd lose access to their friends and family after their first year. So over the next several weeks, we'll remove fees from the different versions of our app and WhatsApp will no longer charge you for our service."
software  business  messaging  advertising 
january 2016 by jefframnani
Çingleton - Rich Seigel
The creator of BBEdit talks about leaving the Mac App Store.
business  software  apple  video 
december 2015 by jefframnani
★ Low Hanging Fruit
Gruber lost some email accounts after his upgrade to El Capitan.
osx  software  quality 
december 2015 by jefframnani
inessential: Low-Hanging Fruit
"So we have Apple Watch and Apple TV now. What I’m hoping for — what I’m nearly begging for, more as a user than as developer — is that Apple spend a year making things better. Nothing new. Just make things work better."
osx  quality  software 
december 2015 by jefframnani
Mobile, ecosystems and the death of PCs
Trying to define what we mean by "mobile".

"So, a simple answer to a complex question - when we say 'mobile' we don't mean mobile just as when we said 'PCs' we didn't mean personal. This isn't about the screen size or keyboard or location or use. Rather, the ecosystem of ARM, iOS and Android, with 10x the scale of Wintel, will become the new centre of gravity throughout computing. It will take over things like IoT and wearables in one direction and, in due course, the data centre in the other, and it will push onto the desktop. The smartphone is the new sun."
software  mobile  business 
november 2015 by jefframnani
Software and engineering
"I have a much simpler definition of engineering that has nothing to do with process or the reliability of results. To me, engineering is a struggle against nature using the laws of nature. The products of “real” engineering exist in the physical world; they are not abstractions."
programming  software  engineering 
november 2015 by jefframnani
Graham King » Facebook’s code quality problem
"Next time management or clients try to convince you to move faster and throw quality under the bus, you can say sure, that will work, as long as you can hire 429 engineers to work on our iOS app."
programming  software  facebook  quality 
november 2015 by jefframnani
Delibar, Delicious Mac client
Delibar is a full featured Delicious and Pinboard Mac client. Delibar focuses on giving Mac OS X users an easy and quick tool for searching, managing and sharing their bookmarks.
osx  pinboard  software 
november 2015 by jefframnani
Tags - Simply Organized
Tag items in the Finder, Mail, Photos and more. Can work with any application that supports Applescript. Provides a search interface light spotlight.
osx  software  productivity  search  tags  organization 
november 2015 by jefframnani
REWRITE — Medium
Good text summary of DHH's talk at the Business of Software 2015 conference, "REWRITE".
programming  software  design  business  saas 
october 2015 by jefframnani
« earlier      
per page:    204080120160

related tags

acm  advertising  agile  ai  amazon  api  apple  archaeology  architecture  archive  art  audio  author  automobile  backup  blackberry  blockchain  blog  book  browser  budget  build  business  career  cars  cloud  communication  compiler  complexity  computers  conference  consulting  continuousdeployment  continuousintegration  copyright  craftsmanship  creativity  crowdsourcing  csharp  culture  DDD  design  development  devops  distributed  documentation  drm  dvd  economics  emulator  energy  engineering  entrepreneurship  estimation  ethereum  ethics  evolution  exchange  facebook  finance  firefox  fraud  FunctionalProgramming  funding  gnu  google  goto  government  gpl  hardware  history  hosting  hp  humor  internet  ios  itunes  iwatch  java  language  law  legal  library  license  linux  mac  macbook  MachineLearning  macos  malware  management  manufacturing  marketing  markets  media  meditation  mercurial  messaging  microsoft  mobile  money  monopoly  MooresLaw  msoffice  music  nasa  Nasdaq  nyse  oop  openbsd  opensource  oracle  organization  os  osx  outage  patents  patterns  payments  performance  philosophy  photoshop  pinboard  planning  podcast  policy  politics  privacy  productivity  programming  projectmanagement  python  quality  rails  rake  refactoring  reference  ReleaseManagement  research  risk  ruby  saas  sales  scifi  scm  search  security  SiliconValley  smartgrid  social  software  space  startups  surveillance  sync  sysadmin  systemd  tags  tdd  technology  tesla  testing  tools  TouchBar  transparency  twitter  unix  ux  video  vpn  web  windows  zfs 

Copy this bookmark: