 |
MAY 23, 2012
|
Featured Content
|
What's New at Experts Exchange
>From the SLO and beyond
Nata's Corner
Do Not Track and a DROID
Borg
Why Facebook's IP didn't wow
Kudos
Extra thanks from members
|
Editor's Choice Articles
DATE/TIME and RegEx
Tip From The Mods
About the Object button
In Brief
Things you might have missed
Milestones
Who did what through May 19
|
What's New at E-E
|
Recent updates to EEv10: Experts Exchange has pushed the following updates to the site over the last couple of weeks:
- The scrolling issue with code snippets has been fixed; you will now see the scroll bar appear when a snippet is more than around 38 lines long.
- The Euro symbol is now appearing correctly in emails (if you're using that currency).
- Putting the search term "comments:0000" within the Custom Query part of Advanced search will now correctly only return questions with zero comments.
- When you vote if an Article is helpful or not, you'll now see messaging telling you how you voted.
Limericks: Our highly anonymous group of judges has announced the winners of our Limerick contest, each of whom will receive the fancy new Experts Exchange ball cap shown below. Many entrants submitted more than one; these are their best:
DanRollins
Your questions are answered for free! *
By the Experts who hang out at EE.
If you'll share some knowledge
That you learned in college.
* (or you can just pay a nominal fee)
|
mvdeveloper
Searching for answers in vain
I logged into Experts Exchange.
"A limerick contest,
With hats for the brightest?
These Experts are clearly deranged!"
|
ged325
The experts said to EE
To hell with the all of the tees
I have twenty-four
do with them something more
so wells were donated to charity
|
thedwill
if $hat < $wardrobe-exist
echo "Hat must be added to list!"
// Though my code may have errors
// I'll join other hat wearers
// EE Experts debug, please assist
|
BlueDevilFan
There once was a man from EE
Who went on an answering spree
The problems dissolved
As the questions he solved
The authors all shouted "Yipee!"
|
Gewgala
Oh how I love my EE
For all the solutions I see
Are saved with a click
They're stored just as slick
A knowledgebase tailored to me
|
sdwalker
You've opened the box of Pandora
And your code is all laid out before ya
Navigate to EE
Type your most earnest plea
And hope for the service of rorya
|
stone5150
I could not be any forlorner
When reading EE's "Nata's Corner"
I pine for her touch
But it's asking too much
Coz her other half's long past forsworn her
|
|
|
Split_Pin
A clueless young man named McBiddles
Had to reprogram computerized Fiddles
and with no-one to ask
'bout this bothersome task
He wrote to EE, Topic: "Riddles"
Now McBiddles is king of his floor
And his workmates all like him much more
>From clueless to great
After just a short wait
Thank his EE subscription, for sure
For a genius spotted his thread
A solution then spawned in his head
How hard can it be?
Here's your answer in C
and the error highlighted in Red!
Then McBiddle felt sorry for Sue
Who was stuck on the digi-kazoo
For a few dollars more
They now both feel less sore
Because now she's a subscriber too
Then word quickly spread cross the land
There are people who can lend a hand
For the cost of loose change
Write to Experts Exchange
And your boss won't have your hide tanned
So the point of my story is plain
There is plenty for your team to gain
If you're lost in your script
And you think you've been pipped
EE will help you stay sane
|
asavener
While IT problems can hurt
Experts Exchange will convert
All your woes to solutions
With a few contributions
By folks who get paid in tee shirts
|
|
Podcast: This is the time of year when, in the US, the broadcast networks finish up their shows for the summer and start up with re-runs and films you've already seen in cable, so in tribute, we're inviting you to take another listen to one of our first podcasts: the one that introduces you to four of our six Site Administrators: Eric Peterson, Patrick Matthews, Jason Levine and Mark Wills.
Expert profile: LSMConsulting is the focus of this week's interview by the EE staff, which is hoping he'll haul his barbecue across the country one of these days.
Guest blog: Experts Exchange front-end developer Jon King has some thoughts on what happened to all the color in the world of personal computing devices.
TED: In case you haven't heard, Experts Exchange is sponsoring a TED conference in September. We'll keep you up to date as details become available.
User group sponsorship: Over the years, Experts Exchange has sponsored the occasional user group meeting; now, you can get EE to help your user group by first taking a look at the short list of requirements and then filling out the application. EE will come up with up to $300 for your group, and will kick in six-month trial memberships for your group.
|
Kdo was in south Florida in April, spending some quality time bass fishing, and spotted an Army Corps of Engineers barge with an eerily familiar flag.
|
|
Kudos
|
back to top |
SRC-51 was looking for some assistance in planning a server upgrade, and got help from two of EE's best: RobWill and TechSoEasy: "Thanks Jeff on the grammatical inquiry...thanks Rob and went on to purchase from swingmigration.com....will see how thorough and hlepful but, in speaking with their tech Jeff, I am pretty confident it will help cover/prevent all pitfalls. Thanks to all for what always turns out to be world-class feedback and results."
Topic Advisor Qlemo was impressed with the way Jack2915 asked and responded in the latter's question about a NAT issue on a Juniper router: "I have to say it was a pleasure working with you. It is really rare you meet Askers you just need to drop some clue, and they know how to proceed. If there were a "rate the asker" option, I would use it here for sure."
|
No There There
|
back to top |
An editor by trade, a writer by avocation and an Expert by some cosmic practical joke, ericpete puts together the newsletter for Experts Exchange, which gives him the chance to say what he thinks.
We've been paying only marginal attention (not that it was avoidable) to the approach and aftermath of Facebook's IPO, mostly because our investment portfolio doesn't include dumping a pile of money into a company that doesn't seem particularly eager to share in the main benefit of owning its stock: profits. That's not to say Facebook doesn't make money, of course, but it is to say that like a good number of very large tech companies, the intent isn't to open the high-level management to pesky stockholders who expect tangible financial compensation (a dividend) for the use of their money; rather, owning Facebook shares is more like owning a professional basketball team in that you're going to lose money until you sell the team.
At least, that's what the numbers say. The New York Times Dealbook says that investors are paying about seven times too much for Facebook. Revenues equal out to about $1.20 or so a quarter per user; profits are about a fifth of that, so if you bought your thin little slice of the pie last week, it's going to take you about 40 years to break even. One of Slate's writers went so far as to say that in order to justify its valuation, Facebook needs to increase revenues by tenfold. Indeed, the market seemed to agree; the stock went up about ten percent -- well below the increases seen by LinkedIn, GroupOn and Zynga -- before giving it all back, and while it never fell below its opening price, it closed at a meagre 23 cents up, and wouldn't have been that high had not its underwriters propped it up.
We did take the time to watch Facebook's roadshow video (no longer available at its original location at facebook.retailroadshow.com/show/retail.html, but Technology Review has a nice summary if you're not into watching a half hour of Mark Zuckerberg and friends), and gleaned some interesting information from it -- a good portion of which seems to be fantasy created for the benefit of the people who think they're going to get rich by acquiring stock in what is quite possibly the next Yahoo, if not the next AOL or MySpace. If those names don't remind you how incredibly fickle Internet users are, then consider this: There may be over a billion Internet people in China and nearly another billion in India, but most of them can't afford what people are using Facebook to sell, and a lot of them can't afford to buy what Facebook is selling.
Some people are suggesting that Facebook is one big Ponzi scheme, which tells more about the people doing the suggesting than it does Facebook; a Ponzi scheme is robbing Peter to pay Paul writ large, and Facebook isn't doing that. The Wall St. Journal compared it to a shell game -- and the only people who aren't shying away from their interest are the true believers who appear in the roadshow video.
We grant that people connect with each other; that people want to share more than one aspect of their lives is also reasonable, and using technology to enable those interactions is certainly convenient. It's not the perfect medium by any means, as anyone who has written something that was met with disdain or outrage can attest, but something is better than nothing -- but that also doesn't mean they want to share it with Facebook. We greatly appreciate that Facebook recognizes its role as the enabler; it builds a simple, easy to use platform -- a "social graph", to use its term -- that makes it possible for people and groups of people to connect. When you apply that to hundreds of millions of users, it's going to get expensive to maintain in terms of reliability, and getting $16 billion from investors is a lot easier than trying to do it with current revenues.
And that's where Facebook is going to start running into issues. It's one thing to load 72kb photos, or even 4 mb photos; it's another entirely to load an animated advertisement that's designed for a specific browser with all kinds of tracking attached. Games loaded from within Facebook are fine when someone's paying to play just the game; they're another thing entirely when Facebook is collecting money from a developer that is going to have to eke out another few square inches to push his business into the black. It's great that people can play Farmville together; it's not so great when their computers bog down from all the information being sent and stored in the local memory of the computer.
The secondary issue with advertising is the nature of groups of people; we have to be a little suspicious of the numbers. For example, GM is one member, and it has more than the average of 140 or so "Friends" that the average account has. Last year, GM spent $10 million on the 300,000 or so friends it has (and presumably, all of their friends), but didn't see a return on its investment (spammers do a lot better). The essential thesis behind Facebook's advertising program is that if I like something and tell my friends, they're more likely to try it -- but that falls apart when it's some company telling my friends that I liked one of their posts (sure, I like the looks of a Cadillac Escalade, but that doesn't mean I'm ever going to buy one). Word of mouth isn't social; it's personal.
Word of mouth is also generally the result of a perceived negative experience. Think about it; how many times have you called 140 people to tell them what a great pizza you had last night? But it's a good bet that if the server brought it to you with a cigarette hanging out of his/her lip, you've told everyone you know -- and the tale of that one experience will cause more damage than any ten people who think that company's pizza was the greatest thing since... well... pizza. Facebook's sales pitch is based on the presumption that people tell the truth every time; Dr House will tell you differently -- and most advertising is at best a glossed-over, one-sided version of reality anyway; George Orwell called it the "rattling of swill in a bucket."
But mostly, for advertising to be social (in Facebook's terms), it has to engage; it has to be a two-way street, and that's not something either advertisers or Facebook is prepared to handle (there's evidence that Facebook doesn't engage its own customers very well). The people we know halfway decently could loosely be called "friends" because we have something in common, but that might not have anything to do with anything any advertiser might want to pitch to us. It might not cost the advertiser money (in terms of payments to Facebook) for an ad that's ignored -- but it does cost to produce it and get it into the queue. If it isn't clicked, the advertiser hasn't engaged; if it is clicked, the advertiser had better be ready with some kind of response that's more than a pretty website -- and that gets expensive too. One cannot imagine anyone trying to either create ads that will prompt a response from us and our 140 friends, any more than we can imagine anyone creating an ad that would enable "social engagement" from 300,000 friends and their 140 friends each, not to mention any of our 140 friends actually paying to tell us what they're doing.
The third issue with advertising is the one that has vexed Facebook for quite a while now: mobile. If, in fact, more and more people are using their iPhones and Droids to stay connected to each other, then what happens when the conversations (on Facebook or elsewhere) begin to get interrupted every fourth or tenth post by a "sponsored story"? We joined Experts Exchange a very long time ago, and the incentives to answer questions were twofold: to be able to ask questions, and to be able to avoid the ads. It's been a very long time since we saw an ad online that made us want to click on it.
Of course, all of that may be a moot point; it's not inconceivable that Mr Zuckerberg and his colleagues have done a great job of getting a lot of cash to do what they're going to do, while still retaining control of their project, if only because he has been pretty ambivalent about the whole money thing all the way along. He says, in the video, that he used advertising to rent more servers; the Facebook IPO could well be the logical conclusion. Given that a lot of early adopters are jumping ship and everyone else is finding [comparative] bargains, one has to wonder if maybe that was the plan all along.
Footnote: Proving once and for all that there's a sucker born every minute, on Monday, investors were looking for someone to blame -- but didn't look in the mirror.
|
Editor's Choice Articles
|
back to top |
DATE and TIME ... don't be scared, and do it right (the first time)
By angelIII
I presume you all have already worked with databases and queries, and found some difficulties to get the date/time stuff right. Though it's not rocket science, the purpose here is to teach you how to handle date and times, and to avoid implicit data type conversions.
NOTE: I refer to the versions MSSQL Server 7 through 2008, MySQL 4.x through 5.x and higher, and Oracle 8.x through 11.x, unless specified otherwise. Most of the information is version independent, though.
Read more...
Regular Expression Lookaround Demystified
By kaufmed
As most anyone who uses or has come across them can attest to, regular expressions (regex) are a complicated bit of magic. Packed so succinctly within their cryptic syntax lies a great deal of power. It's not the "take over the world" kind of power, at least not to the average programmer, but it is the kind of power that can be used to save numerous lines of code. One of more complicated regex tools I'd like to describe to you is that of lookaround. When executed properly, lookaround can supercharge your patterns to provide you pattern-matching capabilities otherwise achieved through numerous procedures and even more numerous lines of code.
Regular expression lookaround is not a glaringly simple concept when you first see it. For this reason, readers of this article should at least be familiar with regular expressions in general. EE contributor BatuhanCetin has written a nice introduction to regular expressions here: Regular Expressions Starter Guide.
Read more...
|
Nata's Corner
|
back to top |
 From Sophos: spam and a scam that have to be connected.
When I use Experts Exchange, I'm a lot like most people who use the site regularly: I look for answers to my questions first, before I actually ask a question. Since I'm not a programmer or developer or anything like that, I really don't have a lot of complicated "how to" questions, and when it gets down to it, most of my problems are about things that a lot of other computer users have trouble with. One of those a few years back was about replacing my anti-virus software, and at the time, the smart folks in the topic areas there were recommending AVG's free version for those of us who don't want to pay for something before we find out it isn't what we want.
AVG just pushed an update to its free version (and probably its paid version) that includes a Do Not Track system that lets you decide, for each website you visit, whether you want to let the website collect data. The bad news: at this point, the only browsers supported are IE, Firefox and Chrome. Of course, it doesn't mean that some ad network can't try to track you, but it does mean that you can block them, and you can send to them (automatically) a Do Not Track message. Good thing, too, because even Twitter is tracking you if there's a Tweet button on the page.
Most of the people who read this newsletter and this column can probably set up their computers; you know -- the stuff like installing an antivirus program or setting up your email accounts. But there are a lot of people who have problems with that (good thing, too, or a lot of us might be out of work), and a good number of them go to Best Buy. But do your aunt Susie a favor, and wait until they've changed the form they use when doing so, because for a long time, they've been collecting passwords.
It's probably no surprise to anyone that cell phone cybercrimes are on the upswing, and it's probably less of a surprise that identity theft and phony job schemes are among the leading types of crime. The one that surprised me was "romance" scams that cost the average victim over twice the amount of money. I'm not as surprised that Washington, DC, has the highest amount of loss per capita; after all, there are those people in Congress that have been scamming and stealing for generations... Did I say that? Must be the primary election that's coming up.
Speaking of which... I've complained a few times about Verizon and my Droid phone, most of the time because where we live, there's no Verizon cell tower, so the signal piggybacks on the network of a smaller company, and sometimes, it seems like when that network's customers are making a lot of calls, we get bumped. Not that we use our cell phones a lot, but it's a little annoying to read that if and when we upgrade, we won't get our real unlimited data plan (I can see the other half using his Palm Pre seven years from now because of it), but that's not what really has me bothered.
A couple of weeks ago, I started getting messages about my Facebook password and account, and it seemed to be related to uploading photos taken with the phone to Facebook. Then yesterday, all of the people on my Facebook wall showed up on my phone. Since most of them are relatives I haven't seen in years, it isn't that bad, but then I saw an item yesterday about Facebooks new -- again -- privacy rules. Among other things: even if you hide virtually everything about yourself on Facebook, it still can be passed to advertisers (and we all know that deleting anything on Facebook doesn't really delete it). Also, if you use your mobile device to log into Facebook, they know where you are -- and you can bet that the ads you'll see will be influenced by that. Given the ability of GPS systems to figure out how far you are from the green, the only place you'll have any privacy is probably the bathroom -- and don't bet on that.
|
In Brief
|
back to top |
What goes around, comes around: AOL has put TechCrunch and Engadet up for sale. You'll love the disclaimers -- and the denials. Also, Mozilla and Google say Microsoft is being a monopoly.
The Oracle-Google tote board:: Just as we were hitting our deadline a couple of weeks ago, the word came out that the jury in the copyright/patent infringement lawsuit had decided that while Google had infringed on Oracle copyrights, it wasn't clear on whether Google's use of Oracle's Java APIs was so egregious as to warrant millions of dollars. Google, hoping to get out of the mess sooner rather than later, asked for a mistrial. Then there was that whole Facebook thing that shoved the trial off the front pages, but that didn't stop the wheels of justice from grinding:
- May 8: Phase 2 of the trial -- patent infringement -- starts. One fly in Oracle's ointment: one of the patents was recently rejected by the USPTO -- but the jury doesn't know that.
- May 9: Since the jury couldn't decide, Oracle asked the judge to rule on Google's use of the APIs; he declined.
- May 10: Google VP Andy Rubin said he ducked most of the questions when Oracle's lawyers asked him about Oracle's Java patents. Google is also pushing to drop the damages phase of the trial. Surprise, surprise.
- May 11: Remember how the judge didn't want to decide what the jury hadn't on Monday? He changed his mind and ruled that Google had infringed on Oracle's copyrights.
- May 14: The judge told Oracle that while he didn't like it much, he was going to allow it to try to convince the jury that it should receive more than statutory damages for Google's infringements.
- May 15: More of the same: since Oracle and Google will be making their cases to the jury, the judge reminded Oracle -- again -- that it could wind up with a verdict and no money.
At least one reporter thinks that Google's recently sullied image as an evil empire is getting a makeover. The two companies struck a deal on copyrights, but it leaves the door open for appeals.
- May 16: The jury started its musings.
- May 17: While they were away, jurors didn't get to hear the judge tell Oracle that the code at the center of the lawsuit is so simple a high school kid could write it.
- May 18: Another one [juror] bites the dust.
So where to on Monday? That depends on how despearate Oracle is...
The next big thing: When we came across a story about the Data Killer, a device that instantly wipes the data from a hard drive, we knew it was something like the Pet Rock or Low Calorie Water, so we are hereby soliciting investors in our next venture: repurposing the products made by the Wilton Tool Company. We already have the problem of scale licked.
Wild blue yonder: The launch of SpaceX's Dragon spacecraft aborted Saturday morning; it was more successful Tuesday.
YahOoops: Maybe we should just come up with some boilerplate for this one: Yahoo has another new CEO.
Welcome to our world: The British government is planning legislation that would monitor all Internet activity.
Sounds like a lawsuit to me: We noted last issue about Dajaz1.com, the site that was seized and held for a year before being returned with no charges filed. We also suggested that attorneys would be involved.
In requiem: If you grew up in the 1960s, you probably knew someone who wanted one of Carroll Shelby's cars. Also, Moore's Law -- maybe. Using a shovel: Digg.
All's fair in love and war: Hackers posted the details of 55,000 Twitter accounts that belong to spammers.
Put your money on red: Nevada is letting Google test drive autonomous cars that will have special red license plates. They're already being tested in Washington, DC and we've heard of no mishaps yet, but we assume Google hasn't figured out a way to differentiate between politicians, bureaucrats, lobbyists and the rest of the population.
Signs of the Apocalypse: Teaching a cat how to use the CAPS LOCK key. Also, the Facebook IPO is likely to help cure some of California's budget problems. Two weeks after Microsoft shut down its Office Live service for small businesses, it got the Los Angeles Community College District to sign up for its .edu service.
|
Milestones
|
back to top |
New Savant: Ray_Paseur has become the tenth member of Experts Exchange to earn 10,000,000 points in a single topic area. He reached the plateau in PHP.
New Genius: Earning his first Genius certificate was iSiek; he has earned over 1,000,000 points in the Windows 2008 Server topic area.
Milestones:
- Idle_Mind has earned 13,000,000 points since joining Experts Exchange in 2003.
- LSMConsulting, who has reached the 8,000,000 point level in Microsoft Access topic area, is third all time on the Access list.
- hanccocka, the runaway leader in points earned in 2012, has picked up his 6,000,000th point in the VMware topic area.
- woolmilkporc has brought to 68 the number of Experts Exchange members who have earned 6,000,000 points overall.
- dariusg has earned 2,000,000 points in both the Windows 2008 Server and Windows 2003 Server topic areas.
- giltjr has been awarded over 5,000,000 points in his career at Experts Exchange.
|
Expert |
In Topic Area |
Certificate |
cubaman_24 | .NET Programming | Master |
minhvc | .NET Programming | Master |
TerryAtOpus | .NET Programming | Master |
rkworlds | .NET Programming | Wizard |
motnahp00 | Active Directory | Master |
Vulturous | Adobe Flex | Master |
maximus5328 | Apple Networking | Master |
sammySeltzer | ASP.NET | Guru |
ambience | ASP.NET | Master |
shahzoor | Backup / Restore | Guru |
RobWill | Backup / Restore | Master |
jason1178 | Blogs | Guru |
abhinayp86 | C# | Master |
Cyclops3590 | Cisco PIX/ASA | Wizard |
ansudhindra | ColdFusion Language | Master |
Ray_Paseur | CSS | Guru |
basicinstinct | CSS | Master |
dragon-it | DHCP | Master |
amitkulshrestha | Email Servers | Master |
DaveBaldwin | Email Servers | Master |
limjianan | Email Servers | Master |
sjef_bosman | Email Servers | Master |
Julian123 | Exchange | Guru |
abdulalikhan | Exchange | Master |
g4ugm | Exchange | Master |
jmillerick | Exchange | Master |
MASQUERAID | Hardware Components | Guru |
nickg5 | Hot URLs | Master |
rrz@871311 | HTML | Master |
mccarl | J2EE | Master |
dravidnsr | J2EE | Wizard |
dravidnsr | Java | Wizard |
DanRollins | JavaScript | Guru |
kiranvj | JavaScript | Guru |
noxcho | Laptops/Notebooks | Master |
Darr247 | Linux | Master |
_jesper_ | Linux Networking | Master |
duncan_roe | Linux Setup | Guru |
AlexPace | Microsoft IIS Web Server | Master |
iSiek | Microsoft OS | Guru |
acbrown2010 | Microsoft OS | Master |
cgaliher | Microsoft OS | Master |
motnahp00 | Microsoft OS | Master |
hnasr | Misc Databases | Master |
nazsky | Misc Networking | Master |
ve3ofa | Misc Web Dev | Guru |
Michael-Best | Miscellaneous | Guru |
acperkins | MS Access | Guru |
Badotz | MS Access | Guru |
vadimrapp1 | MS Applications | Master |
JamesBurger | MS Development | Master |
redmondb | MS Excel | Sage |
mkhairy | MS Forefront-ISA | Master |
|
Expert |
In Topic Area |
Certificate
|
redmondb | MS Office | Master |
mpfister | MS Server OS | Master |
lludden | MS SQL Server | Guru |
rorya | MS SQL Server | Master |
jogos | MS SQL Server | Sage |
Olaf_Doschke | MS SQL Server 2005 | Master |
martenrune | MS SQL Server 2008 | Guru |
SJCFL-Admin | MS SQL Server 2008 | Master |
ryanmccauley | MS SQL Server 2008 | Sage |
captainreiss | MS Word | Master |
giltjr | Network Management | Guru |
hanccocka | Network Operations | Master |
rigan123 | Network Operations | Master |
Netflo | Outlook | Master |
Sulimanw | Outlook | Master |
BillDL | Outlook Express-Windows Live | Guru |
MunterMan | PHP | Guru |
Proculopsis | PHP | Master |
un1x86 | PHP | Master |
Ray_Paseur | PHP | Savant |
kaufmed | PHP | Wizard |
bchallis | Powershell | Master |
burrcm | Printers | Master |
TempDBA | Query Syntax | Master |
pratima_mcs | Query Syntax | Wizard |
diprajbasu | Routers | Master |
koudry | Routers | Master |
pergr | Routers | Master |
kevinhsieh | SBS Small Business Server | Master |
Paranormastic | SBS Small Business Server | Master |
SThaya | SSRS SQL Reporting Svc | Master |
boag2000 | Visual Basic.NET | Master |
ve3ofa | Web Browsers | Guru |
mplungjan | Web Languages/Standards | Sage |
jjmck | Windows 2003 Server | Guru |
motnahp00 | Windows 2003 Server | Master |
strivoli | Windows 2003 Server | Master |
leew | Windows 2011 Server | Master |
als315 | Windows 7 | Master |
Anuroopsundd | Windows 7 | Master |
David-Howard | Windows 7 | Master |
footech | Windows 7 | Master |
motnahp00 | Windows 7 | Master |
oBdA | Windows 7 | Master |
kevinhsieh | Windows Networking | Master |
iSiek | Windows Server 2008 | Genius |
ChiefIT | Windows Server 2008 | Guru |
mark_wills | Windows Server 2008 | Master |
SuperTaco | Windows Server 2008 | Master |
Run5k | Windows Vista | Master |
craigbeck | Wireless Hardware | Guru |
Ray_Paseur | XML | Sage |
|
|