text:
It's ironic, I guess, that I was so busy at the Seattle Times a couple of weeks ago I forgot to write about my one-year anniversary here. Anyway: it's been quite a year! I've done real estate visualizations, provided an overview of Oso Valley development, and covered the Washington state elections. I did much of the development on our major investigative pieces, Loaded with Lead and Sell Block (not to mention graphs and narrative interactives for the Warren Buffett mobile home investigation). I made a Seahawks fan map so good that the team outright stole it for themselves. For the local architecture buff, I worked on a building quiz, and for the beer fans I helped build the landing page for our Brew with Us project. Want to know where the May Day protests went? I built a map for that. And this is just the big stuff.
In addition to the externally-facing development, I've been working on building tools that are used by the rest of the newsroom. I think our news app scaffolding is as good as anyone's in this business. We're leading the industry in custom element development, with responsive frames, Leaflet maps, and more. The watermarking tool I made on my second day is still in use, and will probably outlive me entirely at this point.
I have always had a low threshold for boredom, a character flaw that's led to overpacking for every trip I've ever taken and a general inability to read literary fiction. I love working in a newsroom for many reasons, but one of the greatest has always been that I am rarely bored here, and it never lasts more than two weeks when it does happen. I cannot recommend this job highly enough for technical people who want to have an impact, or journalists who want to break out of a single beat. Working at the Seattle Times has been the most fun I've had a job in a long time. I can't wait to see what the next year brings.
"As I look back over a misspent life, I find myself more and more convinced that I had more fun doing news reporting than in any other enterprise. It is really the life of kings."
--H.L. Mencken
Like all Facebook's attempts to absorb the news industry, there's a probable timeline their new Instant Articles will follow, and it basically looks like this:
Instant Articles is not the first time Facebook has tried to take over the web, and it won't be the last. They're very bad at it, probably because they're the original kings of empty promises: working with Facebook is a constant stream of exasperation, until either you realize that they're incapable of maintaining a stable API/business relationship, or you slit your wrists. They've done it to game developers (goodbye, Farmville), to other newsrooms (remember Washington Post Social Reader?), and to anyone else who's tried to build on the various Facebook "platforms."
Lots of people have written very smart reactions to the Instant Articles announcement — I'm partial to Josh Marshall's behind-the-scenes take, John Herrman's spiral of bemused horror, and Zeynep Tufekci's reminder that Facebook cannot be trusted to engage honestly with its role as gatekeeper.
It's probably more fun to engage with the self-proclaimed "controversial" opinions, like this profoundly dumb thought-leadering from MG Siegler:
With Instant Articles, Facebook has not only done a 180 from what Mark Zuckerberg has called the company's biggest mistake, they've now done another lap just to prove a point.
They did a 180, and then took a lap, so... they ran the race backwards, which is a good thing? Somewhere, Tom Friedman feels a twinge of jealousy.
Not only is the web not fast enough for apps, it's not fast enough for text either. And you know what, they're right.
"They're right" that an app loading pre-cached text can be faster than a web browser downloading that same text from the network, yes. Apparently our plan now is just to restrict your reading material to what Facebook can download ahead of time. I hope you like Upworthy lists.
Though, in a way, Facebook itself really is just a web browser. It's just a different, newfangled one for a new era. A mobile era.
A different, newfangled web browser that only goes to Facebook, apparently. Who would want to read anything else? In the future, all websites are Facebook. (Ironically, according to the Instant Articles FAQ, they're fed from HTML anyway, so they're not even really that "new." But it's probably too much to expect Siegler to do research.)
Siegler's not the only person I've seen celebrating Facebook's move as an end to the open web (by which we mean HTML/CSS/JavaScript), although he's certainly one of the most gleeful (he also thinks Facebook should shut down its website entirely, in case you were wondering the general quality of his business advice). Of course, you'll notice that these hot takes are not themselves published to Facebook, or to a native app somewhere. If that were the case, no-one would have heard of them. They get posted to the web, where they can get linked and shared across social media, and read regardless of platform or hardware.
Even without without bringing in ideology, the "native apps instead of the web" idea faces a tremendous number of problems once you think about it for more than thirty seconds. How do new publications like The Toast or FiveThirtyEight get traction when you have to manually download them from an app store to read them? If they get popular through the web first, why bother transitioning to native? Nobody makes "reader" apps for desktops and laptops, so what happens to them? Does anyone really want to write long-form on Facebook, a service that only recently added an "edit post" button? Who cares: punditry is hard, let's go shopping!
It's easy to pick on shallow people who think Instant Articles represent a grand utopian state, but I'd also like to celebrate people who are actually building in the opposite direction. This weekend, I went to a Knight-Mozilla code convening in Portland, which included a ticket to the Write the Docs convention. I'm not a documentation writer, really, so most of the conference went right past me. But the keynote on the second day was by Ward Cunningham, inventor of the wiki, and it was a fascinating look at what it would really look like to reinvent the web.
For the past few years, Cunningham's been working on "federated" wikis, which store content on multiple servers instead of using a single database. If you link to another person's wiki page and you want to change the content, you fork it a la GitHub, and edit the new local copy (which remembers its origin) right there in your browser. You can also drag-and-drop content into a new page, if you want to merge text from multiple sources. It's pretty neat. The talk isn't online, but he did another presentation at New Relic that covers similar material.
Parts of Cunningham's pitch can sound kind of crankish, although I'm sure I would have said the same thing for the original wiki. But other parts are really interesting, such as the idea of creating a forkable attribution trail for data and reporting. Federated wikis are another attempt to decentralize and diversify the Internet, instead of walling it up behind a corporation's control. And a lot of it is inspired by the main insight that wikis had in the first place: on a wiki, you create a page by first creating a hyperlink to it, then following that link.
And that's why it's ultimately ridiculous to act like some pre-cached news articles are the herald of a new media age. What the web gives us — a freedom for anyone to publish to everyone, a wildly cross-platform programming environment, a rich multimedia container where your plain-text article can live right next to my complex news app — is not going to be superceded by a bunch of native apps, and certainly not by Facebook. Instant Articles won't even be the future of news. Future of the web? Give me a break.
I'm not sure what it says about Seattle that one of our biggest yearly events is a May Day protest that wrecks havoc across big chunks of downtown. What even competes? The Blue Angels shut down traffic on the bridges once a summer, and there's the Sea Fair downtown, but reception to those is always pretty muted in my experience. International Workers Day is the big show.
The May Day map I put together to track our reporters has quickly become one of my favorite projects for the Seattle Times. It was real-time, it posed interesting data challenges, and it really exploited our <leaflet-map> element more than anything else we've done so far. While I also wrote a post on it for our dev blog at work, I wanted to call out a couple of other interesting points here.
The most interesting technical detail here is the use of the Twitter streaming API, which delivers nearly instant updates for a search query (either on users, geolocation, or keyword). Node is a great fit for this, with the twitter module offering a readable stream that fires events as new items come in. Our scaffolding, on the other hand, is not intended to be run as a long-standing process, and I didn't really want to retrofit Grunt into a general-purpose application framework. I ended up writing the Twitter part of the app as a completely separate, continuous Node process, which then dumped out its data as a JSON file and started a standard build/deploy in a child process whenever new data arrived.
To store the tweets from the stream, the application uses a SQLite3 database, since that's the easiest way to query and update data. A static data store like this is not something that we've used on projects before, and I don't know if I'd re-use it again. Using SQLite itself is always a pleasure, but reliance on a local database means that I couldn't just clone the project from home and update it when I wanted to change the coloring on Saturday morning. Using cloud storage, like Google Sheets, has a lot of advantages for distributed and remote development.
Working with Twitter itself is an interesting problem, because it's clear that the company has no real coherent plan for outside developers. Over the last few years, the API for user access has been increasingly limited and broken as Twitter tried to drive third-party clients (which don't show ads and don't make money) out of existence. On the other hand, if you are building a Twitter bot, which our map effectively is, it remains a pretty useful and effective service for pub/sub communication. I'm not sure it says very much about Twitter's strategy that they'll let bots run wild while ordinary people are locked into a client monoculture, but that's honestly the least of my frustrations with them at this point.
All that said, I would personally use with this stack again in a heartbeat. Twitter is not the highest social traffic source for the Seattle Times, but almost all of our reporters use it anyway, and it's much nicer to program against compared to Facebook. The impending dilemma is if (or when) Twitter will decide to switch to a "curated" (read: algorithmically-tampered) stream a la Facebook's timeline. When that happens, its value to me as a news developer drops basically to nothing, because I won't be able to guarantee message delivery any more.
Which brings me to the most boring but probably most profound lesson of this project: we need a better build server. The May Day map ran on a box in the office we've affectionately dubbed "Cronda," which also currently tests our traffic alert application and previously powered the Seahawks fan map. In each of those cases, we've jury-rigged together a solution for pulling the latest source code and running builds at regular intervals (the cron Grunt task), but it's not optimal. We can't check on those builds remotely, or restart them if something goes wrong.
At some point, we'll probably move our builds from Cronda to an EC2 box that we can access remotely, but doing so doesn't honestly solve the problem — it just makes it less fragile. Eventually, I think we'll need to look into a real build monitor like Jenkins, which can automate deployments, track error logs, and respond to queries in our teach chat. I'm not entirely looking forward to that, since it feels like a very heavyweight solution, but the more complex our applications get, the more a little up-front rigor will pay off.
It has been a busy week, but I wanted to take a moment to recognize my colleagues at The Seattle Times for their tremendous work, resulting in a 2015 Pulitzer Prize for breaking news journalism. Their coverage of the Oso landslide was clear, comprehensive, and accurate, and followup work continues to this day (including one of my first projects for the paper). It's very cool to be working in a newsroom that's the winner of 10 Pulitzer Prizes over the years, and I'm looking forward to being here when we win #11.
We have sent several people from the newsroom, including myself, to journalism conferences over the last few months. Most conferences are about 50% inspirational and 50% crap (tilted heavily crap-wards in the keynotes), but you meet good people and you get to see the nuts and bolts behind the scenes of some of the best interactive news stories published.
It's natural to come back from a conference with a kind of inferiority complex, and equally easy to conclude that we're not making similar rich presentations because we don't have the cool tools that those other (richer, more tech-savvy) newsrooms have. We too, according to this train of thought, need to be coding elaborate visualization generators and complicated new CMS features — or, as Ryan Pitts from Mozilla said to me last weekend at the Society for News Design workshop, "let's not rest until every paper in the country has built its own charting application."
I think better newsroom tech is important, but let's play devil's advocate for a bit with an unpopular hypothesis: developing tools for the editors and reporters at your newspaper is a waste of your time, and a distraction from the journalism you should be doing.
Why a waste of your time? Partly because newsroom tools get a lot less uptake than you probably think they do (certainly less than we'd hope they would). I've written a lot of internal applications in my time, and they've never been particularly popular, because most reporters and editors don't care. They're too busy doing journalism to use your solution (which is as it should be), and they are probably not big on technology anyway (I have a lot of reporters who can't use Excel, which pains me greatly). Creating tools for reporters is, most of the time, attacking the problem at the wrong point.
For many newsrooms, that wasted time will end up being twice as expensive, because development resources are scarce and UI is hard. Building a polished, feature-filled chart generator that the average journalist can use will take at least a couple of programmer months, which is time those developers aren't working on stories and visualizations that readers want. Are you willing to sacrifice that time, especially if you can't guarantee that it'll actually get used? That's a pretty big gamble, unless you have the resources of the New York Times. You're probably better off just going with an off-the-shelf package, or even finding a simpler solution.
I don't think it's a coincidence that, for all the noise people make about the new data journalism startups like Vox and FiveThirtyEight, 99% of their chart output does not come from a fancy tool or a complex interactive: they post JPEGs. And that's fine! No actual reader has ever complained about having to look at a picture of a graph instead of a souped-up vector rendering (in Vox's case, they're too busy complaining that the graph was stolen from someone else, but that's another story). JPEG is a perfectly decent solution when it comes to simply telling the story across the entire web platform — in fact, it's a great embodiment of "do the simplest thing that works," which has served me well as a guiding motto in life.
So, as a rule of thumb: don't build charting libraries. Don't build general-purpose databases. Don't build drag-and-drop slideshows. Leave these things to other people, who have time and energy to build them for a living. Does this mean you shouldn't create tools at all? No, but the target audience should be you, the news developer, and other semi-technical newsroom staff like the web producers. In other words, make technology for the people who will actually use it, and can handle something that's not polished to a mirror sheen.
I believe this is the big strength of web components, and one reason I'm so bullish on them at the Seattle Times. They're not glossy, end-user products, but they are a great balance between power and accessibility for people with a little technical skill, and they're very fast to build. If the day comes when we do choose to invest in a slicker newsroom app, we can leverage them anyway, the same way that the NYT's fancy chart designers are all based on the developer-oriented D3 library.
In the meanwhile, while I would consider an anti-tool stance a "strong opinion weakly held," I think there's a workable philosophy there. These days, I feel two concerns very strongly (outside of my normal news/editorial production, of course): how to get the newsroom to make use of our skills, and how to best use the limited developer resources we have. A "no tools" guideline is not an absolute rule, but it serves as a useful heuristic to weed out the kinds of projects that might otherwise take over our time.
Next week, I'll start teaching ITC 298 at Seattle Central College. It's the first special topics class I've actually gotten to teach (a previous class on tooling couldn't get enough students), and it's on a topic near and dear to my heart: namely, intermediate to advanced JavaScript. But what does that actually mean? If web development were a medieval blacksmith shop, what would you need to know in order to move beyond "apprentice" and hit the road as a journeyman? What is it that separates a jQuery dabbler from a serious front-end coder?
The honest answer is "about five years of practice," but that's not the whole story (nor is it something I can take to a curriculum planning committee). I think there are two areas of growth that students need to be aware of, and that I'm planning on stressing for this quarter: tooling and functional programming.
Learning their way around this trio is going to be a huge challenge for my students, most of whom still live in a world where individual files are edited and sent to the browser as-is (possibly with a PHP include or two). They haven't built applications with RESTful routes, or written client-side code in a module system. SCC hasn't typically stressed those techniques, which is a shame.
I'm happy to be the person who forces students into the deep end, but I do want to make sure they have a good, structured experience. Throwing everything at students is a quick way to make sure that they get overwhelmed and give up (not a hypothetical scenario: the previous ITC 298 class had exactly that problem, and ended poorly). To ease them in, we'll try building the following sequence of exercises in our directed lab sessions:
The progression starts with Node, and then builds out gradually so that each step conceptually depends on a previous lesson. Along the way, students will learn a lot about how to structure an application across all three of these environments — which brings us to the second, and probably harder, focus of the class.
Undoubtably, students need to have a better grasp of JavaScript fundamentals ("the good parts") if they're to be considered intermediate front-end devs. But how do we break down those fundamentals? We could concentrate on inheritance and object orientation, or think of everything as MVC. Maybe we could spend a bunch of time on modules, or deep-dive into how to write high-performance DOM code. Murphey recommends learning ES2015 features, like fat arrows and destructuring. All of these are important pieces of the JavaScript toolkit, but they are more patterns available for use, not core theoretical knowledge.
The heart of the language, however, remains the humble function. Where other languages have modules, private/static properties, blocks, async/await, classes, and list comprehensions, JavaScript just has first-class functions. Astonishingly, this has actually worked out pretty well, but it means you do really need to understand them in order to read and write code — particularly on Node, where callbacks are still the preferred method of handling concurrency.
Typically, functional coding has been one of the more difficult concepts to introduce in my basic class: we spend some time about halfway through the quarter implementing Array.forEach(), and we wire up a lot of event listeners. Map/reduce usually overwhelms most students, however, and call/apply gets a lot of blank stares. These are literally unavoidable in a well-written, modern JavaScript codebase: we have to find a way to approach them if students are to reach the next stage of their professional development.
The hard part of writing for Node is that you must embrace some degree of functional programming: the continuation-passing style used in the core APIs makes it inescapable. But the great part of writing for Node (especially as the first section of the course) is that it's actually a fairly gentle ramp-up. Callback functions are not that far from event listeners, and the ubiquitous async library softens the difficulty of mapping an array functionally. Between the two, there's no shortage of practice, since there's literally no other way to write a Node program.
That's the other strategy behind the tooling sequence I've laid out. We'll start from Node, and then build toward increasingly complex functional constructs, like modules, constructors, and promises. By the time the class have finished their final projects, they should be old hands at callbacks and closures, which will serve them well in almost any language.
Originally, I joked with people that we'd spend six weeks reading JavaScript: the Good Parts and then six weeks building a chat application. Two students would have enjoyed this, and the rest would have followed me home and murdered me in my sleep. But the two-part plan laid out in this post hopefully marries the practical and the theoretical in a way that will help students grow. They'll learn about the intricacies of JavaScript's functional quirks, but they'll do so by building real applications to solve real problems.
The specifics of this quarter are still a little bit in flux, and will likely remain so, since I think it's good to be flexible the first time teaching a class. But if you're interested in following along, feel free to check out the class repo, which contains the syllabus, supporting materials, and example code so far. Issues and pull requests are also welcome!
In the last couple of weeks, a few more of my Seattle Times projects have gone live — namely, the animated graph in this story about EB-5 visa growth, and the Seattle architecture quiz. Both use the FLIP animation technique I wrote about a few weeks ago, although it's much more elaborate in the EB-5 graph, which animates roughly 150 elements at 60fps on older mobile devices.
I saw a lot of shocked reactions when Nintendo announced it would be partnering with another company to make smartphone games. The company was quick to stress that it wouldn't be moving entirely to app stores controlled by third parties: these games will not be re-releases of existing titles, and Nintendo is still working on new dedicated console hardware for the next generation. You shouldn't expect New Super Mario on your phone anytime soon. Basically, their smartphone games will serve as ads for the "real" games.
Unlike a lot of people, I've never really rooted for Nintendo to become a software-only company. Other companies that make that jump often do so to their detriment — look at Sega, which lost a real creative spark when they got out of the hardware business — and it's even more true for Nintendo, which has always explored the physical aspects of gaming as much as the virtual. The playful design of the GameCube controller buttons, or the weirdness of a double-screened handheld, or the runaway popularity of Wii Sports, are the result of designers who are encouraged to hold strong opinions. A touchscreen, on the other hand, is a weak opinion — even no opinion, as it imitates (but never really emulates) physical controls like buttons or joysticks.
But here's the other thing: what Nintendo represents on dedicated handheld hardware, as much as wacky design chops, is a sustainable market. I play a lot of Android games, I own a Shield, I'm generally positive on the idea of microconsoles. Even given those facts, a lot of the games I play on the go are either emulators or console ports, because the app store model simply does not support development beyond a single mechanic or a few hours of gameplay. The race to the bottom, and the resulting crash of mobile game prices, means that you will almost never see a phone game with the kind of lifespan and complexity you'd get out of even the lamest Nintendo title (Yoshi Touch & Go aside).
I don't think everything Nintendo produces is golden, but they're reliable. People buy Nintendo games because you're pretty much guaranteed a polished, enjoyable experience, to the point where they can start with an expanded riff on a gimmick level and still end up with a solid gameplay hit. They're the Pixar of games. And as a result of that consistency, people will pay $40 for first-party Nintendo titles, largely sight-unseen. This creates a virtuous cycle: the revenue from a relatively-expensive gaming market lets them make the kind of games that justify that cost. It's almost impossible to imagine Nintendo being able to sustain the same halo in a $1-5 game market.
There's room for both experiences in the gaming ecosystem. Microsoft, Sony, and Steam will all provide big-budget, adult-oriented games. The app stores are overflowing with shorter, quirkier, free-to-play fare. Nintendo's niche is that they crossed those lines: oddball software for all ages that was polished to a mirror sheen. Luckily, even though observers seem convinced that Nintendo is doomed, the company itself seems well aware of where their value lies — and it's not on someone else's platform.
About nine months ago, I made the first check-in on the Seattle Times news app template. Since that time, it's been at the heart of pretty much everything we've done at the Times, ranging from big investigative projects to Super Bowl coverage to dog name analysis. We've adapted it to form the basis of our web component stack, and made a version that automates Leaflet map creation. It's been a pretty great tool, used by news apps developers, producers, and graphics team members alike.
That said, I think in digital journalism we often talk in glowing terms about our tools, but we don't nearly as often discuss the downsides they possess. So let's be honest with ourselves: I love this scaffolding, but it's not perfect. It has issues. And I think those issues say interesting things about not only the template itself, but also newsroom culture, and the challenges of creating tools that can operate there.
What are the common threads here? While you could point to the static page approach as being part of the issue, I actually think what causes a lot of these problems is that the intended audience for the news app template is both broad and narrow. It's broad in that its users range from novice journalists to experienced developers (and, indirectly, non-technical editors and reporters feeding data into Google Sheets). It's narrow in that the actual production still requires a high level of technical comfort: familiarity with the command line, new kinds of tooling, and some ability to roll with unexpected bugs.
This is a tough, and self-contradictory, audience for a visualization toolkit. It's not, however, out of character for a general-purpose dev framework. And indeed, when we talk about app scaffolds from any news organization (not just The Seattle Times), that's what they are. They're written to be fast, to be portable, and to generate static files, because those are our priorities as deadline-driven journalists. They are also the far end of a range of newsroom tools, where news apps are at one end and pre-built widgets live on the other. I'm not really worried about where the template lives on that range, and I'm certainly not planning on reducing the complexity — I think it's at a sweet spot right now. But I do worry about the ways that it (and our CMS) fit into newsroom culture.
At the Times, like in many newsrooms, the online presence is largely run by "producers," who curate the stories on the home page and handle the print-to-digital transition process (it's not the same as a "producer" in software development). This process is complicated and highly-skilled, because news CMS systems are generally terrible. The web production staff also often work on projects that would, in print, fall under page design: building complex HTML presentations for special stories. This isn't because they're trained designers: producers are often younger, and while it's not entry-level work, it's close. They end up doing this work because trained, HTML-fluent designers are rare, and because nobody else in the newsroom bothers to learn web design.
As a result, we end up in a funny situation: the only people in the newsroom who really understand the web are the producers. Editors and reporters are discouraged from becoming more technically savvy because the workflow is print-first, and the CMS is so intimidating. Meanwhile, producers rarely become editors or reporters because the newsroom can't afford to lose their skills. There's a tremendous gap in newsroom culture between people who produce the content, and people who actually understand the medium in which that content is consumed. While the tooling is not entirely responsible for that, it is a contributing factor.
I think the challenge we face, as newsroom developers, is to be always aware and vigilant of that gap and its causes. Tools like the news app template are important, because they speed up our work, and the work of other technical people. But they don't mitigate the need for better, web-first publishing systems — something that can help diffuse web thinking from a producer-only skill to something that's available throughout the newsroom.
It's an accepted truth on the web that fast pages are better for users — people stay on them longer, follow more links from them, and generally report being happier with them. I think a lot about performance on my projects, because I want readers to be thinking about the story, not distracted by slow load times.
It's possible that I've been more aware of it, just because I've been working on a project that involves smoothly animating a chart using regular HTML instead of canvas, but it seems like it's been a bad month for that kind of thing. First Peter-Paul Koch wrote a diatribe about client-side templating, insisting that it's a needless performance hit. Then Flipboard wrote about discarding traditional elements entirely, instead rendering everything to a canvas tag in pursuit of 60 frames/second animations. Ironically, you'll notice that these are radically different approaches that both claim they create a better experience.
Instead of just sighing while the usual native app advocates use these posts to bash the web, and given that I am working on a page where high-performance mobile animations are a key part, I thought it'd be nice to talk about some experiments I've run with the approaches found in both. There are a lot of places where the web platform needs help competing on mobile, no doubt. But I'd prefer we talk about actual performance problems, and not get sidetracked into chasing down scattered criticisms without evidence.
Let's start with templating, which is serving as a stand-in for client-side JavaScript in general. PPK argues that templating (and by extension, single-page app design) is terrible for performance, but is that true? While I was working on my graph, I worried a little bit about startup time. Since I write JavaScript on both the server and the client, it was pretty easy to port my code from one to the other and check. I personally found the results conclusive, and a little surprising.
At the other extreme is Flipboard's experiment with canvas rendering. Instead of putting everything in the document, like normal websites, they put a full-screen canvas image up and render everything — text, images, animations, etc. — manually to that buffer. You can try a demo out on your device here. On my Nexus 5, which is a reasonably new device running the latest version of Chrome, it's noticeably choppy. My experience with canvas is that Chrome's implementation is actually much faster than Safari, so I don't expect it to be smooth on iOS either (they've blacklisted tablets, so I can't be sure).
In order to get this "fluid" experience, here's what the Flipboard team threw away:
That's an easy thing to say, but is it true? Here's another experiment from my stacked bar chart: when a toggle is pressed, the chart shifts from being a measure of absolute numbers to relative proportions, with each bar smoothly animating up to 100%. I'm using an adaptation of Paul Lewis' FLIP technique, in which animations are set in JavaScript but run via CSS transitions. In my case, each of the 160+ blocks is measured, assigned a transform to "freeze" it in place as a new GPU layer, then transitioned to its final position with a second transform and "thawed" back into a regular, responsive element.
Again, I'm not claiming that my use case is a perfect analogue. I'm animating a graphic in response to a single button press, and they're attempting to create an "infinite scroll" (sort of — it's not really a scroll so much as an animated pager). But this idea that "the DOM is lava" and touching it will cause your reader's phones to instantly burst into flames of scorn seems patently ridiculous, especially when we look back at that list of everything that was sacrificed in the single-minded pursuit of speed.
Performance is important, and I care deeply and obsessively about it. As a gamer and a graphics nerd, I love tweaking out those last few frames per second, or adding flashy effects to a page. But it's not the most important thing. It's not more important than making your content available to the blind or visually impaired. It's not more important than providing standard UI actions like copy-and-paste or "open in new tab." And it's not more important than providing a fallback for older and less-powerful devices, the kind that are used by poor readers. Let's keep speed in perspective on the web, and not get so caught up in dogma that we abandon useful techniques like client-side templating and the DOM.


text:
Introduction: Sizing an Off-grid Solar Power System
There are many considerations when specifying the components for an off-grid solar power system, these include:
- Load
- Battery type
- Global location
- Local temperature
- Solar grid size
- Inverter type
- etc
I spent several years installing small scale (single and dual and 4 panel) systems for powering roadside driver information systems in Ireland.
This instructable will attempt to guide you through some of the obvious and not so obvious considerations. The last step will be the provision of a downloadable excel sheet to simplfy the process.
We are looking here at an off grid system, this means that there is no mains alternative.
There are mains/generator backed systems as well as assistive systems where the mains and solar power system work in tandem, the considerations and calculations differ for these systems.
Teacher Notes
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Calculate Your Load
Often, when designing a power system, people are tempted to start at the generation source, i.e. the solar panels. This is fine if you are going for a top down system and will only load to the available capacity.
However, if you have a load, house or shed in mind, then chances are you want to build in capacity for all of your appliances. So this is where we will start.
Every mains powered device will have a sticker somewhere that indicates its power requirement in watts, you need to identify all of the loads (appliances) and record their power requirements.
Now make a map of what devices are likely to be on at the same time (it would be a rare event that everything you own would be turned on at the same time)
This total is now your peak load, we will carry this forward to our next step.
Step 2: Inverter
Chances are that most (if not all) your appliances are mains powered AC loads. Your output from your solar power system will be DC.
In order to convert this you will need an inverter.
In the last step, we calculated the peak load. This will inform the continuous load rating of the inverter, there will also be a peak load rating on the inverter, this is the amount of power that can be supplied for a short duration, loads, particularly those with motors will have a large current inrush on startup and this needs to be accommodated.
There are 3 types of inverters to look for:
- Square wave inverter: these are usually the cheapest type, they may be used to power some tools and universal motors but generally won't work with more complex electronics.
- Modified sine wave inverter: these are an evolution of the square wave inverter, the wave is still squarish, but there are additional steps in the wave to emulate a sine wave, these will work with most equipment.
- True sine wave inverters: these are the most expensive type but will most accurately emulate the power that comes from a generator of the power company, they will work with all types of equipement.
Step 3: Selecting Batteries
Batteries are at the heart of the solar power system, these are the storage for all of that lovely solar energy you have collected. Without batteries, you can still have a solar power system but you must use the power as it is collected and depending on the conditions, the output may be unstable.
There are many types of batteries, however, due to cost and practicality, normally only Sealed Lead Acid (SLA) and Gel batteries are considered.
Typically you will select between 12V & 24V cells with12V being more common.
Batteries will come with a capacity rating in amp hours (Ah), to work out how long one battery will run a load first find the wattage for the load, to keep it simple we will call this load 100W.
Our battery is 12V with 50Ah capacity.
The Wh capacity of our battery is 12V * 50Ah = 600Wh
So from 100% charge to 0% charge in the battery, our run time is: 600Wh capacity/100W load = 6 hours run time, easy huh? well, no..
In general, batteries will have a discharge curve, meaning that as the capacity of the battery declines, so too does the batteries ability to push that charge. The amount of battery used is called the depth of discharge (DOD) so a battery at 100% charge is @ 0% DOD, a completely empty battery is @ 100% DOD.
Typically batteries do not deal well with deep discharge (more than 75% DOD), some may never recover a charge and for others, the overall life cycle of the battery will be reduced.
There are guidelines for each battery type but a general rule would be to prevent discharge beyond 50% DOD.
So now our run time is gone from 6 to 3 hours... oh wait, there's more
This value is dependent on some other factors, if the load is AC then we are converting the current from DC to AC via the inverter discussed on the last step but there are losses associated with the conversion, these losses range from 5 -15%, there are also losses in the wiring so depending on the spec of wiring on both the DC and AC side there may be additional losses of 2 - 6%.
Taking the solar element out of the equation for a moment, if our 100W load from above was AC and we stuck with the 12V 50Ah battery with an inverter, at a minimum we would expect to see an additional 7W (this could be up to 21W in this case) load hitting the battery so:
600Wh capacity - 50% for DOD = 300Wh/(100W load + 7W losses) = 2.8 hours run time.
Ambient temperature can also have an effect, I have never been able to find a good calculation for how temperature relates in numbers to discharge rate but the rule would be colder batteries discharge faster and warm batteries slower. However colder batteries will have a longer life cycle (more charge cycles) than hot ones. For every 8.3 deg C increase in temperature, the life expectancy of a battery reduces by 50% (reference)
Step 4: Solar Charger/regulator
The solar controller is a vital component of the solar power system.
It is responsible for taking the fluctuating power from the solar panels and converting it into usable power both for direct use and for charging the battery bank.
There are many different types of solar regulators, the ones I would recommend sit as a central controller in the system. There are 3 sets of terminals:
- Input from solar panels
- Output/input to and from battery bank
- Output to load
The main reason for using a solar controller is to protect the batteries. The controller does this is several ways.
Using voltage and current monitoring it changes the charging characteristics for the battery bank, adjusting for a deep charge, maintenance, and float charging. The controller will prevent over and under charge on the battery by stopping the charge or cutting load, this is important for maintaining the life of the battery bank.
The controller will also load balance during hours of sunlight, so if the battery is full or close to it and there is excess solar energy available then the controller will direct some of the charge to the load and keep the battery in reserve for times when the PV cells are not providing power.
Step 5: Solar Array
Now that we know all of our loads we can work our way out to the solar array.
This a may be an array of cells in a panel or an array of panels.
The number of panels required in the array is dependant on some more variables.
These are:
- The loads and losses as previously calculated
- The efficiency of the panels
- The geographic location of the panels with respect to solar irradiance (the amount of sunlight that will fall on a given spot)
- The inclination and rotation of the solar panels
- Any shading, dirt or snow causing losses in the array itself
No power generation system is 100% efficient, in fact with solar panels the efficiency is quite low only about 22% of all the energy they collect is converted to usable power.
The angle and orientation of the solar panels vary by location, this page will help you set the optimum angle for fixed solar panels for your area. Tracking systems may be used, but they use some of the power and may actually require additional panels just to power the system.
Ambient temperature will also affect how efficient the solar panel is at converting solar to electrical energy, if you are feeling like a bit of reading, this paper explains the relationship in a few short equations.
Step 6: Final Notes & Calculator
The last factor we have to consider is autonomy, this is how long you want the system to operate for without input from the solar cells, this is required as you will not get guaranteed sunshine for the full average time and at the average irradiance. Also if you had a snow storm or similar, your panels may not produce for several days, this is when your battery bank will pick up the slack.
I have included a simple excel calculator to help you size up your system.
I have included some sample numbers simply fill in the areas with green shading and let the orange ones do the calculation. There are round ups on the number of batteries and solar panels to stop the system being undersized. Remember, when filling in the losses, if you are unsure go bigger than you might think, this will prevent your system from being under specified.
I hope this is of some help.
Participated in the
Outside Contest 2017
Participated in the
Home Improvement Contest 2017
Participated in the
Solar Contest 2017
Be the First to Share
3 Discussions
Hi, thank you for the instructions! Raising the DOD results in a smaller battery quantity, however reduces the batteries life cycles, correct? In the excel calculator you provided, as I raise the DOD, the number of batteries increases.
Nice excel but I recommend adding a column "Number of hours per day:" for each of the 10 loads or else it would be impossible to calculate the total "hour per day" for all the loads combined.
Good idea. Whenever I do this I calculate for worst case scenario this is when all of the loads are on for the max possible time. I know this will over spec the system but I always say that its better to be looking at it than looking for it...

subset: commoncrawl


text:
Journal of SMT Article
EFFECTS OF STORAGE ENVIRONMENTS ON THE SOLDERABILITY OF IMMERSION SILVER BOARD FINISHES WITH Pb-BASED AND Pb-FREE SOLDERS
Company: Sandia National Laboratories
Date Published: 10/1/2005 Volume: 18-4
The solderability metric was the contact angle as determined by the meniscometer/wetting balance technique. The immersion Ag coating improved the solderability of Sn-Ag-Cu versus bare Cu and retained adequate solderability for simulated storage not exceeding 12 months.
Adequate solderability was maintained with Sn-Pb solder for storage times that did not exceed 24 months. The solderability of the immersion Ag coating with the Sn-Ag-Cu alloy was generally insensitive to the steam aging treatments. The Sn-Pb alloy was slightly more sensitive to steam aging, as the 16 hour condition resulted in some solderability degradation. These results confirmed the inapplicability of steam aging to predict the storage life of an immersion Ag finish.
Auger surface analysis established a correlation between the surface concentration of Cu that diffused from the underlying substrate, and the loss of solderability for the immersion Ag finish. The Cu surface concentration appeared to reflect a progression of metastable equilibrium conditions having individual, preferred levels for different aging times.
1 Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under Contract DE-AC04-9.
Key words: solderability, immersion silver, storage environments, Pb-free.
Members download articles for free:
Not a member yet?
What else do you get when you join SMTA? Read about all of the benefits that go along with membership.
Notice: Sharing of articles is restricted to just your immediate work group. Downloaded papers should not be stored on an external network or shared on the internet.


text:
Cubs MVP Takes A Fastball To the Head
22 Apr, 2018
A wild game, which ended with an overturned tag play at home plate, began with Chicago Cubs third baseman Kris Bryant getting hit in the helmet by a 96 mph fastball from Colorado Rockies starter German Marquez in the first inning Sunday. The team said Bryant passed all concussion-related tests but is still under evaluation.
"As good as could be expected," Cubs manager Joe Maddon said after the 9-7 win. "I have not heard of anything awful, but they're still watching him. I have not heard the word 'concussion' yet."
Bryant, 26, was helped off the field with assistance, suffering a laceration above his left eye due to his sunglasses being knocked off. Bryant wasn't available for comment after the game but will fly with the team to Cleveland before an off day Monday.
It was just the first of many wild moments on the day, which included both Cubs hitting coaches being ejected immediately after Bryant was hit.
"I'm sorry I got a little emotional," hitting coach Chili Davis said. "I said what I said and I was done, and all of a sudden I have an umpire screaming at me, telling me 'shut up or else.' Or else what? I'm emotional. One of my hitters just got hit in the head."
Not just any hitter. Bryant, a former MVP and NL Rookie of the Year, was off to a great start to the season.
"It scared the s— out of me to tell you the truth," Davis continued. "That guy is a huge part of our team. So I get tossed, the guys get fired up and score six runs. You know what I mean?"
After Davis' ejection, Cubs assistant hitting coach Andy Haines threw his drink toward the umpire on the field and was also ejected.
Maddon was upset the umpires simply didn't ignore the dugout, which was just letting off steam, at least in his estimation.
"My argument was 'stay out of my dugout,'" Maddon explained. "It's an emotional moment. There was a lot of stuff going on. Don't look for stuff. Nothing would have happened. We would have been fine. I had no chance to go in and settle the dugout because I'm out there [with Bryant]."
Intense moments continued throughout the afternoon, including a third-inning back-and-forth between Cubs shortstop Javier Baez and Rockies baserunner DJ LeMahieu, who was on second base at the time. Baez thought LeMahieu was blatantly stealing signs from Cubs catcher Victor Caratini.
"Don't do it to our face," Baez said. "We're going to do something about it. I don't care who it is. [Saturday], they hit a lot of pitches with men on second. Today, I saw him, every pitch. He was doing it."
Baez tried to stand in front of LeMahieu to block his line of vision as Caratini was giving the signs. While doing so, Nolan Arenado struck out.
"I turned to the outfield and said, 'You see the difference when they don't steal the signs?'" Baez recalled. "Then [LeMahieu] said something. He told me to change the signs. So he's telling me to my face he's [stealing] the signs. I'm really mad about it. I'm really smart. We won the game and the series."
Maddon is never one to discourage outside-the-box thinking, approving of Baez's strategy and execution.
"That was old-school there," Maddon said. "They're trying to give location and Javy is blocking. I've never seen that before. That is some grassroots stuff. You may see that more often … He was not scared or afraid to do it. I loved it. I said, 'It's straight up winter ball, boys.'"
Albert Almora Jr. was visited by the Cubs training staff after making three highlight-reel catches in center field, two of which saw him go to the ground hard. He hit the wall on the other.
"On this kind of field, you have a lot of room to run," a sore Almora said afterward. "I was just trying to be in the right spot at the right time."
Maddon added: "Albert had a day for the ages in center."
With all that action, Maddon was pretty active, considering he's just the manager.
"I don't think I've been out on the field that often without getting kicked out, ever," he said with a smile.
If all that wasn't enough, the Rockies loaded the bases in the ninth inning as Cubs closer Brandon Morrow was attempting to protect a two-run lead. With two outs, Morrow threw a wild pitch, but catcher Willson Contreras pounced on it as Arenado tried to come home. Morrow covered the plate, getting the tag down as Arenado slid in. Plate umpire Cory Blaser called Arenado safe before replay overturned the call.
"I knew he was out," Morrow said. "It was like slow motion. Set my glove in front of the bag and let him slide into my glove."
It ended a crazy afternoon at Coors Field. It's not the first time that has happened.
"There's West Texas baseball, then there's Rocky Mountain high baseball, and you just have to fasten your seatbelt and kick the last field goal," Maddon said.
More than anyone, Almora was grateful the game ended when it did. He battled the wall and outfield grass in tracking down those fly balls. He waited with hopeful patience as the umpires reviewed that final play.
"I just wanted the game to be over with," Almora said. "I was like, 'I think I'm done. I can't take any more diving plays.'"
Image zesty_cubs twitter
Mentioned In This Post:
About the author
Related Posts
Kobe Leads Legendary HOF Class
It STILL Doesn't Feel Real
The Day Basketball Died
The Cubs and Addison Russell Are Breaking Up
The Cubs Get Their Yes Man
Thank You Joe!
Will ANYONE Be Able To Stop The Giannis?
Nobody Wants To Pay The Price For Bryce
The Cubs Owner Is A Racist and Here's Proof
MVPat There's A New Star In The NFL


text:
A major premise of this book is that the physical environments in which we learn should reflect our most powerful aspirations and our most promising ideas about learning. The designs that are showcased here are about expanding rather than containing learning, opening access rather than controlling access, adapting to differences in learning modalities and preferences, rather than restricting modalities and controlling preferences.
Learning by Design uses the school building as a metaphor for everything we know and think about learning and education. The authors argue that a shift to deliberate design requires a shift in mindset, from predictability and stability to informed choice and adaptation, from established patterns and procedures to flexibility and responsiveness, from established truths to inquiry and questions. This is book is for everyone who cares about education. It describes how the thoughtful design of learning environments can become the catalyst to redesign education itself in a way that allows it to fulfill its ultimate promise as the vehicle to build a more fair and just society for all.


text:
- The Horatio Alger Foundation will award $25,000 scholarships to 106 college-bound high school seniors who've shown "integrity and perseverance in the face of adversity.
- There's no essay or SAT/ACT score requirement.
- Applicants must prove that their families' adjusted gross income is $55,000 or lower to receive this need-based scholarship.
- Students should be involved in extracurricular activites and community service to be considered.
- Recipients must attend an all-expense-paid trip to the association's National Scholars Conference in Washington, D.C.
- The foundation is taking applications until October 25.
What do Oprah Winfrey, J.K. Rowling, Jim Carrey and Horatio Alger Jr. have in common?
(Ok, I know you're thinking "Who is Horatio Alger Jr.?" but you probably learned about him and forgot — just keep reading).
They all went from rags to riches. In fact, Alger pioneered the rags-to-riches theme in his 19th century novels.
His characters, much like Winfrey, Rowling and Carrey, faced adversity at a young age.
Through tenacity, honesty, hard work and sometimes a bit of luck, they all overcame impoverished circumstances to find success.
While Alger died 119 years ago, a national scholarship lives on in his honor.
Every year the Horatio Alger Association awards $25,000 to 106 students who display integrity and perseverance in the face of adversity.
Horatio Alger Scholarship Application Details
The Horatio Alger National Scholarship Program is open to high school seniors in the US and Puerto Rico who graduate in spring or summer 2019 and plan to enter college in fall 2019.
Students must be US citizens and maintain a 2.0 GPA or higher.
Applicants should be involved in co-curricular and community service activities and show commitment to pursuing a bachelor's degree.
There's no essay — or SAT or ACT score requirement. What matters is critical financial need.
Applicants must prove their families have a $55,000 or lower adjusted gross income to be considered.
Check the extensive scholarship FAQ for questions regarding specific financial situations.
You must apply for the scholarship online. The application deadline is Oct. 25, 2018.
All National Scholar recipients will go on an all-expense-paid trip to the association's National Scholars Conference in Washington, DC The trip is mandatory to receive the $25,000 award.
We believe financial hardship should never hold anyone back, so please share this scholarship with a student who could benefit from it.
Like our College page on Facebook to discover other scholarship opportunities.
And if you're looking for even more scholarships to apply for, be sure to check out our list of 100 scholarships that will help you pay for college.
Visit INSIDER's homepage for more.


text:
Iceland aborts about 98% of babies prenatally diagnosed with Down Syndrome and averages under 2 babies born with Down's a year. CBS recently featured Iceland as "the country where Down syndrome is disappearing," and lauded how they have "virtually eliminate[d] Down syndrome."
Many pro-life groups quickly shot back that Iceland was boasting of no medical advance to accompany that statistic, only a death option.
Jeanne F. Mancini wrote an op-ed that was picked up by the Washington Post. In it, she pointed out that although the doctors claim they're killing Down syndrome babies to "prevent suffering", those with Down's have a very happy life and rank above average on personal fulfillment. Is that suffering now?
Mancini quotes Sally Phillips, an actress famous for leading roles in several British sketch comedy shows and sitcoms who's also the mother of a child with Down syndrome. Phillips is proposing we adapt a different perspective on Down's: "If you stop thinking of Down syndrome as a disease, then the way you treat mothers is entirely different: you perhaps wouldn't say, 'I'm sorry.' Breaking the news with the phrase 'I'm sorry.' There's nothing to be sorry about. You're lucky, actually."
Beyond the obvious pro-life cause to prevent all abortion, I think there are three more important points for Catholics to consider regarding the Iceland story and the fact that in America the vast majority of babies testing positive for Down's are aborted, too.
First, we are seeing vast development in genetic testing and Down syndrome is just the tip of the iceberg.
Sequencing a genome has gone from costing millions to being provided in ancestry tests which, for your own entertainment, you can buy for under $100. This means labs can sequence the DNA thousands of individuals with conditions to find common genetics. Down syndrome is easy to identify as it is one extra chromosome, but there are many other conditions that are largely genetic but with more complicated markers.
Autism is estimated to be 60-90% genetic but doesn't have a single genetic marker. Currently, the DNA of 50,000 autistic individuals and their families are being compiled in a single study. Let's suppose that this study identifies specific markers that predict a strong chance of autism. Will we see a rush to abort babies who, tests strongly indicate, may fall somewhere "on the spectrum"?
The dangerous precedent of disposing of infants who, through genetic testing, are identified as "potential imperfects" can open an abyss humanity may not be able to climb out from as we consider how identifying genetic markers in utero could potentially predict what fetus may eventually experience type-1 diabetes, schizophrenia, Graves' disease, polycystic ovary syndrome, speech disorders, ADHD, Epilepsy, COPD, Alzheimer's, Celiac, Anorexia, Tourette's, or obesity? All these are estimated to be over 60% genetic, and could easily become part of pre-natal scanning. Almost every one of us has someone who we love or who loves us but has one of these conditions.
Just imagine if we as a society eliminated most of these people: all of us would lose somebody.
Or since intelligence is also largely inherited, wouldn't eliminating low-IQ babies be next? At some point, nobody is safe from not being killed eugenically as they don't have the desired genetic traits.
Second, gene-editing is on the horizon and is another eugenic threat.
CRISPR has shown we can edit human genes. So instead of killing via surgical abortion, we'll just edit genes.
But this presents its own set of problems. First, once a baby starts developing, editing gets more difficult so if you want to do this it would generally be done through in vitro fertilization – producing babies in a petri dish rather than a loving act.
Furthermore, it would only increase the number of humans killed since (human nature has shown), in taking all of this effort, people will clearly prefer "perfect" babies and dispose of the rest. As CRISPR is far from perfect, multiple human beings could potentially be created and destroyed in pursuit of "perfection."
Finally, we face the deeper issue of reducing being human to what he does.
The movement of eugenics against Down syndrome diminishes human dignity by valuing people not for who they are, but what they can do. Or not do. A person with Down's is viewed as a life not worth living because they can't contribute much economically and because we'll feel sorry for them.
This flies in the face of everything Catholicism stands for when it argues for honoring the innate dignity of the human person.
If we base human nature on anything other than nature, objective morality disappears.
Sure, a philosopher can argue it is based on the amount of happiness a person can provide or receive, or based on the fact they have certain capabilities, but both of these ultimately come down to "Because I say so." How do you compare happiness and how can we know another's true happiness now yet alone years down the line? "Because I a utilitarian philosopher say so." How do we determine at what line of capabilities killing is immoral? "Because, it's where I Peter Singer, say so." Peter Singer, in fact, argues for killing babies born with such conditions.
Once objective morality is gone, essentially might make right. The strong have more power to affirm their version of morality over the weak so their affirmations will overpower others'. That is the opposite of Christian morality.
Instead, affirming that these people who seem like "others" are really of the same dignity, we protect all from oppression.
Although a genetically perfect society at first seems utopian, we quickly realize it is dystopian because it loses acceptance for anything outside a very restrictive rule of perfection. It is a society where you are no longer a miracle but a product: thus humans can be used for some grand plan rather than have the freedom to each live their own life.
By affirming that human beings who seem like imperfect "others" possess the same intrinsic dignity as any other human being, just as entitled to his or her life, and to live it, we protect all from oppression.


text:
This is the coaching education, you can be initiated around 4 weeks after you are initiated in the basic LMPT.
After receiving your payment I am scheduling your day with you (via Skype or Zoom)
LMPT is standing for:
LMPT is a powerful transformation system for no longer relevant behavior patterns, transformation of shock experienced before including the echoes in the body, lack of experience, fear, hunger and more.
At the same time it can be used to dieting, e.g. Abundance / wealth, joy, happiness, together with light Libraries, soul retrieval etc. It goes beyond the known transformation systems.
Who uses this system regularly walks the path to transcend ego and to take personal responsibility for his life.
This transformation system is associated with activation of the Merkaba and thus the light body. This increases the vibration of all bodies.
I am pleased to bring you this close system with which I have made many beautiful experiences.
I love the LMPT and use them whenever it is necessary to solve a problem, get answers and much more. I will given suggestions at the skype session or at the appointment, as well as the travel and information as MP3 are afterwards available, so that you can you fully concentrate on the energies.
Each of the 6 trips that we make are fast and effective. There is plenty of time to get answers and of course also explain much.
This is the coaching education, you can be initiated around 4 weeks after you are initiated in the basic LMPT.


text:
God is always faithful to his word (2 Thessalonians 3:3), standing next to us. When Daniel's friends denied to worship the image that the king had made, the king threw them in the fiery furnace and ordered it to be heated seven times more.
Author: GetZ
Highlands – Song Of Ascent
Often I would feel angry and frustrated about what happened, to the point of wanting harm for those who played back but God taught me that this is how the enemy would try to come after me and that I had to understand that I shouldn't harbor hatred against anyone. The fight is not with humans but satan and the grace of God is enough to win the fight
Thank you Lord – Don Moen
This song reminds me again and again that all we can do is Thank God for all that he has done for us. He brought us to light from the gravest darkness we were in, took our sin and shame on the cross, so that we can have the gift of eternal life. Even when we went astray, he was still taking care of us, he never left us.
Quiz – John 6
Test your Bible knowledge with this quiz on the sixth Chapter of the Gospel of John
Way maker
Recently in one of our Bible studies we were discussing John 5 and how the Jewish leaders were persecuting Jesus as he was not 'keeping the sabbath' by healing the sick on the Lord's day. To which Jesus replied…
Luke – Chapter 16
Love for money is the root cause for all kinds of evil. In the ancient days, man exchanged the goods and services in return for his own needs. In due course of time man invented money to replace the barter system.
Who You Say I Am – Hillsong
God said to Moses, "I am who I am. This is what you are to say to the Israelites: 'I am has sent me to you.'" – Exodus 3:14 God does not need us to define Him or give Him an identity. This is what He meant when he sent Moses to the captive Israelites…
Luke – Chapter 4
The Spirit of God led Jesus through the wilderness where He was tempted for forty days. There are three temptations which are recorded in this chapter and while there might have been more lines of dialogue between Jesus and Satan, these three still teach us a lot of things.
Luke – Chapter 1
The humble beginnings of the Good News.
The Syrophoenician Woman – The Epitome of Faith
Jesus left Galilee and headed north some 35 miles to the gentile occupied port cities of Tyre and Sidon. The purpose of Jesus' short visit to these cities is not clear. He was not preaching in this region nor was he performing any miracles. Then why did Jesus take his disciples and travel such a long distance to Tyre and Sidon?
From Crucifixion to Ressurection
Christ died for us 2000yrs ago. Every year we meditate on the seven verses Christ said on the cross. Jesus tries to portray the Love of Christ through this act of crucifixion. Today let us recall the basic reason behind His crucifixion and resurrection.
Jesus and the Samaritan Woman
Jesus was on his way to Galilee through Samaria. In Samaria, He was near a well that was given by Jacob to his son, Joseph. Jesus sat by the well as He had a tiring journey and just then a Samaritan woman came to draw water. Jesus asked her for a drink and the Samaritan woman became a little puzzled as Jews would have no dealings with Samaritans. Just at that moment Jesus revealed to this woman about Himself as the 'living water'. The woman did not understand what exactly Jesus meant. She probably just knew about Jacob and believed Jacob was a great man and not knowing the source of Jacob's being a great man.
Deborah – The Female Judge
Deborah is the only female judge of Israel mentioned in the Bible (Judges 4:5). She was a prophetess and the wife of Lapidoth who judged Israel when the they were being oppressed by Jabin, king of Canaan (Judges 4:4).
Abigail – A Discerning Woman
Abigail was a woman, beautiful and with understanding (1 Samuel 25: 3), She was the wife of Nabal who was a rich man and who sheared his sheep at Carmel (1 Samuel 25: 3). Knowing that Nabal was shearing his sheep, David sent some young men to talk to Nabal and tell him how well his shepherds were treated when they were with him and that now when they have come on a feast day and be given ..
Life Eternal
People need precedents for everything, without seeing they do not believe and without being done so by someone else earlier, they won't do.
Jesus brought back three dead people to life and through that, people got the notion that a dead person can get back to life….
Eli – The Penultimate Judge of Israel
Eli was a priest, chosen from the priestly clan, who judged Israel for forty years (1 Samuel 1:9; 1 Samuel 2:28; 1 Samuel 4:18). He had two sons named Hophni and Phinehas who did not know God and sinned against Him, they treated Lord's offering with contempt (1 Samuel 1: 4; 1 Samuel 2: 12,…
God calls Anyone
Main Reading: Genesis 41 In this given passage we read about the dream that Pharaoh dreamt of and how Joseph interprets it. Pharaoh gets really troubled in his spirit after seeing the dream and calls for the magicians and wise men but none could interpret it. Then the chief butler remembers how Joseph had interpreted the…
Marshall Hall – When I Cry
This song was written by Marshall Hall and Benjamin Gaither for the album 'Lovin Life'. It was sung by Marshall Hall himself along with Guy Penrod and Wes Hampton. This album was one of the three in which Marshall sang with the Gaither Vocal Band. Its a beautiful song which portrays how much God loves us that He feels more pain when we are in pain and gives us a sense of hope in Him.
God or Material possession
Matthew 6:24 tells us that no one can serve two masters, either we would love one and hate the other or be devoted to one and despise the other. We cannot serve both God and money. This verse is in extension to the passage which tells us to lay our treasures in heaven.
Give Wholeheartedly
Main Reading – Mark 12: 42-44 The reading talks about a poor widow and her humble offering of two small coins contrasting it with the rich lot boasting and casting much more into the treasury. It was a very small amount what the widow had offered but Jesus was satisfied with that because she gave that out…


text:
Machine Learning: If It's Testable It's Teachable
Automation •
23403 Views | 5 Min Read
Ever wondered how you went to YouTube to watch just a 5 minutes video but ended up there for 3 hours? Or saw an advertisement on some page of exactly the same thing that you have been planning to buy for last 15 days and ended up finally buying it! Isn't it great how your computer knows what you have been desiring? Well, it's not your computer but the bots, the algorithmic bots that have been watching you all the time. Even now! Yes, that's absolutely true. So the question comes, how these bots are made, and how software testing concepts come into play here.
It wasn't very long ago when humans used to create algorithmic blogs that behaved like the real artificial intelligence. Simple and long code that basically said do this if this… or do that if that… for a while worked perfectly, and in many day to day activities it still works. However, as more and more people came on internet creating bigger and bigger datasets this approach simply didn't work everywhere. Because some problems are just big enough to be taught by humans.
Let's consider an example where you are shown two pictures one is of a dog and another is number 5 and you are asked what is what? Being an human you just know that yes, this is a dog and that is number 5 but how will the machine or the bots know?
We have to create a complex algorithm that will tell them to crawl the image pixel by pixel and find patterns in that picture that matches pixel patterns usually found in known dog images and give an estimated guess. Human brains have a complex wiring of neurons that learns every second. Similarly we will have to create complex bots with evolving pattern recognition intelligence which they develop over time as they keep learning.
How they learn?
Human programmers create a teacher bot and a builder bot who have simpler brains. Builder bot builds student bots and keeps and discards them based on their test grades.
The teacher bot himself cannot distinguish between a dog and a 5 but it can test student bots whether they are right in identifying or not. Now you get why automated testing is so important.
We give teacher bots a bunch of photos of dogs and 5s and an answer key of which is what. Based on this the teacher bot takes test of student bots and gives them the grades. Based on the test data, the builder bot keeps building on different student bots by adjusting different permutations and combinations of student bots algorithm mechanics, sometimes it even at random sees what sticks and what not. And the teacher bot keeps taking their tests and assigning them the grades. And the cycle continues.
The teacher bot keeps testing, and based on the grades of the student bots, the builder bot keeps the best performing bots and ruthlessly discards the rest.
The test, build, test cycle keeps on repeating in a loop and their grades are assessed and once the bot with approx 99.9% accuracy (or call them grades) is built the cycle is stopped.
Now the question that comes to our minds is 'How many times the automated cycle of test, build, and test is repeated?'. Well, it repeats as many times it is necessary till the bot with the best grades is built. The best bot is the best algorithm to distinguish between a dog and 5.
So What's The Problem?
Now we have picked up the best algorithm to distinguish between a dog and the number 5 then what is the problem that may occur? If we give the bot a video of a dog or 5 upside down or letter 'S' instead of 5 will the bot still be able to figure that out? No.
How to Solve it?
To solve this, the humans have to create longer automated test cases with more number of questions for the student bots to pass, including even the wrong and the right scenarios so that it gets prepared for the worst cases too. Since longer tests ensures better bots.
As there is not a single bot or some ten or twenty questions but millions of bots and zillions of questions so how does the test, build, test cycle repeat? In that case you have to automate the process and keep on testing the same.
When a final bot is built it works and it is the only one which survives among the all as it is the only one whose algorithm was 0.01% better than the other bot. The algorithm that the student bot has built is not known by the teacher bot, not by the human overseer and not by even the student bot itself! It. Just. Works!
How the bot thinks or works, what it thinks is not really knowable.
Let's come back to the YouTube example that we have discussed. We can understand this better now. The task here given to the student bots is to record the watch time of a user while keeping engaged and the student bot who keeps the user engaged for the longest watch time will score the highest. The teacher bots assess all the student bots and the student bots keep on giving recommendations to the users so that the user remain engaged. The one who gives the best recommendations and keep the user engaged is the one with the best algorithm.
We've seen that the teacher bot is just testing the student bots and they are learning from the tests. So, in one line we can say that Machine learning is teachable if it is testable.
Written by Deeksha Agarwal
Deeksha Agarwal is in Product Growth at LambdaTest and is also a passionate tech blogger and product evangelist.
Related Articles
The Perfect Way To Maintain Your Selenium Test Automation
3269 Views | 9 Min Min Read
WebdriverIO Tutorial: Browser Commands for Selenium Testing
18905 Views | 11 Min Min Read
11 Best Unit Testing Frameworks For Selenium Automation
35424 Views | 19 Min Min Read
Why You Need Build Automation Tools for Selenium Automation Testing?
102391 Views | 10 Min Min Read


text:
We met in 1996 in Bio Lab. We spent 4 years in pharmacy school together. We've shared tears of joy, and tears of sorrow. We've laughed a million laughs and shared as many stories. Our memories together are innumerable. We've stood by each other through thick and thin. She's seen me at my best, and she's loved me at my worst. (Luckily for the both of us any pictures before 2003 are not on my computer).
Jen, please know no matter what, I'll always be there to dust the sand out of your collar bones.


text:
Funkin' up T. Monk's "Epistrophy" righteously, tenor sax player DK Anderson digs in deep and comes up with some shockingly fresh angles. It's one of the tracks on his new CD "Quantum Truth," an inventive collection of songs played on... Continue Reading →
In a very meta love song called "Words to Love," feathery, sweet vocals are punctuated coolly, in refreshing places, by the innovative drummer Reggie Quinerly. His new CD, also titled "Words To Love," is full of deep, memorable melodies drenched... Continue Reading →
Trumpet player Chris Pasin reaches into the kernel of it all with simplicity. In his relationship with the horn, he shows respect and expressiveness using bold lines, spare phrasing and clear messages. Inspired by the longtime collaborations that paired the... Continue Reading →
Light, bright and fun – to start, anyway – Monika Wall's song "One Step" soon veers into a tough and hearty blues. Coming from her new CD "One Step/Earth," this song serves as a jazzy call to action; now, more... Continue Reading →
Some people start testing the musical waters with social media, posting song snippets against a back beat from YouTube. Once in a while it's surprisingly natural and seems destined to develop into something true. One to watch and listen for... Continue Reading →
In the blog's second visit with Michael Lauren, he talks about his newest CD, a collaborative effort in both performance and composition: "Old School/Fresh Jazz." The high-spirited "Lisboa Boogaloo" delivers unadulterated fun; no fuss, no muss, just joy. "More Soul"... Continue Reading →
The first word that comes to mind with the song "Shed" from The Maguire Twins is sophistication. With its complexity of rhythms that propel the central idea forward, this tune is the picture of stunning tonality and all-in communication among... Continue Reading →


text:
The fleshy side of the papaya skin can be used as a mask to treat acne or a diet which includes papayas will help to treat acne the conditions internally, making the skin clear. Also, when the natural latex in papaya is applied on the burnt area, it helps in reducing the marks caused due to the burn.
Brazil Nuts
The high zinc content in Brazil nuts has been shown to protect against treat and prevent acne. This can be achieved through normal consumption of the nuts. The rich antioxidant content of Brazil nuts is the main cause behind this protective quality.
Dandelion Greens
The liquid from dandelion greens or drinking dandelion tea is a good to detoxify the body and blood and rid acne. The dandelion green properties make it a great treatment for acne. Acne typically arises with the deposit of toxic substances into the blood or body. These toxins tend to come out along with sweat through the sweat glands or sebaceous glands on the skin.


text:
Treasury: Business Taxpayer Seminar Being Held in Traverse City
Business taxpayers can attend a seminar in Traverse City next week to learn more about taxes and audits. In partnership with the Michigan Department of Licensing and Regulatory Affairs, the state Treasury Department will host a Tax and Audit Seminar on July 10 that covers the entire business tax process, including sales, use and withholding tax basics, collecting tax, and filing and payment rules, as well as verifying tax obligations through the audit process. Read More
More Than $1.9 Billion in State Income Tax Refunds Issued for 2018 Tax Year
More than 3.3 million state income tax refunds were processed for the 2018 tax year that provided taxpayers with over $1.9 billion, according to the Michigan Department of Treasury. As of mid-June, the average taxpayer refund was $571, up from last year's $552 average. To date, more than 4.8 million returns have been processed, with 91 percent reviewed and finalized within two weeks of receipt. Read More
MICPA Annual Meeting Notification
In accordance with the MICPA Bylaws, Article 8, Section 1, an Annual Meeting of the Association shall be held each year within six months after the last day of the fiscal year. The time and place of the Annual Meeting shall be designated by the Board of Directors and the members shall be notified by mail communication or by publication in an official publication of the Association. This year's Annual Meeting is scheduled for Sept. 18, 2019 from 9 a.m. – 9:30 a.m. and will be via conference call. Register
Taxpayer First Act Modernizes IRS and Adds Whistleblower Protections
On July 1, President Donald Trump signed the Taxpayer First Act into law. This new bipartisan IRS reform closes a loophole in corporate whistleblower protections, includes significant reforms to the IRS whistleblower reward law, requires the IRS to submit plans to Congress relating to improving the infrastructure of its operations and modernizing its technology systems, makes it easier for taxpayers to obtain "innocent spouse" relief, and expands safeguards addressing the types of ID theft that have plagued taxpayers in recent years. CPA Practice Advisor highlights these provisions and numerous others in the new law. Read More
What to Do When the IRS Bypasses a Power of Attorney
The Internal Revenue Manual provides IRS employees with the procedures and tools they should follow and use. For tax professionals who represent taxpayers before the IRS, it is an advantage to become familiar with some of the more common IRM provisions that are used on a regular basis, so that they can be pointed out to IRS employees during an audit. Read More
Taxpayers Should Be on the Lookout for New Versions of These Two Scams
With scam artists hard at work all year, taxpayers should be on the lookout for a surge of evolving phishing emails and telephone scams. The first of two new versions tax-related scams involves Social Security numbers related to tax issues. The other threatens taxpayers with a tax bill from a fictional government agency. Read More
TED's Giant Summer Reading List: Books to Open Right Now
You'll find something on this summer reading list for every kind of reader. This summer reading list offers plenty of suggestions from TED speakers, TED-Ed educators and TED Fellows. Now, where do I start? Read More
IRS Announces Summer Downtimes
This summer, the IRS Modernized e-File (MeF) will be upgrading systems and therefore will be unavailable at certain times, the service announced. The system shutdown will occur in two phases starting on July 18. Read more
Gen X Financially Behind Prior Generations at Same Ages
Generation X is being called the "sandwich" generation because they are both taking care of their children and their parents, according to a new issue brief from Employee Benefits Research Institute (EBRI), "Comparing the Financial Status of Generation X Families." In addition, this generation experienced the Great Recession of 2008, when many of them were in their 30s and in prime earning years. Read More
MICPA Supports Practitioner Services Division at IRS
This past May, at the conclusion of the AICPA's Spring Meeting of Council, several hundred CPAs from across the nation met with Members of Congress to ask them to support consolidating existing IRS units into a Practitioner Services Division so that taxpayer issues are more efficiently resolved. Representatives from the MICPA met with thirteen members of Michigan's congressional delegation to share how tax practitioners now rely on many different IRS programs, processes and tools situated throughout the organization to resolve clients' tax issues. Learn more
Should You Wait to Claim Social Security Benefits?
Claiming Social Security before full retirement age leads to a reduced monthly benefit. This article from CBS News explains the advantages of waiting past retirement age and offers guidance for finding the optimal claiming strategy. Read More
Close Any Deal Using These Human Intelligence Skills
Most accounting and finance professionals have technical skills down to a science. And when it comes to crunching numbers, they're undisputed dynamos. But the digital age requires more – namely, fine-tuning the skills that make us uniquely human. Whether interviewing for a job or pitching an idea to a client, this set of skills will help anyone land any deal. Read More
Maintaining a Strong Voice in Advocacy
The AICPA submitted over 140 recommendations on behalf of the profession to the IRS regarding its 2019-2020 Guidance Priority List. Tax issues related to crowdfunding, virtual currency and the shared economy (such as Uber and Airbnb) are just some of the items included in the suggestions. Read More
3 FAQs on the Hosting Services Ethics Interpretation
The clock is ticking, and the effective date for the hosting services ethics interpretation is around the corner. Make sure you're prepared. Read More
Survey: Business Execs Say Complex Financial Instruments Continue to Pose Risk
A recent AICPA study of senior level CPAs reveals concern about the valuation of complex financial instruments. Almost 70 percent expect financial instruments to become more complex over the next one to three years, and 55 percent expressed concern about financial instrument valuations. Read More


text:
Massage Center
Wellness First Chattanooga has an in-house massage center, including water massage beds and massage chairs to aid in reducing pain and achieving relaxation. These beds provide heat and massage and are adjustable in pressure and speed, according to what each individual finds most beneficial and comfortable. Patients can lie on their backs, sides or stomachs. These beds are convenient to use and are ideal for those who may not be comfortable with the hands-on approach of traditional massage (and patients only need to remove their shoes).
For patients who have difficulty lying down, the clinic also has massage chairs that can massage up to 90% of the body using heat and air pressure. The chairs can also be programmed by our staff to simulate different types of massage.
The Massage Center is open to the public and massages are available for a small fee.


text:
Kate Hudson Baby Shower Pictures September 2018
Kate Hudson's Pink-Themed Baby Shower Was Fit For a Princess — See All the Gorgeous Photos!
Kate Hudson is glowing! The 39-year-old actress is currently expecting her third child, and on Sunday, Kate's pals threw her the ultimate coed bohemian baby shower to celebrate her baby girl's upcoming arrival. Kate and boyfriend Danny Fujikawa posed for a series of fun photos in front of a gorgeous flower wall with their friends, including Sara and Erin Foster, Jennifer Meyer, and trainer Nicole Stuart. Kate looked radiant in a white crochet lace dress, which she adorably paired with a flower crown. The pink-themed backyard soirée included tons of flowers and giant balloon garlands and was clearly filled with lots of love.
Kate and Danny have been going strong since early 2017, and this will be Danny's first child. Kate, on the other hand, already has two sons, 14-year-old Ryder and 7-year-old Bingham, from her previous relationships with Chris Robinson and Matthew Bellamy, respectively.


text:
Battle Royale games can definitely be pretty daunting for those looking to try it out. With 100 players dropping into a map, all with different skills and levels, newer players get weeded out within minutes of play. With Fortnite becoming a worldwide phenomenon, the barrier of entry of this game needs to accommodate the new players jumping in to see what all the fuss is about. Luckily, the devs are adding a feature to help out fledgling Fortnite players.
Thanks to the new V10.40 update, player skill levels will be filtered into lobbies, making sure that similarly skilled players get matched up together. This new Matchmaking Rating system is sure to even the playing field, ensuring more Victory Royales for anyone starting out.
In addition to all of this, AI controlled players or Bots, will also be implemented, ensuring that rookies can get a hang of the game before facing real players in higher ranked matches. As per the official Fortnite website:
In the next Season, we are adding Bots to Fortnite. They will behave similarly to normal players and will help provide a better path for players to grow in skill. Bots will work in conjunction with the new matchmaking system, and as your skill improves, you'll face fewer Bots. Bots will not be present in Competitive playlists. This is another system that we will continue to update and iterate.
Overall, this is a great quality of life update coming to one of the biggest games across consoles, PCs, and mobile. Ensuring that not only is it accessible to players of all skill, but also has systems that can help players get better and better at the game, is always a big win.


text:
Blog articles from June, 2019
piazza vecchia
For a number of years I have been involved with I Maestri del Paesaggio, an international landscape conference organised by Arketipos that takes place in the beautiful Città Alta in…
westminster terrace
The 180,000 sq ft development consists of 59 luxury duplex apartments looking across Hong Kong Harbour. The pool deck has been designed as a continuation of the interior design of…
the keys
We were appointed to provide a full design service for this luxury villa resort set within one of the world's top golfing destinations. ASD created a distinct landscape and style that…
villa gardens
The underlying concept is to settle a new contemporary villa into what appears to be a natural landscape. This includes contoured ground, rock outcrops, swimming lakes and planting. The intention…
lakeside garden
This contemporary villa sits in a rural setting on a lake near Ekatarinberg and included a private garden and sports complex. Towards the lake a series of water meadows offered…
homantin hillside
This complex podium landscape for a luxury residential apartment building in Hong Kong featuring a communal garden, penthouse terraces and rooftop pools was completed in 2016. The brief was to create…
italian garden
The house and garden were in a stunning location in the hills above Portofino with views along the coastline. The client wanted a garden with a comfortable, relaxed atmosphere that…
mediterranean garden
This impressive new house needed a garden to complement its modernist style and to connect it to the landscape beyond. With qualities reminiscent of the Mies van der Rohe Barcelona…