Shared posts

31 Jul 15:03

Public Transit Chain Reaction

by peter@rukavina.net (Peter Rukavina)

Oliver and I have settled into a comfortable pattern of taking the bus home from Stars for Life every weekday afternoon: I catch the 3:45 p.m. bus up, and we catch the 4:30 p.m. bus back.

The Route № 2 bus, which I catch up to Stars for Life, is frequently late, but generally only by a few minutes.

Today, though, there was a chain reaction that caused a longer delay than is usual: we hit the Wall of Public Servants leaving Charlottetown out North River Road.

In the normal course of affairs it’s smooth sailing for Route № 2, as there’s little traffic on North River Road at 3:48 p.m. Tack on a 5 or 6 minute delay, however, and suddenly it’s quitting time downtown for a glut of provincial and federal public servants, and North River Road fills up from Kirkwood Drive to Capital Drive and then inches along. Which delays the bus even more.

The irony here is that if more public servants took the bus, the bus wouldn’t be late. So more public servants would take the bus.

Chain reactions work in two directions.

31 Jul 15:02

Almost there

by Lilia

Tomatoes on my balcony

My tomatoes are almost ripe and I am almost dancing from joy. By itself it’s not a big deal: I’m a seasoned tomato grower and know the ingredients – a warm place on the balcony, self-made compost, bokashi, fish scraps from our local fish shop, rainwater from all those communicating vessels, cover from the top, time and lots of love… What made is different this time is that I didn’t know if I would be at home to enjoy the harvest.

Now it is clear they will ripen in time to enjoy, but it had not been when I planted them and cared for them. And I am glad I did. It is a learning process for me, to deal with uncertainties, to plant and to care without knowing if I will be there to see it ripe. Like planting fruit trees or asparagus that take a few years before you can harvest while having a discussion about possibilities of relocating to another part of the country.

Growing a garden always has a metaphorical meaning for me. This “almost there” feeling is not only about the tomatoes, but it’s also about myself. The last couple of years were full of transformations – reconsidering choices, getting more clear about values, changing habits and lots of other inner work. And slowing down with all sorts of external commitments in the last few months to make time for myself. It works and, as with the tomatoes, I’m dancing inside from joy because I feel that I am almost there.

The post Almost there appeared first on Mathemagenic.

31 Jul 15:02

Dropbox

by Rui Carmo

A damn useful cross-platform file syncing service that works the way iDisk was supposed to.

Resources:

Obscure Bits of Lore

If you lose Finder icon overlays and context menus, quit Dropbox and do this:

sudo rm -rf /Library/DropboxHelperTools
killall Finder

…and restart Dropbox. It should ask for an administrator password to reinstall the Finder plugin, and all should be well.


31 Jul 15:02

To write an iOS app, you have to learn Objectiv...

To write an iOS app, you have to learn Objective-C, Swift, or both. Xcode. UIKit and Foundation and maybe Core Data. How to upload apps to the App Store.

But… after learning all that, AppKit, which is super-similar to UIKit, is a bridge too far? This still freaks me out!

31 Jul 15:01

Three Reasons To Like Gary Vee

by noreply@blogger.com (BOB HOFFMAN)

If you ever tell anyone I said this I'll deny it, but I kinda like Gary Vee. I know he's full of shit but I can't help liking the guy.

Here are three reasons I like him:

1.  He gives hope to those suffering from DDD (Delusional Disrupter Disorder.) These meatballs think that Gary's "just a poor boy with a vision" hooey is a model for success. They don't understand probability. They have about as much likelihood of gaining success from Gary's homilies as I have of winning a hugging contest. Nonetheless, he gives them hope.

2. Our business has two kinds of bullshit - the cold bullshit of the data weasels and the hot bullshit of the Gary Vees. You can have your Powerpoint-addled jargon-spewing data-monkeys. I'll take Gary's hot bullshit any day.

3. He had to grow up in New Jersey with the name Vaynerchuk. You try it.



31 Jul 15:01

Using memory-profiler to debug excessive memory usage in healthkit-to-sqlite

Using memory-profiler to debug excessive memory usage in healthkit-to-sqlite

This morning I figured out how to use the memory-profiler module (and mprof command line tool) to debug memory usage of Python processes. I added the details, including screenshots, to this GitHub issue. It helped me knock down RAM usage for my healthkit-to-sqlite from 2.5GB to just 80MB by making smarter usage of the ElementTree pull parser.

31 Jul 15:01

Repository driven development

Repository driven development

I'm already a big fan of keeping documentation and code in the same repo so you can update them both from within the same code review, but this takes it even further: in repository driven development every aspect of the code and configuration needed to define, document, test and ship a service live in the service repository - all the way down to the configurations for reporting dashboards. This sounds like heaven.

Via @amatix

31 Jul 15:01

Killing a Cyclist with Your Door Results in Maximum Fine of $81 in BC – It’s Time to Speak Out

by Average Joe Cyclist

One day I saw about 4 parents transporting kids on the Vancouver separated bike lanes at the same time! - how to safely transport kids on bikesBritish Columbia’s Motor Vehicle Act is so out of date that a death caused due to dooring by a person driving a car results in a maximum fine of $81. Tell your MLA that something needs to change!

The post Killing a Cyclist with Your Door Results in Maximum Fine of $81 in BC – It’s Time to Speak Out appeared first on Average Joe Cyclist.

31 Jul 14:59

Recommended on Medium: When a rewrite isn’t: rebuilding Slack on the desktop

by Mark Christian and Johnny Rodgers

A new version of Slack is rolling out for our desktop customers, built from the ground up to be faster, more efficient, and easier to work on.

Aerial photo of a ship on a beach being worked on.
Photo by Caleb George on Unsplash

Conventional wisdom holds that you should never rewrite your code from scratch, and that’s good advice. Time spent rewriting something that already works is time that won’t be spent making our customers working lives simpler, more pleasant, and more productive. And running code knows things: hard-won knowledge gained through billions of hours of cumulative usage and tens of thousands of bug fixes.

Still, software codebases have life spans. The desktop version of Slack is our oldest client, growing out of a period of rapid development and experimentation during the earliest moments of our company. During this period, we were optimizing for product-market fit and in a constant sprint to keep up with our customers as their use — and expectations — of the product grew.

Today, after more than half a decade of hyper-growth, Slack is used by millions of people with larger companies working with more data than we ever could have imagined when we first started. Somewhat predictably, a few internal cracks were starting to show in the desktop client’s foundation. Additionally, the technology landscape had shifted away from the tools we chose in late 2012 (jQuery, Signals, and direct DOM manipulation) and toward a paradigm of composable interfaces and clean application abstractions. Despite our best efforts to keep things snappy, it became clear that some fundamental changes would be required to evolve the desktop app and prepare it for the next wave of product development.

The architecture of the existing desktop app had a number of shortcomings:

  1. Manual DOM updates. Slack’s original UI was built using HTML templates that needed to be manually rebuilt whenever the underlying data changed, making it a pain to keep the data model and user interface in sync. We wanted to adopt React, a popular JavaScript framework that made this sort of thing more automatic and less prone to potential errors.
  2. Eager data loading. The data model was “complete”, meaning that each user session started by downloading everything relevant to the user. While great in theory, in practice this was prohibitively expensive for large workspaces and meant that we had to do a lot of work to keep data models up-to-date over the course of a user’s session.
  3. Multiple processes for multiple workspaces. When signed into multiple workspaces, each of those workspaces was in fact running a stand-alone copy of the web client inside a separate Electron process, which meant that Slack used more memory than users expected.

The first two problems were the sort of things that we could incrementally improve over time, but getting multiple workspaces to run within a single Electron process meant changing a fundamental assumption of the original design — that there is only ever a single workspace running at a time. Although we made some incremental improvements for folks with lots of idle workspaces, truly solving the multiple process problem meant rewriting Slack’s desktop client from scratch.

Bit by bit

The Ship of Theseus is a thought experiment that considers whether an object that has had each of its pieces replaced one-by-one over time is still the same object when all is said and done. If every piece of wood in a ship has been replaced, is it the same ship? If every piece of JavaScript in an app has been replaced, is it the same app? We sure hoped so, because this seemed like the best course of action.

Our plan was to:

  • keep the existing codebase;
  • create a “modern” section of the codebase that would be future-proof and work the way we wanted it to;
  • modernize the implementation of Slack bit by bit, replacing existing code with modern code incrementally;
  • define rules that would enforce a strict interface between existing and modern code so it would be easy to understand their relationship;
  • and continually ship all of the above with the existing app, replacing older modules with modern implementations that suited our new architecture.

The final step — and the most important one for our purposes — was to create a modern-only version of Slack that would start out incomplete but gradually work its way toward feature completeness as modules and interfaces were modernized.

We’ve been using this modern-only version of the app internally for much of the last year, and it is now rolling out to customers.

Modern times

The first order of business was to create the modern codebase. Although this was just a new subdirectory in our codebase, it had three important rules enforced by convention and tooling, each of which was intended to address one of our existing app’s shortcomings:

  1. All UI components had to be built with React
  2. All data access had to assume a lazily loaded and incomplete data model
  3. All code had to be “multi-workspace aware”

The first two rules, while time-consuming to fulfill, were relatively straightforward. However, moving to a multi-workspace architecture was quite the undertaking. We couldn’t expect every function call to pass along a workspace ID, and we couldn’t just set a global variable saying which workspace was currently visible since plenty of things continue to happen behind the scenes regardless of which workspace the user is currently looking at.

The key to our approach ended up being Redux, which we were already using to manage our data model. With a bit of consideration and the help of the redux-thunk library, we were able to model virtually everything as actions or queries on a Redux store, allowing Redux to provide a convenient abstraction layer around the concept of individual workspaces. Each workspace would get its own Redux store with everything living within it — the workspace’s data, information about the client’s connectivity status, the WebSocket we use for real-time updates — you name it. This abstraction created a conceptual container around each workspace without having to house that container in its own Electron process, which was what the legacy client did.

With this realization, we had our new architecture in place:

Architecture diagram of the old version of Slack
Architecture diagram of the new version of Slack
Architecture comparison. New client on the right.

A legacy of interoperability

At this point we had a plan and an architecture we thought would work, and we were ready to work our way through the existing codebase, modernizing everything until we were left with a brand new Slack. There was just one last problem to solve.

We couldn’t just start replacing old code with new code willy-nilly; without some type of structure to keep the old and new code separate, they’d end up getting hopelessly tangled together and we’d never have our modern codebase. To solve this problem, we introduced a few rules and functions in a concept called legacy-interop:

  • old code cannot directly import new code: only new code that has been “exported” for use by the old code is available
  • new code cannot directly import old code: only old code that has been “adapted” for use by modern code is available.

Exporting new code to the old code was simple. Our original codebase did not use JavaScript modules or imports. Instead, it kept everything on a top-level global variable called TS. The process of exporting new code just meant calling a helper function that made the new code available in a special TS.interop part of that global namespace. For example, TS.interop.i18n.t() would call into our modern, multi-workspace aware string localization function. Since the TS.interop namespace was only used from our legacy codebase, which only loaded a single workspace at a time, we could do a simple look-up to determine the workspace ID behind the scenes without requiring the legacy code to worry about it.

Adapting old code for new code was less trivial. Both the new code and the old code would be loaded when we were running the classic version of Slack, but the modern version would only include the new code. We needed to find a way to make it possible to conditionally tap into old code without causing errors in the new code, and we wanted the process to be as transparent to developers as possible.

Our solution was called adaptFunctionWithFallback, which took a function’s path on our legacy TS object to run, as well as a function to use instead if we were running in the modern-only codebase. This function defaulted to a no-op, which meant that if the underlying legacy code wasn’t present, modern code that tried to call it would have no effect — and produce no errors.

With both of these mechanisms in place, we were able to kick off our modernization effort in earnest. Legacy code could access new code as it got modernized, and new code could access old code until it got modernized. As you’d expect, over time there were fewer and fewer usages of old code adapted for use from the modern codebase, trending toward zero as we got ready for release.

Putting it all together

This new version of Slack has been a long time coming, and it features the contributions of dozens of people who have been working through the last two years to roll it out seamlessly to customers. The key to its success is the incremental release strategy that we adopted early on in the project: as code was modernized and features were rebuilt, we released them to our customers. The first “modern” piece of the Slack app was our emoji picker, which we released more than two years ago — followed thereafter by the channel sidebar, message pane, and dozens of other features.

Had we waited until the entirety of Slack was rewritten before releasing it, our users would have had a worse day-to-day experience with emoji, messages, channel lists, search, and countless other features before we could release a “big bang” replacement. Releasing incrementally allowed us to deliver real value to our customers as soon as possible, helped us stay focused on continuous improvement, and de-risked the release of the new client by minimizing how much completely new code was being used by our customers for the first time.

Conventional wisdom states that rewrites are best avoided, but sometimes the benefits are too great to ignore. One of our primary metrics has been memory usage, and the new version of Slack delivers:

Memory usage comparison. New client on the right.

These results have validated all of the work that we’ve put into this new version of Slack, and we look forward to continuing to iterate and make it even better as time goes on.

When guided by strategic planning, tempered by judicious releases, and buoyed by talented contributors, incremental rewrites are a great way to right the wrongs of the past, build yourself a brand new ship, and make your users’ working lives simpler, more pleasant, and more productive.

Stay tuned

We are eager to share more about what we’ve learned during this process. In the coming weeks we’ll be writing more at https://slack.engineering about:

  • Slack Kit, our UI component library
  • “Speedy Boots”, the prototype that launched this effort
  • Accessibility, baked in rather than bolted on
  • Gantry, our app launching framework
  • and rolling out a new client architecture at scale

When a rewrite isn’t: rebuilding Slack on the desktop was originally published in Several People Are Coding on Medium, where people are continuing the conversation by highlighting and responding to this story.

31 Jul 14:59

Isotype, a picture language

by Nathan Yau

Jason Forrest delves into the history of a single Isotype and a bit of the general background on the picture language:

Isotype is a highly refined picture language designed for educating people with as few words as possible. Created by Otto Neurath in 1925, the International System of Typographic Picture Education (ISOTyPE) evolved over the next two decades with the collaboration of Marie Neurath and Gerd Arntz. The trio developed their distinct approach to data visualization iteratively, and very collaboratively. Otto provided the overall direction, Marie “transformed” the data to present the story, and Gerd designed the pictogram units and highly-refined designs.

Tags: Isotype, language

31 Jul 14:59

Slaves Of Steel I

Thoughts On Some Moral Questions Concerning Story In Immersive Hypertext Narrative

(Originally presented, in somewhat different form, at Authoring For Interactive Storytelling, Intl. Conf. On Interactive Digital Storytelling, Madeira, November 2017. This came up in a discussion today, and I think, on the whole, this has stood up well.)

1 Twenty Years On The Holodeck

Twenty years have elapsed since Janet Murray’s Hamlet On The Holodeck [1] argued that the future of new media lay in vividly immersive, encyclopedic and emotional interactive experiences rather than in the intertexual, allusive, lyrical and intellectual(ized) works that had epitomized new media through the preceding decade [2]. Murray’s vision of immersive dialogic experience been enormously influential throughout new media.

In these notes, I would like to call attention to a number of questions and sources of disquiet that arise in composing immersive works in which the reader intentionally and effectually acts to change the events that take place in the story. These issues are not new but they have not been widely discussed, and drawing them together in this context may have some value.

These are not hypothetical or invented questions. Most actually arose in the course of my writing a hypertext school story, Those Trojan Girls [6]. Others were familiar to me from editing and publishing hypertext fictions over several decades. Reflective practice is an important source of insight, and its judicious use can prove invaluable [7]. To avoid paying too much attention to a single obscure work, and also to avoid the imputation that its author is exception- ally moral or otherwise, I draw illustrations from a number of works, real or imagined.

2 The Shot And Danger Of Desire

We may begin, alongside Murray, with the vision of inserting the reader into the story of Hamlet. We are not passive witnesses of the scene, nor minor players—not Rosencrantz or some third murderer, incapable of changing what happens. We are a prince! (I have noted elsewhere that, considered as a dramatic practice, this approach is not always promising: let a sensible person like you or me into a tragedy and the tragedy is prone to fall apart at the slightest touch [8].)

What, on the holodeck, are we to do about Ophelia? She is an enigmatic character, one whom the 19th century found more fascinating than the 21st. Polonius speculates that Hamlet loves her; Laertes views a sexual relationship as a threat. If, as interactor, we have meaningful choice, might some combination of choices lead us to propose to marry Ophelia? To kiss her? To have sex with her?

All these choices are problematic. Can a simulated character marry? Specifically, can she consent? The presentation of meaningful choice within the fictive world leads us to the very threshold of the Turing Test, for the characters must necessarily be sufficiently convincing as to invite suspension of disbelief [9]. The choices, moreover, are ours and the performance is ours as well: it is one thing to witness theatrical events that you cannot affect and that harm no one; it is another thing entirely to perform yourself what might be a crime. In the playhouse, Ophelia drowns every night and twice on Saturday whether we purchase a ticket or not; on the holodeck, Ophelia drowns only if we fail to prevent it. And if tonight we want to see her drown, who have we become?

Holodeck Ophelia exists only for us [10]. If we propose to make love to her, is her consent not coerced? Ophelia will exist only as long as Hamlet remains interested in pursuing a romantic relationship or a sexual liaison. The imbalance of the power relationship is overwhelming, and indeed the holodeck must, if anything of dramatic importance is to be accomplished, make us forget that we are proposing to make love to a character whom we believe (or are led to believe) has free will but whose choices appear to be limited to either consenting to our advances or accepting (in one form or another) oblivion.

3 A Fault To Nature

Is Juliet of age in the jurisdiction through which your holodeck is passing? Is Romeo? In fair Verona, Romeo’s behavior entailed criminal neglect of Capulet’s rights. In Boston today, we might excuse the young lovers, but what if one of the lovers is twenty-five or fifty years old? [11] Even Train [12], a performance game about the Holocaust, must deceive its players into complicity by withholding information that its historical figures knew [13].

Some interactive fictions lure or compel the player to commit crimes in order to understand the criminal, just as some novels relate the point of view of unreliable or criminal characters. In other tales, the offense is incidental, or merely a precipitating incident that sets the story in motion. Romeo and Juliet is not about statutory rape, or even about romantic love: it concerns the difference between youth and age, prudence and passion. Yet, to get things started, I may need to initiate a sexual relationship that, if I am old but my character young, must disquiet me.

To witness the (performance of the) sexual relationship might also disquiet some, but that is something else entirely. Walk along the quais of Paris or the streets of San Francisco and you may encounter young people whose behavior you may not entirely approve. They have not asked your opinion. To know that others do things that you might not is to understand that the world is large and people various; to do those things yourself might be another matter entirely.

Men have died from time to time, and worms have eaten them, but it’s not our fault: on the holodeck, it is.

4 I Would Rather Hear My Dog Bark At A Crow

The promise of immersive new media lies in their vivid immediacy. That very vividness raises questions that, if familiar from other media, nevertheless bear fresh reflection. Postmodernism entailed a prolonged investigation into the relationships among the scene and its depiction, and between its depiction and our apprehension [14]. The literary foregrounds postmodern oscillation, and the visual arts find ways to emphasize the relation between the pigment and the sunlight that illuminates the pretty girl’s bath[15]. But we need not be distracted in this way; the technical term art criticism adopts for the unreflective depiction of beauty is pornography.

We may equally worry over the mindless depiction of horror and carnage. This is not the argument, so tediously advanced by right-wing politicians, that pictures of naked ladies or criminal acts tempt impressionable youths to lives of crime. Rather, the more effective the immersion, the more convincing the illusion, the less space we have for reflecting on the fictive situation or on our response to it. To inflict torment harms us, even when the victim is not fully human or precisely real.

5 Sleep Of Reason

The holodeck itself first appears in Star Trek at its start. In the pilot episode, “The Menagerie,” Talosian scientists create a virtual reality for a human captive, rescued from a crash, whose injuries might otherwise prove intolerable [16]. Scarcely examined was the question of whether we ought to face things as they are: Roddenberry assumes that human women instinctively long to be physically attractive, but “The Menagerie” deprives its protagonist of any real opportunity to come to grips with her body. She cannot be a stoic: the immersive illusion gives her no op- portunity to discover stoicism. The illusion preempts reason.

McLuhan’s hot media sit uneasily in the company of the abstract, the theoretical, and the introspective. The fifty years since the medium became the message have seen the New Wave, the golden age, the blockbuster, mumblecore, Bollywood and much else but we know little more than we did then about crafting a cinematic discussion of nucleophilic substitution or Gödel’s Completeness Theorem. When we want to discuss test-driven development or the terms of a mortgage, we write.

The novel and the epic frequently balance the impulse to describe experience and the impulse to weigh the thought that experience evokes. Between battles and lovemaking, Les Miserables gives itself ample space to discuss the rights of man and the morality of the desperate. The epic poet sings of arms but also of the man, not of the hero’s strength but of his anger. Immersion gives us greater access to experience—to the sounds of ancient combat, to the beauty of those sad, captive Trojan women—but thus far it has done little to help us think more clearly about the status of refugees, whether it is better for the children to seek to assimilate with the (newly) dominant culture, whether we ought to stop a teenager (Polyxena or Marius) who has chosen to die for an idea rather than to live a slave. A playwright might intensify a character’s (imagined) pain to underline to clarify the pathos of her plight to the audience, but is it right for us to inflict that pain for our own private purposes?

6 Stand Up And Say To All The World, “This was a man!”

Many contemporary interactive fictions allow the reader wide latitude to choose the race and gender of the hero-protagonist, either through an explicit character-selection dialogue or through an introductory episode that acts as a sorting hat. This flexibility seeks to promote identification while redressing historical biases in race, gender, and sexual orientation [29].

This approach implicitly argues that race (say) doesn’t matter, that we might casually don it like a suit of clothes. Alternatively, we might write the story so that our chosen race does matter in some specific way, but that outcome itself is bound to be partial (in both senses) and flat. Do consequences of choosing a race inhere in the choice or depend on the authenticity of the enactor’s performance? Do the effects of choosing to be Black, female, or Jewish in a fictive world inhere in the label, in observance, in cultural practice? The storyteller is required to present a comprehensive theory of identity, simply as a prelude to writing “a stranger comes to town.”

7 Speak To The Yet Unknowing World

The essence of hypertext fiction is multilinearity: as Oz’s Scarecrow reported, some go this way, others that way, and some prefer to go both ways. Multilinearity offers important opportunities [17] [18], but has also evoked plentiful anxiety lest coherence or authorial intention (if it exists) be compromised [19] [20] [21].

Hypertext’s threat to coherence has always been more a symptom of resentment of Critical Theory than a practical concern [22], but a related moral hazard has not been widely remarked: free and knowing navigation ought to be constrained by our duty. An important innovation in Seneca’s version of The Trojan Women—a play composed some five centuries after Euripides’—is the sacrifice of Polyxena, a young girl assigned by the victorious Greeks to be the bride of the dead Achilles and who is therefore to be sent to his shade in Hades. In my hypertextual school story Those Trojan Girls, Polly Xena is the head girl of a private boarding school, situated in a newly-occupied third-world country. Like Polyxena, Polly is not the hero of the tale but her trial and execution are a fulcrum around which much revolves and a crucial reminder that school, to kids, is deadly serious [23]. The matter requires care: we are describing the judicial murder of a child [24]. In the hypertext, the episode might be approached by different readers through differing paths. It might be dramatized in various ways or reported by various messengers. But attention must be paid; it is not the structural center of the story but, in decency, we cannot simply omit it.

8 Something Wicked

The Haggadah annually reminds us of the Wicked Child, which is to say the child who holds himself aloof from and superior to the story, the child who asks “what is this computational narrative of yours?” Gardner famously chides writers who treat their own characters inhumanely; is it not equally wanton for us to maltreat computational worlds and their denizens? If so, blame is due not only to the thoughtless interactor but also to the writer who led her into error. Michael Joyce’s afternoon, a story famously tempted the reader with Satan’s question:

“Do you want to hear about it?” [32]

We could not refuse an acquaintance who asked this, but we might be tempted to deny Peter — who is, after all, a program inside a plastic box. If we do, though, afternoon acknowledges the temptation and gently steers us toward righteousness.

Tabletop role-playing games address the problem of the wicked child through social sanctions: if you’re tasteless, you’re unlikely to be invited back [33]. New media remediates social storytelling to make the story yours, but requires a new mechanism to discourage a cynical or unthinking stance.

9 Discussion

I have briefly sketched a number of moral questions that arise in immersive hypertext fiction.

  • Can automata consent? 

  • May we inflict crimes on automata? 

  • Automata, pornography, and sadism 

  • Sensory immersion preempting reason 

  • Choice rendered inconsequential in fictive world
  • Failure of witness
  • The Wicked Child

The moral dangers of fiction have concerned commentators since Plato, but our new qualms inhere not in fiction’s indulgence of untruth, nor in the sexual license of itinerant players, but in immersion itself, in fictive experience that are not only unreflective but that resist reflection.

This catalog of hazards is neither systematic nor complete. Our concerns here are quite different from the problem of generating sentimental stories [25] or stories about the characters’ sexual morality[30], or the (interesting) challenges of avoiding unwanted offense or unintended meaning when generating stochastic texts without a thorough knowledge of their underlying meanings [26]. The challenges discussed here do not involve antisocial acts like the Rape In Cyberspace[27] or Gamergate [28].

Remedies for the family of moral questions raised here lie predominantly in reflection and intertextuality. These various failings share a common source: either the creator or the interactor may fail to take the story with sufficient seriousness. Gazing upon beauty may be mere hedonism, but if that gaze leads to contemplation, we cannot fault it. “The puritan,” Eagleton reminds us, “mistakes pleasure for frivolity because he mistakes seriousness for solemnity.” Early literary hypertext may have been inclined to be solemn, and interactive games to be frivolous. We need to think again.

References

1. Murray J (1997) HAMLET ON THE HOLODECK: THE FUTURE OF NARRATIVE IN CYBERSPACE. The Free Press, New York 

2. Landow G. P. (1997) HYPERTEXT 2.0: THE CONVERGENCE OF CONTEMPORARY CRITICAL THEORY AND TECHNOLOGY, 2nd edn. Johns Hopkins Press, Baltimore 

3. Bernstein M (2009) On Hypertext Narrative. ACM Hypertext 2009 

4. Lowe NJ (2000) THE CLASSICAL PLOT AND THE INVENTION OF WESTERN NARRATIVE. Cambridge University Press, Cambridge ; New York
5. Genette G (1983) NARRATIVE DISCOURSE: AN ESSAY IN METHOD. Cornell 
University Press, Ithaca, NY 

6. Bernstein M (2016) THOSE TROJAN GIRLS: A HYPERTEXT. Eastgate Systems, 
Inc., Watertown, Ma 

7. Millard D.E., Hargood C (2017) Tiree Tales: A Co-Operative Inquiry Into The Poetics 
Of Location-Based Narrative PROCEEDINGS OF THE 28TH ACM CONFERENCE 
ON HYPERTEXT AND SOCIAL MEDIA. HT ‘17 15–24 

8. Bernstein M, Greco D (2002) Card Shark And Thespis: Exotic Tools For Hypertext 
Narrative. In: Wardrip-Fruin N, Harrigan P (Eds) FIRST PERSON. Mit Press, Cam- 
bridge 

9. Short E GALATEA. 

10. Stross C (2008) SATURN’S CHILDREN : A SPACE OPERA. Ace Books, New York 

11. Nabokov VV (1955) LOLITA. Olympia Press, Paris 

12. Costikyan G, Davidson D (2011) Tabletop : Analog Game Design. Etc. Press, Pittsburg 

13. Goldhagen DJ (1996) HITLER’S WILLING EXECUTIONERS : ORDINARY 
GERMANS AND THE HOLOCAUST. Knopf : Distributed By Random House, New 
Y ork 

14. Eagleton T (2003) AFTER THEORY. Basic Books, New York 

15. Gaggi S (1997) FROM TEXT TO HYPERTEXT: DECENTERING THE SUBJECT IN 
FICTION, FILM, THE VISUAL ARTS, AND ELECTRONIC MEDIA. The University 
Of Pennsylvania Press, Philadelphia 

16. Roddenberry G (1968) The Menagerie. STAR TREK I 11-12 

17. Joyce M (1997) Nonce Upon Some Times: Rereading Hypertext Fiction. MODERN 
FICTION STUDIES 43:579–597 

18. Bernstein M and Greco D, eds. (2009) READING HYPERTEXT. Eastgate Systems, 
Inc., Watertown Ma 

19. Bernstein M (2010) Criticism. PROCEEDINGS OF THE 21ST ACM CONFERENCE 
ON HYPERTEXT AND HYPERMEDIA 235–244 

20. Parks T (2002) Tales Told By The Computer. NEW YORK REVIEW OF BOOKS 
44:49–51 

21. Birkerts S (1994) THE GUTENBERG ELEGIES. Faber And Faber, Boston 

22. Bernstein M (2016) GETTING STARTED WITH HYPERTEXT NARRATIVE. East- 
gate Systems, Inc, Watertown, Ma 

23. Spark M (1961) THE PRIME OF MISS JEAN BRODIE. Macmillan, London 

24. Collins S (2008) THE HUNGER GAMES. Scholastic Press, New York 

25. Sarlej M, Ryan M (2013) Generating Stories With Morals. Joint International Confer- 
ence On Interactive Digital Storytelling 217–222 

26. Cook M (2017) Ethical Procedural Generation. In: Short Tx, Adams T (Eds) Procedural 
Generation In Game Design. Crc Press, Boca Raton, Fl 

27. Dibbell J (1993) A Rape In Cyberspace. THE VILLAGE VOICE 

28. Hern A Wikipedia Votes To Ban Some Editors From Gender-Related Articles. THE 
GUARDIAN January 23, 2015 

29. Ashwell SK (2015) Standard Patterns in Choice-Based Games. http://bit.ly/1JzJxpd 

30. Murray, JH (2015) A Tale Of Two Boyfriends: A Literary Abstraction Strategy For 
Creating Meaningful Character Variation. INTERACTIVE DIGITAL NARRATIVE, 
Harmut Koenitz et al, eds, Routledge, New York 121-135 

31. Gardner J (1983) THE ART OF FICTION: NOTES ON CRAFT FOR YOUNG 
WRITERS. Vintage Books, New York 

32. Joyce M (1990) afternoon, a story. Eastgate, Watertown MA 

33. Bernstein M. A FESTIVAL OF NARRATIVE AUTOMATA, Eastgate, Watertown MA 

31 Jul 14:58

Stop Talking~Vancouver Council Stifling Public Comment at City Hall

by Sandy James Planner

Dustin-1130-CityHall6-e1458148671869

Dustin-1130-CityHall6-e1458148671869

The one way to really learn about public process and what people truly think is to listen to the public when they come to speak to a Council Committee or to City Council. This is a time honoured process that when elected officials are considering a change in policy or development, they actually take the time to listen to what the public have to say before making the final Council decision. And you can tell a good City Councillor too, they are paying attention and taking notes on what people say, not texting on their cell phone.

This is different from the informal information meetings with the public, telephone calls and conversations members of the public may have with staff. Many have suggested that with the information line 311 filtering calls and with a centralized communications department organizing meetings there is less chance for the public to talk directly to city staff and to decision makers.

I also know that you really have to watch anything going to Council in July before the break. This year is no different. In a prime example of the current political taste to make politicians even more separated from the public they supposedly serve, the City of Vancouver and the TransLink Mayors’ Council want to lower the time members of the public can address them from five minutes to three minutes.

Think of that~taxpayers have 180 seconds to speak to Council about something that concerned them enough to get away from their jobs, make the trek to City Hall, sit patiently through other agenda items, and wait for their 180 seconds to speak.

I have sat through many public hearings and also listened to many members of the public speaking to Council. While five minutes may seem onerous to elected officials and their staff, my belief is that everyone has a right to speak to Council. If Council is worried about the fact that their public hearings are lengthy, it is not the public comment that needs to be changed, but the process itself.

You can take a look at the council report where Council is considering using “electronic” meetings”  and their rationale for limiting speakers to three minutes. In their own document they note “Most Canadian municipalities surveyed allow speakers during standing committee, and allow them to speak for 5 minutes. In the United States, a majority of local governments surveyed allow for either two or three minutes of speaking time.”

Despite what the City says, this is not a place allowing the public to have much input into plans and processes. Public being able to address Council is an unfiltered way to hear directly from taxpayers. For citizens that do not have English as a first language, 180 seconds to speak is not equitable.

This is just one more example of Vancouver becoming more like an American city, limiting public discourse and exchange instead of embracing its vitality.

That public discourse is what made Vancouver the place it is, from traffic calming in the West End to stopping the freeway in Chinatown and Strathcona. Councils should be celebrating this important public right, not limiting it.

council-chamber-facebook

council-chamber-facebook

 

31 Jul 14:57

“Steven got on a plane like most people get on a bus”

by Andrea

Narratively:
The Man with the Golden Airline Ticket
.
“My dad was one of the only people with a good-for-life, go-anywhere American Airlines pass. Then they took it away. This is the true story of having—and losing—a superpower.” By Caroline Rothstein.

“In the early 1980s, American rolled out AAirpass, a prepaid membership program that let very frequent flyers purchase discounted tickets by locking in a certain number of annual miles they presumed they might fly in advance. My 30-something-year-old father, having been a frequent flyer for his entire life, purchased one. Then, a few years later, American introduced something straight out an avid traveler’s fantasy: an unlimited ticket.

In 1987, amidst a lucrative year as a Bear Stearns stockbroker, my father became one of only a few dozen people on earth to purchase an unlimited, lifetime AAirpass. A quarter of a million dollars gave him access to fly first class anywhere in the world on American for the rest of his life. He flew so much it paid for itself.”

Link via MetaFilter.

31 Jul 14:56

Empowering voters to combat election manipulation 

by Mozilla

For the last year, Mozilla has been looking for ways to empower voters in light of the shifts in election dynamics caused by the internet and online advertising. This work included our participation in the EU’s Code of Practice on Disinformation to push for change in the industry which led to the launch of the Firefox EU Elections toolkit that provided people information on the voting process, how tracking and opaque online advertising influence their voting behavior and how they can easily protect themselves.

We also had hoped to lend our technical expertise to create an analysis dashboard that would help researchers and journalists monitor the elections. The dashboard would gather data on the political ads running on various platforms and provide a concise “behind the scenes” look at how these ads were shared and targeted.

But to achieve this we needed the platforms to follow through on their own commitment to make the data available through their Ad Archive APIs.

Here’s what happened.

Platforms didn’t supply sufficient data

On March 29, Facebook began releasing its political ad data through a publicly available API. We quickly concluded the API was inadequate.

  • Targeting information was not available.
  • Bulk data access was not offered.
  • Data wasn’t tagged properly.
  • Identical searches would produce wildly differing results.

The state of the API made it nearly impossible to extract the data needed to populate the dashboard we were hoping to create to make this information more accessible.

And although Google didn’t provide the targeting criteria advertisers use on the platform, it did provide access to the data in a format that allowed for real research and analysis.

That was not the case for Facebook.

So then what?

It took the entire month of April to figure out ways to work within or rather, around, the API to collect any information about the political ads running on the Facebook platform.

After several weeks, hundreds of hours, and thousands of keystrokes, the Mozilla team created the EU Ad Transparency Reports. The reports contained aggregated statistics on spending and impressions about political ads on Facebook, Instagram, Google, and YouTube.

While this was not the dynamic tool we had envisioned at the beginning of this journey, we hoped it would help.

But despite our best efforts to help Facebook debug their system, the API broke again from May 18 through May 26, making it impossible to use the API and generate any reports in the last days leading up to the elections.

All of this was documented through dozens of bug reports provided to Facebook, identifying ways the API needed to be fixed.

A Roadmap for Facebook

Ultimately our contribution to this effort ended up looking very different than what we had first set out to do. Instead of a tool, we have detailed documentation of every time the API failed and every roadblock encountered and a series of tips and tricks to help others use the API.

This documentation provides Facebook a clear roadmap to make the necessary improvements for a functioning and useful API before the next election takes place. The EU elections have passed, but the need for political messaging transparency has not.

In fact, important elections are expected to take place almost every month until the end of the year and Facebook has recently rolled this tool out globally.

We need Facebook to be better. We need an API that actually helps – not hinders – researchers and journalists uncover who is buying ads, the way these ads are being targeted and to whom they’re being served. It’s this important work that informs the public and policymakers about the nature and consequences of misinformation.

This is too important to get wrong. That is why we plan to continue our work on this matter and continue to work with those pushing to shine a light on how online advertising impact elections.

The post Empowering voters to combat election manipulation  appeared first on The Mozilla Blog.

31 Jul 14:55

"An actor is a clown who does his trick, and the audience pays to see your trick, and that’s it — you..."

“An actor is a clown who does his trick, and the audience pays to see your trick, and that’s...
31 Jul 14:54

Rutger Hauer is gone, like tears in rain

by Josh Bernoff

The actor Rutger Hauer has died. He elevated his most iconic performance by saying less than was in the script. Towards the end of the science fiction epic Blade Runner, the two main characters confront one another. Rick Deckard, played by Harrison Ford, has been tracking down an escaped replicant — a genetically engineered artificial … Continued

The post Rutger Hauer is gone, like tears in rain appeared first on without bullshit.

31 Jul 14:54

Temperature Graph for Our House

by Ton Zijlstra

Since shortly after we moved in we have a temperature and humidity sensor in our garden.

This week’s heat wave is breaking records across Europe including here in the Netherlands. So I’ve kept an eye on the temperature in our garden. Our sensor is part of a city wide network of sensors, which includes two sensors nearby. Of the three sensors, ours indicates the lowest temperature at 36.8 (at 16:45), the other two hover just under 40 and at 41.8 respectively. Such differences are caused by the surroundings of the sensor. That ours is the lowest is because it’s placed in a very green garden, while the others are out on the street. In our completely paved and bricked up courtyard the temperature is 42.1 in the shade, due to the radiation heat of sun and stones. Goes to show that greenery in a city is key in lowering temperatures.

Three sensors in our neighbourhood, ours is in the middle, showing the lowest temperature. Note that the color scale is relative, for these 3 sensors running from 36.6 to 41.8.

In the past days since our return from France the temperature has been steadily rising, as per the graph below (which currently ends at the peak of 36.8 at 16:45). Staying inside is the best option, although the also increasingly higher lowest temperatures (from 15 to above 20) mean that the nights are slowly becoming more uncomfortable as the outside temperature will stay above the in house temperature during most or all of the night.

UPDATE as of 26/7 June noon, here you can see how the night minimum jumped 5 degrees in 24 hours, bringing it above the in house temperature for the entire night, except a brief moment around 6 am. At noon the maximum for the day before is already nearly reached.

The way to make this graph yourself is

  • Go to meetjestad.net/data, where you can select various data types and time frames. Our sensor is number 51, and I selected a time frame starting at July 19th at midnight. This allows me to download the data as CSV.
  • The data in that download is Tab separated, not comma,when you select a comma to be used as decimal point.
  • The file contains columns for the sensor number and its latitude and longitude, that are not needed as this is data for just one sensor. Likewise, empty columns for measurement values for which my sensor kit doesn’t contain sensors, such as particulate matter, can be removed. Finally the columns for battery level and humidity are also not needed on this occasion.
  • With the remaining columns, time and temperature it is easy to build the graph. In this case I replaced the timestamps with sequential numbers, as I intend to make a sparkline graph with it later.
31 Jul 14:53

Above Avalon Podcast Episode 150: A Larger Apple Machine

by Neil Cybart

The recent Jony Ive and Jeff Williams news has been met with mixed reactions. In episode 150, we discuss why the leadership changes neither signify a company moving away from design or hardware nor suggest that management is facing some kind of growth crisis. Upon closer examination, the Jony Ive and Jeff Williams news are byproducts of Apple evolving into a much larger design company. Additional topics include the various growth narratives facing Apple, the growing Apple installed base, and the Apple machine.

To listen to episode 150, go here

The complete Above Avalon podcast episode archive is available here

31 Jul 14:51

Five Reasons Why Free College Doesn't Make the Grade

Michael B. Horn, Christensen Institute, Jul 24, 2019
Icon

These types of arguments are gaining traction. Unfortunately, the rest on sad stale tropes about advanced education. Still, for the record, here are the 'five reasons' (quoted):

  • It crowds out faster, cheaper options... by privileging these traditional higher education experiences over new private options
  • It supports a subpar system... Free college might be fine if traditional public colleges worked well for students, but they don’t
  • It helps those who need it the least and not those who need it the most... free college proposals merely subsidize access for middle- and upper-income students
  • It causes the country to add to its string of debt without addressing the underlying cause of college’s high costs
  • It starves traditional public colleges of funding and causes them to decline... pupil funding typically doesn’t keep up with the costs required for those institutions to remain competitive on a global stage.

Now admittedly, universities do little if anything to counter the weight of such arguments. However, it should be noted that private institutions are the slowest to innovate, public colleges perform a vital service to the community, and the weight of debt and underfunding would exist with or without free tuition.

Web: [Direct Link] [This Post]
31 Jul 14:48

This T-shirt does not exist

Reddit, Jul 24, 2019
Icon

I can see this becoming a new thing in marketing. As the website says, " All these prints with modern art are generated and do not exist... Prints are updated every 30 seconds(reload the page). You probably have one chance to download them." In other words, if you ever want to own this item, order now! Now in this case the prints are free and not exactly high resolution. And as one commenter says, "The box layout kills the vibe of the t-shirts. I would buy a tshirt with an artsy blob on the front. But a tshirt with a blob in a box. Nahhhh." But when they get it right... it will be hard to resist if you see a one-of-a-kind-ever (OOAKE) on Amazon Prime Day. P.S. I saved the image in the t-shirt pictured in the unlikely event that someone wants one.

Web: [Direct Link] [This Post]
31 Jul 14:47

How Many of the Most Influential People in Ed Tech Are Working Educators?

Alyson Klein, Education Week, Jul 25, 2019
Icon

I'm not on this list of 'influencers', and neither are most of the people I write about here, and this has generally been true since the early days of the blogosphere. The list is very US-focused and is mostly ed tech entrepreneurs or directors of this or that. Not really education technologists at all. I wouldn't expect educators to be on the list either, for the most part, simply because if you're a working educator, you don't have the time to put into becoming a ed technologist. And (I might add) if you're a working education technologist, you probably don't have the time to do whatever it is you do to get put on lists like this. P.S. the link to Ed Tech Digest's list will force you to go through the chrade of 'buying' the report for $0.00, a silly but of user-hostile design.

Web: [Direct Link] [This Post]
31 Jul 14:43

StayGo USB-C Hub: First Impressions

by John Voorhees

The two devices that first got me interested in USB-C hubs were my iPad Pro and MacBook Pro. With the iPad, the attraction was a single device that could connect an external display, support Gigabit Ethernet networking, and read photos from an SD card with the promise of external storage support in iOS 13. For my 2016 13” MacBook Pro, I wanted a way to easily connect legacy USB-A devices, jump on my wired network, copy photos from SD cards, connect to an external 4K display, and leave other USB-C ports open for devices I only occasionally connect to my Mac.

One of the trickiest aspects of picking a hub is finding one with ports that fit your use cases the best. On top of that, not all connections are created equal. As Federico explained in his story on his iPad setups late last year, there are a variety of USB flavors that support different data speeds and power delivery amounts as well as HDMI ports that refresh 4K video at different rates.

Since early this year, I’ve been using the HyperDrive Slim 8-in-1 USB-C Hub, which has:

  • 1 USB-C port with Power Delivery, but that isn’t Thunderbolt-compatible
  • 2 USB-A 3.1 ports with 5Gbps throughput
  • an Ethernet jack
  • Mini DisplayPort (4K at 30Hz)
  • HDMI (4K at 30Hz)
  • an SD card slot
  • a microSD card slot

I haven’t had a need for the Mini DisplayPort connection on the Slim 8-in-1 much, but the hub has handled my other needs well as I detailed in my review. However, one of the biggest problems with the HyperDrive hub is that it has a short built-in cable that can’t be removed. The trouble is that at about 16 centimeters long, the short cord causes the hub to dangle from the side of my MacBook Pro when it’s elevated on Twelve South’s Hi-Rise stand and my iPad Pro when it’s in the Viozon stand I use to write. Both setups look messy and put stress on the cable that I worry will cause it to fail eventually.

That’s why I was intrigued when Twelve South told me they were working on a way to solve the problem. The solution is the company’s new StayGo USB-C hub, which Twelve South sent me to try.

The most unique aspect of the StayGo is that it comes with two detachable cables of different lengths. The cords are 1 meter and 12 centimeters long respectively. The longer cord is perfect when my MacBook or iPad Pro are elevated. Also, unlike the HyperDrive hub, the StayGo is flat on the bottom and has four rubber feet that help it stay put on a desk or table. One end of the cord turns at a right angle too, which is useful if your Mac is in a confined space.

The short cord tucks neatly into the interior of the hub itself, held in place by a combination of friction and a nub on the side of one end that holds it. It’s a smart design that makes the StayGo an excellent travel solution because there’s never a need to search for the cable in my bag.

Overall, the StayGo is larger than the HyperDrive in every dimension and a little heavier, but I haven’t found that to be an issue because it’s still lightweight and small at about the size of an iPhone 5, but thicker and a little longer. The exterior is black aluminum, which dissipates heat, and makes the hub feel sturdy.

In terms of ports, the StayGo is similar to the HyperDrive:

  • 1 USB-C port for connecting to a Mac or iPad Pro with 85W Power Delivery
  • 1 USB-C port for external power input that supports up to 100W
  • 1 USB-A 3.0 port with 7.5W fast charging and 5Gbps throughput
  • 2 USB-A 3.0 ports with 5Gbps throughput
  • A Gigabit Ethernet jack
  • HDMI (4K at 30Hz and 1080p support)
  • SD card and microSD card slots (both Secure Digital v3.0 UHS-I, which have transfer rates of 104MB/sec and can be used simultaneously)

The main difference in ports between the StayGo and HyperDrive hubs is that the StayGo trades the HyperDrive’s Mini DisplayPort for an additional powered USB-A port, which is a trade-off I’m happy to make. I still have too many USB-A devices, I don’t have much use for Mini DisplayPort, and having a powered USB-A port adds flexibility.

Setting up the StayGo with my iPad Pro (left) and MacBook Pro (right)

Setting up the StayGo with my iPad Pro (left) and MacBook Pro (right)

So far, I’m pleased with the versatility of the StayGo. When it’s attached to my Mac mini, I use the longer USB-C cord so the ports are easier to access than reaching behind my mini. The same cable comes in handy when I’m working with my iPad Pro or testing macOS Catalina on my MacBook Pro with it sitting on Twelve South’s Hi-Rise stand. Then, when I’m away from home with just my MacBook Pro, I grab the cord that’s stowed inside the StayGo’s housing.

The StayGo doesn’t support 4K at 60Hz, USB 3.1 Gen. 2, or faster UHS-II class SD or microSD cards, but I’ve been satisfied with the speeds it delivers, especially since I have faster alternatives when I need them in most circumstances. If you need something faster though, you might want to wait for Sony’s upcoming hub, which doesn’t have a price yet, but was announced to have USB 3.1 Gen. 2 ports and SD and microSD card readers that support the UHS-II standard.

The StayGo is available directly from Twelve South for $99.99.


Support MacStories Directly

Club MacStories offers exclusive access to extra MacStories content, delivered every week; it’s also a way to support us directly.

Club MacStories will help you discover the best apps for your devices and get the most out of your iPhone, iPad, and Mac. Plus, it’s made in Italy.

Join Now
31 Jul 14:42

Green Lines

by Gordon Price

1900 block Alberni

31 Jul 14:42

Apple Announces Acquisition of Intel’s Smartphone Modem Business

by John Voorhees

As the stock market closed in the US, Apple announced the acquisition of Intel’s smartphone modem business. As part of the deal, 2,200 Intel employees will join Apple. The company is also buying intellectual property and other assets from Intel like equipment and real estate associated with the business. According to Apple’s press release, the companies anticipate that the transaction will be consummated in the fourth quarter of 2019, subject to regulatory and other conditions.

Apple says that:

Combining the acquired patents for current and future wireless technology with Apple’s existing portfolio, Apple will hold over 17,000 wireless technology patents, ranging from protocols for cellular standards to modem architecture and modem operation. Intel will retain the ability to develop modems for non-smartphone applications, such as PCs, internet-of-things devices and autonomous vehicles.

Commenting on the deal, Johny Srouji, Apple senior Vice President of Hardware Technology said:

“We’ve worked with Intel for many years and know this team shares Apple’s passion for designing technologies that deliver the world’s best experiences for our users,” said Johny Srouji, Apple’s senior vice president of Hardware Technologies. “Apple is excited to have so many excellent engineers join our growing cellular technologies group, and know they’ll thrive in Apple’s creative and dynamic environment. They, together with our significant acquisition of innovative IP, will help expedite our development on future products and allow Apple to further differentiate moving forward.”

Given Apple’s two-year court battle with Qualcomm that resulted in a settlement earlier this year, the deal with Intel is not surprising. Ever since Apple’s acquisition of P.A. Semi in 2008, Apple has been buying hardware companies that have allowed it to make more of the components that are crucial to the iPhone and its other products. The Intel deal, however, is one of Apple’s largest acquisitions and demonstrates just how serious the company is about 5G technology and gaining independence from Qualcomm.


Support MacStories Directly

Club MacStories offers exclusive access to extra MacStories content, delivered every week; it’s also a way to support us directly.

Club MacStories will help you discover the best apps for your devices and get the most out of your iPhone, iPad, and Mac. Plus, it’s made in Italy.

Join Now
31 Jul 14:41

Apple buys Intel’s smartphone modem business

by Rui Carmo

This is a severe blow to Qualcomm, although the purists in the industry have always been critical of Intel’s stuff.

But even as the underdog in a highly competitive segment, Intel’s tech is still a great way for Apple to become even more vertically integrated.


31 Jul 14:41

Summer Cruising on the Blix Sol

by Sabrina Hockett

We are officially in the heat of summer, both literally and figuratively... As we enjoy our vacations, time with the kids at home, and long summer days, cruising around becomes a new favorite hobby. Whether you are riding along your neighborhood bike path with friends at sunset, going for a date night cruise around the water, or heading out to a lunch, the Blix Sol is the perfect summer ecruiser. Learn more about the Sol below!

                                                                                                     

The Sol is designed with an ultra-low step-through frame to enhance rider stability and ease of getting on and off the ecruiser. With a step-through height of only 17", the Sol frame provides a comfortable height for people of most physical capabilities to throw their legs over and start riding! Feel relaxed and in control on the Sol.

Additionally, the Sol ecruiser has a 500W motor and 14Ah battery. The combination of efficiency and power from the battery and motor allows riders to propel themselves up to 20 mph and up to 45 miles per charge. Plus, hills will be a breeze! Whether you choose to use pedal assist or the throttle, you can cruise all summer long. 

One of the Blix favorite features, is the front head tube mount and new fender and rear rack accessory line designed for the Sol. With matching Sky Blue and Charcoal colors, you can add utility without losing style! The rear rack can even hold a Yepp child seat so you can bring the kids. Front head-tube mounted accessories let you cruise with cargo and have better balance. Grab the beach towels, picnic, softball gear, and enjoy your summer rides. 

Where will you ride your Sol this summer?

                                                                                                 

Learn how an Ebike can add freedom to your summer here!

More Blix summer riding tips can be found here.

Follow us and Share your Summer Sol Adventures:

Instagram

Facebook

 

 

31 Jul 14:41

Design Insight Continued

by Jim

Synchronicity is real.

It’s always more rewarding when you discover that your thinking is in the same general vicinity as someone smart. Turns out Nancy Dixon has also been thinking about how to learn from experience. Her predictably excellent post focuses on pragmatic guidance on what it takes for an organization to be able to learn from its experience together with some very practical techniques to do so. Central to her analysis is the role of continuing conversation among peers and the importance of generative questions in those conversations.

Nancy’s advice is neutral with respect to what those conversations should be about, which was the thread I was trying to work out in my previous post.

The accelerating rate of change expands the focus of what you seek to extract from experience. We’ve grown accustomed to a simple equation that treats experience as templates or patterns to be copied onto new situations with minor tweaks and modifications. This is the world of startups seeking to be the “Uber of X” or the “Amazon of Y.” It is the world of countless copycats of Henry Ford all seeking to do what Ford did only better, faster, or cheaper.

The glib analysis of accelerating change is that experience is irrelevant to innovation. The Ubers and Amazons and Googles of the world all spring forth independently of prior experience. Stated baldly, this is nonsense. But it does leave us with figuring out how experience might play a role and brings us back to peer to peer conversations and generative questions.

My conjecture is that experience must be unpacked and fed into design processes that will lead to new processes and practices. The concrete particulars of experience will need to be actively abstracted into design principles and patterns. Experience then becomes the fuel that drives new innovations and practices.

The post Design Insight Continued appeared first on McGee's Musings.

31 Jul 14:40

Default Names

by Richard Millington

Too many communities don’t have a name.

They’re simply ‘community’ (or, worse, “discussions/topics”). It’s like calling your business ‘business’.

Typically these ‘default names’ reflect a lack of strategy. You’re not sure what else to call this thing you’re creating, so why not ‘community’?

It’s not a major problem if you’re building a community on behalf of a brand with whom your audience already shares a strong sense of identity. But the Supreme’s and Harley Davidson’s of this world are few and far between.

It is a bigger problem if, like the majority of us, you’re working for a brand which doesn’t immediately inspire a cult following. The community name is a terrific opportunity to make a clear positioning statement. It’s a chance to indicate who the community is for, what the community is about, and why members should join.

But if you have a strategy you should know what inspires your members, what challenges they overcome, and the kind of identity they hold, it becomes easier to select a name for the community to match.

A name should be entirely unique to you, it should be a symbol that represents a place where members want to go to, and ideally, it should not clash with other obvious connections.

You can’t change the name of the company, but you probably do want to be deliberate over the name of the community.

30 Jul 04:33

Amazon liefert neuen Kindle Oasis

by Volker Weber

3c65f7b9fdda50acbbb046da4485eb65

Rückmeldung zum neuen Kindle Oasis:

Hi Volker, gestern ist mein Oasis (neues Modell) angekommen. Ich kenne den Vorgänger nicht, aber im Vergleich zu meinem ca. 5 Monate alten Paperwhite ist er viel (!) responsiver: Aufwachen, Annahme des PIN, aber vor allem das Umblättern der Buchseiten ist viel schneller und ohne jede Trägheit. Das Upgrade lohnt auf jeden Fall. Nicht nur aufgrund der jetzt einstellbaren Farbtemperatur. Grüße, Alex

Der Oasis ist eines der beliebtesten Geräte in vowe's magic flying circus. Oasis ist teuer, aber auch unheimlich gut. Mein Lieblingsfeature: Die Tasten zum Umblättern. Man braucht wirklich nur eine Hand, und kann die auch noch wechseln, weil sich das Display in 180-Grad-Schritten dreht, also nur wenn man will. Die asymmetrische Form sorgt dafür, dass die Fingerkuppen einen Halt finden und der Akku komplett in der Hand liegt.

More >

30 Jul 04:33

The Internet that wasn't

by Volker Weber

Wendy Grossman argues it never was great.

Mostly because most of the people who are all nostalgic either weren’t there, have bad memories, or were comfortable with it. Flaming has existed in every online medium that’s ever been invented. The big difference: GAFA weren’t profiting from it.

More >