text:
Abandon All Hope, Ye Who Enter Here
I couldn't think of anything I felt like covering this week.
And yes, that includes both the trial for Alicesoft's DQ clone and SHChara's "Let's Make a Mobile Phone Restaurant Game But As a Pornographic VN On PC!" release. It could stand to have a shorter title. I guess I'll just ramble about some stuff and open up the Bunny Black and Prism Ark forums with lists of the remaining work on the off chance that anybody wants to actually address existing issues. It happened one time with GA and BBA. Apparently my glory days are past though. Doddler's made big strides lately in PA's script text (some 7 months or so after I put it on the backburner) and it now displays that correctly, which just leaves… all other text and the entire interface still missing functional tools.
BB1, on the other hand, is my bitch as far as tools go. As I've mentioned, though, I don't particularly like as a game, and even less so after the nightmare that was its interface issues. I think it'd be better to release it once BB2 is approaching a state of ready since that's a far better game and script and set of characters etc etc, but BB1's interface was enough of a slog and migraine that I moved onto something else instead (not expecting PA to make its return either) and am now waist deep in that and nearing the point where I really need to start working on another behemoth of an interface so people can start editing it and finding errors needing fixing. I already know at least two or three! If the rest of the interface work for BB1 were complete though, I'd be fine spitting it out there for the world, edited by one person as it is. Perhaps it can be my return to the abandoned April 1st tradition.
Let's go over the thrilling joyride that is the internals of a Softhouse Chara game (at least all the ones I've opened up and looked at), and let this be a cautionary tale to anybody else who ever gets the urge to work on one, and keep in mind that this doesn't count the literally hundreds of different interface panels and buttons. That's 'uncomplicated' (barring the over-designed gem buttons), just tedious. SLC made a relatively solid tool for opening up their vfs archiving format, although I know it does spit out Suzukuri Dragon's scripts into a fairly unusable format. SHChara games do have some English issues with handling English text though, so I know he did a bunch of internal massaging to make sure they were handling single width characters correctly (both for display and for not expected them to be the size of double width ones for window size formatting and the like), but I prefer just to think about it as magic. It also works pretty well for repacking the archives with one significant exception, but we'll get to that eventually.
The scripts themselves are actually pretty easy. Within the box file, they're further separated into additional boxes, grouped in various ways. For example, in BB's case, all the 'rest' events are grouped into the three 'ie' (家) boxes, with a few scripts in each box. The 'hh' boxes contain the main questlines for the characters, eg hh01 is all of Cass's events, hh03 is all of Ayaka's events, etc. The main thing of note is that the 'zz' boxes contain all the gallery scripts, and because Japan VNs are often ridiculous like this (see also Duel Savior and Daibanchou), gallery replays are separate from the scenes that they're replays of, so all that text is duplicated in two places. However, there's also some command tags in there for… music I think… which are absolute references in the galleries, but relative references in the scenes (I may have that backwards), so no raw copy pasting for you!
All in all though, the scripts are pretty boring and relatively easy to handle, especially compared to the rest. The linebreak character is even just a linebreak (so is '|'), so I don't even need to do any pre/post processing to get it into a format where I can actually eyeball how it's displayed. The only major thing of note is that they do include some game functions too. For example, the init script contains this behemoth of a line:
\x72 1 "ini01.box" \x72 2 "ini02.box" \x72 3 "ini03.box" \x72 5 "ini05.box" \x72 10 "ini10.box" \x72 11 "ini11.box" \x72 12 "ini12.box" \x72 15 "ini15.box" \x72 16 "ini16.box" \x72 17 "ini17.box" \x72 18 "ini18.box" \x0A\x02\x01\x90 0 \x0A\x02\x00\x0A 1000 \x0A\x02\x00\x14 0 \x0A\x02\x00\x15 0 \xBC 1 0 4 \xBD 0 "Edged Weapons" 1 0 \xBD 0 "Blunt Weapons" 1 0 \xBD 0 "Ranged Weapons" 1 0 \x83\x84\x00 101 0 \x00\x00\x00\x87 101 \x00\x83\x84\x00 1300 0 \x00\x00\x00\x87 1300 \x00\x0A\x12\x00\x00 5 \x1A\x01\x07\x44\x03\x20\x84\x01\x01\x0E :1E9: \x0A\x02\x03\x1C 20 \x18 :1F2:
That defines various initial stats, including cash (1000), skill points (5), and the levels of three default skills. There are a bunch of these type of things all over, controlling various game states for quests or triggers for maps. There are some that I've been tempted to mess with because certain quests are… just awful… but the slog of other things robbed my will to go a'tweaking.
Speaking of tweaking and slogs, the obj file. This is basically a catch-all for all the gameplay strings; unit descriptions, mission text, item text, dungeon structure, treasure drops, enemy party formations, skills, so on and so forth. And it is a nightmare in a can. For one, there's no tool I know of that will correctly repack it. Apparently it's different. Thankfully, the exe will just load from an obj folder if you put the contents in it, but that's just a teaser. Those data files are also in a different format than the others, requiring their own tool (by Doddler) to unpack and repack. It also doesn't help that certain objects, such as units, are saved in the save file itself after being created. So if a unit is originally spawned with a working ability (unique passive skill), they will ALWAYS have a working ability. If it's broken on spawn, it will never work. Ever. That's why Darx's name is untranslated in every screenshot too. Oh, and for some reason, for obj strings, when it reaches the maximum number of characters on a line, it automatically inserts a linebreak. So if the char limit for that field is 16, the string needs to look like: "This is a samplestring that has|text in it." For it to be properly formatted with a single linebreak between "sample" and "string" and "has" and "text." If you did something like: "This is a sample|string that has |text in it.", that would result in two linebreaks between both "sample" and "string", and "has" and "text". Thank god I know how to script text processing to handle that stuff automatically. But wait, there's more!
First, they're full of massively redundant text. The missions, for example, every single mission is unique. Oh, sure, that "map 40% of the floor" mission for floor X has the same text as the one for floor Y, but that's just copy and pasted. They're all defined individually. At first, I saw this as an opportunity to have some fun. That faded with 410 missions and only about 30 unique ones among them. There's a similar thing with units, only somehow even stupider. Most units come in 2-3 different palette swaps, all with identical descriptions and names. The only difference in the unit file is the ID (different from the name), which is used elsewhere for base stats/level/skills. I imagine they all have the same name because at the same level, they have the same stats, but that makes it confusing as hell when you're fighting them as enemies because the only visual difference is the palette. That is something that I did tweak, although I'm sure some people will mistakenly hire/replace their own units under the mistaken belief that the 'higher' ones are different in any way other than base level.
One particularly insidious and obnoxious part of the obj files is that a lot of the time, but not always, the ID is also used in some way as a displayable string, which means that if you change it, you also need to change all the references to it, no matter where they are, the init script file, some skill definition, the exe, etc. This first came up with elemental types, which needed to be updated in the exe (I'll get to that shortly), but skill types also fell under this. Another example involves skills. They're generally split into the ID category and then the name for the usable skill. For Darx, the ID Category is used as the overall skill name, but for all NPC skills, the ID is never displayed anywhere, just the usable skill. Except for healing skills. They share the complete definition for those with Darx, so you need to go through the unit definitions file and update the ID for all monster healing skills to match the ID for Darx's healing skills. Otherwise, they just never get them.
Speaking of which, another change I made that because I found their implementation incomprehensible was to the way that usable skill works. As you level up Darx's skills, every now and then, the usable skill associated with that (originally often the same named skill) will occasionally 'change' to another one. Except that for every skill except for the top level magical ones, it 'changed' to a skill with the exact same name, but a different sound associated with the attack. eg, if you leveled Edged Weapons from 9 to 10, Slash would change to Slash, but it'd play fe001.wav instead of fe000.wav. I… just went ahead and gave them all unique names like the top level magic ones have. It's something I just find the whole thing completely incomprehensible. There's even part of the interface saying "THIS IS WHAT THE SKILL WILL CHANGE TO." Then again, Kamidori had multiple fields in its various status menus that literally did nothing whatsoever, which is a trait that BB shares with it, but this time, I was able to cleanly just erase it. Japanese RPG VN QC has not impressed me.
The best of all the obj files, though, is tone. And by best, I mean of course, the worst. Perhaps the stupidest, most incomprehensible part of BB1 is the way it handles treasure drops. Enemies drop locked chests, which you then have to take back and either pay to open at the shop, or you can take a skill and open them yourself, whereupon you're thrust into what can only be loosely called a minigame where you have to guess what kind of trap the chest has while various party members shout out their guesses. Get it wrong, and it generally blows up in your face and causes a bunch of monetary damage. For the life of me, I cannot fathom any kind of pattern or accuracy to the guesses. You can just save-scum it, but it's just an incomprehensibly awful piece of 'game.' Anyway, the tone file controls their guess text. Each kind of party member has around six different synonyms for "guess" and then ten more possible things to say (there is a bunch of duplication both internally and externally), along with the type of trap, all mashed together into something that may or may not pass for a sentence. It's… a mess of sentence chunks, mostly haphazardly mashed together with mainly hope.
And then there's the exe. A bunch of important strings are tucked away in the exe, thankfully just sitting out in the open (although in Unicode instead of the usual Shift-JIS). A lot of them are displayable text (battle results, save info, passive skill IDs, elemental types, help popups, etc), which share double duty as IDs as mentioned above. Which means that they need to be updated too or things start breaking. Doddler wrote a bit on manually editing strings in the exe, but thankfully eventually wrote a tool to do that automatically. The only issue is that every string needs to be addressed (eg 0x7518c:Ranged Weapons). And there are another few hundred of these, so… Oh, and if the string is used in more than one place, like elementals or certain popups, then that needs to be specially handled too or it'll just be updating one pointer. Which one? Who knows!
And that is how a ~6 week script translation turned into a ~3 month quagmire. I have no love lost for BB1 at this point, and still wouldn't put it in SHChara's top 5 games, behind at least a couple I've only played the demos for, but forewarned is forearmed for BB2 and I've prodded at it enough to be confident things are in working order. Like TWINS was to TWAIN, BB2 is the one I really wanted to do anyway, it just felt dumb to start in the middle, and BB1's script was short enough. How wrong I was about the rest of the interface stuff. Unlike BB1's fairly unstructured "do random crap on some floor," it's actually structured as a real dungeon crawler where you go through dungeons from top to bottom with an actual story driving it the whole way, along with adding a bunch of uberbitch angels as antagonists to be tamed, snarky maids running around, and an actual overall plot (reminiscient in its final span of GA of all things). It still has its own share of problems, especially in the "rape anything enough and it'll fall in love with you" department, but even above and beyond the stronger cast and better focused story, it does cut out a whole lot of the obnoxious chaff from BB1 in the form of vastly simplifying skills/items into sort of one singular thing, doing away with the chest crap entirely and looks just generally slicker all around… before BB3 goes back and adds a bunch of chaff. I have no idea when I'll get to it though, but I did mostly enjoy the script parts of BB, even if the rest was a tedious grind.
Or maybe someone will fix Suzukuri Dragon's tools and I'll get distracted by that instead.
…Some time after I finish all the other things I'm now drowning in… Oi…
Posted in Bunny Black | 9 Comments »
squirreldestroyer says:
What ever happened to that banner contest?
Aroduc says:
Let's put it this way, I won't ever be doing that again.
Moondrag says:
Ah, I remember playing though Bunny Black…I think I stopped right before a "point of no return"…my god, that game had problems.
Fuwaa says:
Fun game if you avoided the rumor quests and savescummed chest opening and item identification or just sell the chests and buy from the store.
Second game was much better though, at least the game part. Is there a way to replace the creatures from 1 with the tweaked versions in 2?
Rz says:
Based from your explanation, the BB1 seems very complicated.
When I played it way back then. I did same as Fuwaa above. Sell the useles items without thinking, gave Darks some strong AOE magics, all pt members must have a healing magic, and pretty much we can clear the game fast, since the plot is quite linear.
Although with my limit of Japs language, I can only understand 60%-70% of story though.
Anyway,,
Do you playing the Akuma Musume yet?
At last I'm able to set to heroine route in my 3rd playthrough. Pretty tough to grind those recipes.
Aroduc, you might have saw this already, but there is scene about Kozerotte and the several Darks's daughters in Akuma Musume.
http://i.imgur.com/kScHA96.jpg.
Pic related
Rebyc says:
Hi aroduc about your link to Suzuraki dragon and not having usable output from it seems to work fine in both word and notepad http://imgur.com/ZtdtgIi .
Is that because the tool was updated three weeks later specifically in response to me saying that and pointing out a number of other issues?
Perhaps, but something we may only know for sure if wiki pages had a history record in their upper right corner.
Nope cause I made a crappy Machine translation two years ago http://www.hongfire.com/forum/showthread.php/418464-Suzukuri-Dragon-crude-partial-interface-translation was the same then.


Look at the difference in just two months!!
Carter was born on July 31st, 2009 at exactly 9:00pm. He was 8 lbs 6 oz and 21 inches long. My labor was absolutely wonderful, and I'm so thankful for modern medicine. I only pushed for about 20-25 minutes, and was laughing thru the whole labor. My doctor actually had to tell me to stop laughing and push. Steven was so excited, and I couldn't help but giggle at him.
Carter cried for just a couple of seconds, and then decided that it was much more exciting to look around the room at all of his family who had come to meet him. Besides being a little jaundiced, he was born very healthy. He has been sleeping thru the night (6 hour stretches) for quite a while now, and sleeping in his crib since he was 2 weeks old.
Steve finally has a job, two actually, after 11 months of unemployment!! We are SO thankful for everything we have. Times are tough for everyone, and we're just glad to have a warm place to sleep and a little food in our bellies. Our new ward is fantastic, and every neighbor we meet is so inviting and sweet. I just wish I could start setting up play dates so Carter can make little friends for himself!
Yep....those are teeth. Doctor confirmed it. eek!
His neck is so strong already!! He can sit like this forever!
I just love this new little church outfit!


text:
From Susan O:
I often start the day by posting a significant event of the day on Twitter--from Benjamin opening the first subscription library on Nov. 8, 1731 to six-year-old Ruby Bridges integrating William Frantz Public School in New Orleans in November 1960. Ruby told Robert Coles "I knew I was just Ruby, just Ruby trying to go to school...the Ruby who had to do it" Today is November 19, 2013, and let's think about Joe Hill who died by firing squad on Nov. 19, 1915
by Susan Ohanian Each version of this famous labor song gives information you're unlikely to find in the Common Core.
1.1915 Joe Hill faced firing squad. Hear Paul Robeson singing "Joe Hill"
2. "Takes more than guns to kill a man" Says Joe "I didn't die" Says Joe "I didn't die": Joan Baez
3. I dreamed I saw Joe Hill last night, alive as you and me. Says I "But Joe, you're ten years dead" "I never died," says he. Pete Seeger
4. Now, the strikes were bloody and the strikes
Were black as hard as they were long
In the dark of night Joe would stay awake and write
In the morning he would raise them with a song
In the morning he would raise them with a song
Paul Ochs
5. Joe McCutcheon explains why he sang "Joe Hill" in Australia. . . and sings the song. Here is the transcript.
6. 1960 Paul Robeson sings labor songs for workers at Sydney Opera House, including "Joe Hill." Joe Hill & Mother Jones put their lives right on the line... Are those days forgotten, Or will some of us dare to be another link in the chain?
Judy Rabinowitz 12:37 PM
Thanks for sharing Susan.
Keep on blogging :)

redpajama_set_name: RedPajamaCommonCrawl


text:
RATIONAL RESISTANCE
[Start Here]
CLICK FOR THE LATEST
What's The Deal With Trump Followers?
Constitutional Originalism's Conceited Intent
Can We Blame The Internet For Political Polarization?
Cartoon: Baby Donald's Budget Priorities
Russian Election-Hacking Bingo, Conspiracies For Liberals
Paul Ryan's Priority. Hint: It's Not Affordable Health Care
Don't Force 'Sanctuary Cities' To Do Fed's Job
With 'Fatal Conceit,' Speaker Paul Ryan Fails Insurance 101
Republicans Cannot 'Solve' Health Care In Good Faith
Wiretapping Trump's Reality Detachment, One Tweet At A Time
FROM FOLLY WHACK
Does The President Have To Be Sworn In With A Bible?
Shifting The Burden Of Proof, And Unfalsifiable Claims
Reverse Racism Is Not A Thing
Paradox Of Tolerance: Can You Be Intolerant Of Intolerance?
8 Human Follies Of The Religious God-Fearing Variety
The Left Call
Previous presidents, whether you agreed with them or not, all operated within the normal range of American political discourse. Maybe some tested that range, but they still had the ability to be civil and comforting when the country needed it. You know what needs to be "great again"? The American President. ...
How A President Leads
Biden is the clear choice when it comes to compassionate and decent leadership. In a battle of heart, mind, and character Joe Biden wins by a landslide. We n...
leftcall.com
Five years ago when Donald Trump road that escalator and announced his candidacy, everyone including most people who are now Trump-for-lifers, believed it was a stunt, and he was clearly unqualifie...
Is Trump Trying To Win? Because It's Not Clear To Me
In the week after the two conventions, Donald Trump is suffering from an existential crisis of candidacy, something you'd expect to happen during primary season, resulting in an exit from the race. The only problem for Trump is that he actually won the Republican primary and was nominated by his party to be our next president. So what else can explain Trump's post-convention failings? Is it just Trump being Trump? I guess for most of his supporters nothing has changed, save for the "lamestream media" being unfair to their candidate, as they'd like us to believe. His supporters have already established that in their minds Trump can do no wrong, and some actually say this out-loud. The problem for Trump, however, is that he needs to win over people less inclined to believe he can do no wrong, and he is failing miserably.
∼ Continue Reading ∼
Obama Sees Modest Post-Convention Bounce, Chance of Winning Near 80 Percent
President Obama is seeing a modest bump in initial polls since the conclusion of the Democratic National Convention. Both his approval rating and lead over Mitt Romney have increased. This is after Romney saw a modest bump after the RNC.
28 Quotes from President Obama's DNC Acceptance Speech
President Obama delivered what started out as a safe speech but turned into an optimistic vision for America's future. People don't want to be told what is wrong with America, they want a leader to tell them what is right with America. And they want a leader to tell them how we can make things better. Obama's speech was a renewed message of hope and change but this time he said that change was not him, it was us, and he challenged all of us to strive to make this country better for future generations, just as generations did before us.
DNC – Bill Clinton's Evisceration of Mitt Romney, Paul Ryan and Republicans
Last night at the Democratic National Convention, Romney campaign lies met with a smooth talkin' boy from Arkansas, former President Bill Clinton, and the result was a political smack-down broadcast live to millions of Americans. — Here are five Romney-Ryan-Republican lies turned to dust:
DNC – Two Resonating Quotes from Elizabeth Warren's Speech
Elizabeth Warren is a financial expert, particularly in bankruptcy law. She is also a consumer advocate and a Senate candidate for the state of Massachusetts. But most importantly, Elizabeth Warren is a champion for the average low and middle-income American. She is right to say the system is rigged. Rich and powerful interests have greater access to our elected officials and that leads to legislation that favors narrow agendas. The people who already have everything get even more and the people who have little or nothing continue to be overlooked. As Jon Stewart put it, "Poor people have shitty lobbyists." — Here are two resonating quotes from Elizabeth Warren's Democratic National Convention speech:
Did Clinton's DNC Speech Win President Obama a Second Term?
Former President Bill Clinton delivered a lengthy, issue-specific speech and he did so in a way that was both entertaining as well as informative. His speech delivered much needed context on the economy and President Obama's record after the Great Recession, and it destroyed Republican lies and out of context talking points.
President Bill Clinton's DNC Speech Makes Him the FactChecker-in-Chief
Former President Bill Clinton delivered a 50 minute substantive speech that thoroughly explained how we got here and where we are going if we elect President Obama to a second term — an economy built for the future. Along the way he eviscerated some of the biggest Republican lies over the past few weeks (and years). Lies like the $716 billion Medicare cuts [savings] and the welfare work requirement. Issue after issue, President Clinton delivered the clear honest truth to Americans and he even re-appropriated President Reagan's famous line when he said of Republicans, "there they go again." In his own unique style, Clinton reminded us why he was a two-term president and why he is such a popular former president.
LEAN FORWARD: MSNBC Tops Cable News Ratings on First Night of DNC
NBC Universal put out a press release today that shows MSNBC had its first #1 night of prime time cable news coverage in its 16-year existence. MSNBC averaged 2.35 million viewers from 7pm to 2am. They hit their high for the night at 4.1 million viewers during the 10pm hour when First Lady Michelle Obama delivered her speech to the convention crowd.
DNC – Notable Passages from First Lady Michelle Obama's Speech
First Lady Michelle Obama delivered a heartfelt speech mostly neutral on policies, but there were a few specific mentions of first-term achievements as well as lines that spoke in contrast to Republican National Convention speeches. But the most politically effective lines in the speech were also the most personal when she described a caring human being, a loving husband and a devoted father called Barack Obama. She drove home a message that you cannot separate what makes Barack Obama the man and Barack Obama the president. This is a direct appeal to the fact that a large majority of Americans like President Obama as a person even if they don't agree with him on the economy or other policies.
Petition – Democrats: Ask Betty White to Introduce President Obama at the DNC
There's a new petition on change.org that's getting some press today. The petition asks Democrats to consider Betty White to introduce President Obama at the Democratic National Convention.
Offering an essential perspective on far-reaching social, economic, and political issues, The Left Call seeks to awaken the American Left, with a growing audience reaching thousands every month.
Incisive American Left commentary, delivered to your inbox:
Follow @TheLeftCall
Constitutional Originalism's Conceited Intent
Cartoon: Baby Donald's Budget Priorities
Paul Ryan's Priority. Hint: It's Not Affordable Health Care
Don't Force 'Sanctuary Cities' To Do Fed's Job
With 'Fatal Conceit,' Speaker Paul Ryan Fails Insurance 101
Republicans Cannot 'Solve' Health Care In Good Faith
Wiretapping Trump's Reality Detachment, One Tweet At A Time
ACLU: Transgender 101: A Glossary Of Terms
Counterview: Trump's Cynical Exploitation Of Navy SEAL's Wife
FOLLY WHACK
The latest posts from our content partner.
On January 20, 2017, with his right hand raised and left hand on a Bible, Donald J. Trump will take the oath of office as stipulated by Article II, Se…
"Shifting the burden of proof" is when one party makes an unconfirmed assertion, while putting the burden to disprove the assertion on another party.…
Reverse racism could be described as racial discrimination against a majority race, that is, if we chose to legitimize a term that isn't really a thin…
The paradox of tolerance is when a person of tolerance holds a negative, combative, or hostile stance toward intolerance. In other words, the tolerant…
© 2010-2021 The Left Call
Write for LC


text:
Q: separate the cloudfront function in serverless framework Serverless framework: 2.x
Below code works well.
Unlike lambda function, can't add cloudfront function in separate file in sls. Is there any way to move the functions into separate file.
serverless.yml file
resources:
  Resources:
    CloudFrontFunction:
      Type: AWS::CloudFront::Function
      Properties:
        Name: 'CloudfrontFnInSls'
        AutoPublish: true
        FunctionConfig:
          Comment: 'Hellworld function'
          Runtime: cloudfront-js-1.0
        FunctionCode:
          Fn::Sub:
            - |
              function handler(event) {
                console.log('my handler');
                return return event.request;
              }

redpajama_set_name: RedPajamaStackExchange


text:
Q: Writing progress for worker threads reading from a queue I have a bunch of python threads reading from a queue, a-la https://gist.github.com/bsphere/f1e0a7d033dab2871c5c. I want to display progress every 10 seconds. This is the best I found till now, is there anything less verbose and more pythonic?
Edit: Sorry I wasn't clear - I'm not interested in a nice UI, I'm just interested in how do I interact with the threads correctly with no concurrency bugs to write the progress from the main thread while waiting for the workers to complete..
threads = []
for i in xrange(NUMBER_OF_WORKERS):
    t = MyThread()
    threads.append(t)
    t.start()
live_threads = True
while live_threads:
    live_threads = False
    for t in threads:
        t.join(10)
        if t.isAlive():
            live_threads = True
            break
    logger.info("queue size: %s", q.qsize())


text:
Пыряево — деревня в Шекснинском районе Вологодской области.

Входит в состав сельского поселения Сиземского (с 1 января 2006 года по 8 апреля 2009 года входила в Еремеевское сельское поселение), с точки зрения административно-территориального деления — в Еремеевский сельсовет.

Расстояние до районного центра Шексны по автодороге — 33 км, до центра муниципального образования Чаромского по прямой — 10 км. Ближайшие населённые пункты — Матвеевское, Андрюшино, Всходы, Виноградово.

По переписи 2002 года население — 12 человек.

Примечания

Ссылки
  в реестре населённых пунктов Вологодской области

Населённые пункты Шекснинского района

redpajama_set_name: RedPajamaWikipedia


The annual BOOK of FREE "Big Book" went on sale September 20, 2013. This year's annual book is the biggest so far with 162 certificates featuring over $3000 in free offers. Over 100 merchants participate in The BOOK of FREE. Highlights of the 2014 book include FREE dining at Silos, Rudy's BBQ, Sumo Steakhouse, Canyon Café, Tilo's Mexican Restaurant, Acadiana, CBQ, Babe's Hamburgers, Matamoros, La Margarita, River City Seafood, Bella on the River, Arby's, KFC, Lenny's, Taco Bell; FREE entertainment including 12 movie tickets to Alamo Drafthouse and Citybase Cinema, FREE rounds of golf, bowling, miniature golf, laser tag, FREE admission to Schlitterbahn, Rampage & Silver Stars, The SA Rodeo, the SA Auto Show, SA Symphony, museums, UTSA, UIW and Talons Football, 6 FREE car washes and MUCH MORE!
PreviousPrevious post:2013 2014 Fun & Entertainment is Here!NextNext post:The NEW 2014 Women's Edition BOOK of FREE Goes On-Sale.


text:
Superbug Alert Is a Wakeup Call to Hospitals
Life + Money
Henrik Jonsson/iStockphoto
By Mark Koba, CNBC
The overuse of antibiotics for patients in U.S. hospitals is contributing to the rise of so-called superbugs, according to a new study by the Centers for Disease Control and Prevention.
"This is a real public threat," said Dr. Arjun Srinivasan, associate director for health care-associated infection prevention programs at the CDC, who spoke to CNBC by phone.
Related: Why We're Losing the Costly Battle Against Superbugs
The dangers from overprescribing antibiotics in hospitals are twofold, Srinivasan explained. First, patients may not need them and could suffer side effects. More important, however, is the danger of creating drug-resistant bacteria, known as superbugs, that are becoming increasingly commonplace.
"This is specific to the patients who get overprescribed," he said. "They run the risk of being susceptible to the superbugs at some point."
The CDC report cites a study from the Society for Healthcare Epidemiology of America and the Infectious Diseases Society of America that shows that antibiotics treatment can be incorrect in up to 50 percent of the instances in which antibiotics are prescribed.
Most prescriptions for antibiotics are written for urinary tract infections, lung infections and infections caused by drug-resistant staphylococcus bacteria, such as MRSA, said the CDC. One-third of the prescriptions for vancomycin and one-third of antibiotics prescribed to treat urinary tract infections were ordered without proper testing or evaluation. Or they were prescribed for too long, the report stated.
Related: Maryland Hospitals May Be Paid for Keeping People Out
The CDC's Srinivasan said that the problem comes from both sides of the hospital bed.
"People do have a tendency to want antibiotics when they are sick," he said. "And doctors are giving antibiotics as a result of feeling the pressure and naturally trying to get their patient well."
More than 2 million people a year in the U.S. get sick from the superbugs according to the CDC, resulting in 23,000 deaths.
Non-CDC estimates put the health-care costs associated with the drug-resistant bacteria at $20 billion a year. They cost another $35 billion in lost productivity.
Srinivasan said the CDC report is a wake-up call for hospitals and their staff, one he said they are beginning to get.
"They are willing to work on this," he said." When we show them the data, they realized the situation. I do expect to see antibiotics used only when they are really necessary."
This article originally appeared in CBNC.
Read more at CNBC:
White House readies health insurance renewal extension
What you need to know about Obamacare countdown
Chart of the day: Bitcoin's back?
The $65 Billion Superbug Threat to the US
Antibiotic-resistant superbugs are a deadly and expensive health threat — one that could largely be addressed for just...
The End of Antibiotics? Drug-Resistant Superbug Reaches the US
For the first time, researchers have found a person in the United States carrying bacteria resistant to antibiotics of...
Read This Before You Bite into Your Next Hamburger
You might want to think twice before grilling up those burgers for your family dinner. For its new cover story,...


text:
HomeHow the Birth Control Pill Changed Everything
How the Birth Control Pill Changed Everything
Pamela CytrynbaumNovember 1, 2014Wikimedia Commons
Jonathan Eig is The New York Times best-selling author of "Luckiest Man," "Opening Day," "Get Capone," and now, "The Birth of the Pill," about the race to produce the birth control pill. Before writing books, Eig worked as a reporter for The Wall Street Journal, Chicago magazine, The Dallas Morning News and the Times-Picayune. He has appeared on NBC's Today Show, NPR, and The Daily Show with Jon Stewart.
That's the official version of Eig. But the real guy — and he's not just another one of those wildly successful, Oprah-snubbing Jonathans — is in fact a decent, self-effacing, normal Jonathan, who just happens to be a New York Times best-selling Jonathan. Recently, we sat down to talk about his journey from Lou Gehrig to the pill.
Pamela Cytrynbaum: So, Lou Gehrig, Jackie Robinson, Al Capone and the pill? Remember that Sesame Street song, "One of these things is not like the others?" What happened? DId you write this because your wife said, "Dude, you've got to write for the ladies?" Or being the father of two daughters got you thinking about birth control?
Jonathan Eig: I could tell you that I picked this subject because of its importance or because the birth of my second daughter woke me up to the importance of birth control, but the truth is it was my wife's idea. She told me I should write a book women would want to read. I tried not to take this personally, and failed. She had a point, since women buy something like three-fifths of all books. So I tried to think of a subject that mattered to women — mattered even more than Al Capone, that is. I remembered hearing a speech about the birth control pill. The speaker made a compelling argument for the pill as the most important invention of the 20th century, but he never said who invented it, or why. As I thought about it, I became curious. Why would anyone work on a birth control pill in the 1950s? Men controlled government, science and industry. What incentive would men have had to invent a product that empowered women, gave them control over their bodies, gave them more sexual freedom, and gave them a shot at greater equality? It didn't make any sense, especially when you consider that it was still illegal in most places to disseminate information about birth control. When I began looking into it, I was blown away by what I found. Margaret Sanger was in her 70s. She'd just about given up on her dream of a magic pill that would let women turn off and on their reproductive systems. Every scientist she ever spoke to said it was impossible, a fool's mission, and they presented a long list of reasons it couldn't be done. Then she met Gregory Pincus, or Goody, as his friends called him. Pincus was fired from Harvard in the 1930s because he was working on in vitro fertilization and it scared people.
What was Pincus like?
He was a bomb-thrower, a radical, a guy who would try anything. He was working out of a garage when he met Sanger. With nothing to lose, he told Sanger that if she could come up with the money he'd come up with a pill for her. That's when I fell in love with this story. Sanger meets Pincus, and the quest begins. It's a story of fighters trying to change the world in the biggest possible way, to do the impossible, to change something so fundamental — sex, love, marriage, the way our species reproduces — or doesn't. OK, so it's not a sports book. But in a way it's like "Rocky," right? It's a story of underdogs rising to the greatest challenge of their lives. Except it's better than "Rocky" because it has greater consequences and more sex. Way more sex.
So, the book was your wife's idea. I knew it. Was she in your head as your audience? You dedicated it to her. Were you writing to her? Or did you have a more general audience in mind?
My wife and my mother were definitely in my head as I wrote this. But then again they're always in my head. They're very smart women, and after an initial period of resistance and resentment, I always listen to what they say. I did show some of the chapters to my wife, as well as to my friend Marci Bailey, both of whom gave me great feedback and pointed out to me where male bias might have been affecting my take on certain events.
What made you know you understood something essential about this story, these people?
I fell in love with the characters first, and that made the difference. I was worried about writing a book without action in the traditional sense. No ninth-inning home runs. No drive-by shootings. But my characters were so fascinating and so passionate; they carried the action for me. The stakes were incredibly high for Sanger, Pincus, [Katharine] McCormick and [John] Rock. They knew they only got one shot at this and everything had to go right. If they could invent a pill that worked, how would they test it? If they tested it, how would they get it approved? The obstacles were endless. And one nice thing about writing about science is that scientists, unlike baseball players and gangsters, take notes and make a record of everything. They also write a lot of letters. I had far more material to work with than I had for my other books. I also had four compelling characters, each one of them fighting for attention. Most readers know something about Capone or Jackie Robinson or Gehrig. They came to those books looking to learn more, or to learn the truth, as opposed to the many myths. In this case, most people don't know anything about Gregory Pincus.
What or how does this book contribute to or have an impact on the hot-button issues of abortion and birth control? What part would you like your book to play in those discussions?
I didn't write this book to make a political argument; I wrote it to tell a fascinating story about how one of the most important inventions of the 20th century came to be. But of course I knew the book would lead to discussions about birth control and abortion, subjects that remain as controversial now as they were in the 1950s, if not more controversial. Readers will draw their own conclusions, but I hope the book will help them think about what the world was like without the birth control pill and how hard women like Sanger and McCormick had to fight to get it. I hope when people read this book they'll see that while the pill is far from perfect — and we should still be working to find better methods of birth control — it marked one of the most important milestones in human history.
You make several references to the impact of the ever-present fear of Jews. Am I over-identifying by feeling like birth control history was made and/or transformed because of this fear? How big a part did it really play?
History is always a string of unlikely and seemingly unconnected events. As a Jew, Pincus was always an outsider, which enabled him to pursue scientific interests beyond the mainstream. When he began experimenting with in vitro fertilization, the press depicted him as a dark, brooding demon. They compared him to Frankenstein. Then, when he was denied tenure by Harvard and couldn't find another job — no doubt in part because of anti-Semitism — he became even more of an outsider, forced to operate on the fringes of the scientific establishment. He was not particularly observant as a Jew, but his outsider status definitely set him on this path where he was willing to take on a project no one else dared touch. He had nothing to lose.
What do your kids tell people you do for a living?
My kids know I write books. It's nice to have a job that's easy even for a 5-year-old to understand, although she's not quite clear yet on the intricacies of the hormonal birth control pill and its importance in world events.
So, when it's time to give your daughters the big sex talk, are you just gonna hand 'em the book and say: "It's all in here, ladies?"
Nah. I'll tell them to go on the Internet.
Pamela Cytrynbaum


Born in New Jersey, I split my teenage years between there and a town near Atlanta, Georgia. After graduating with honors from New York University, I worked as an assistant English teacher in two elementary schools in the suburbs of Paris, the city I'd fallen in love with on a school trip at the age of 13. Today I pursue my passions of writing, editing, translation, showing visitors my beloved city, and helping people plan trips to locations around the world.
...a fiction writer - Some of my earliest memories include writing stories in notebooks. Since then, I've penned four novels, one of which is currently being read in American publishing houses. I regularly write short stories, as well. You can read some of the latter in the "My Fiction writing" section of this site, if you'd like. Some of my stories and poems have been published in print anthologies and on writing websites. Over the years, I've happily been involved in many writers groups, and am thrilled to have been the M.C. of the Open Salon Weekend Fiction Club and the Our Salon Weekend Fiction Club. If you're a writer, too, you might want to check that last one out -- everyone's welcome to participate.
...a blogger. I write about all sorts of things, including life in Paris, musings, pop culture, history, motherhood, and my cat Ali. Before the site's unfortunate shutdown in 2015, my blog on Open Salon got hundreds to thousands of hits per post. And most importantly, I made friends and connected with readers - a blogger's dream. I've set up a new home at Medium.com, where you can read my latest posts and some old ones I've re-posted as well. I also have an animal-related blog at The Dodo.com.
...Editor-in-Chief of Beguile, a literary and arts e-zine I founded in September 2010. I love being able to showcase writing and artwork I truly find beguiling. Please feel free to stop by and have a look. Like my metabolism, Beguile is currently on hiatus, but (also like my metabolism) I'm hoping to relaunch it soon.
...someone who loves to travel - I especially enjoy discovering unusual or forgotten traces of history in the places I go. On my last trip back to America, for example, I was so excited to get to see Grip, a stuffed raven who was once Charles Dickens' pet, and who became the inspiration for two 19th century literary works: Dickens' novel Barnaby Rudge, and Edgar Allan Poe's "The Raven".
Striking a thoughtful pose with Grip at the Free Library of Philadelphia.
...a mom. My son's still pretty young but he's already a lot of fun to hang out with, I'm happy to say. Well, unless he's having a meltdown about not being allowed to take apart his humidifier. As for me, this selfie from his first Halloween pretty much sums it up: I love a lot of things about parenting, but I'm not always perfect at it.... Also, as you can see from my face, I'm often exhausted.
...sort of obsessed with my cat - His name is Ali and he's a beautiful black European medium-hair with a super-friendly personality. And he's so soft. And he goes crazy when he sees pigeons outside our window. Once, he sat on my laptop and made what looked like an emoticon, which I'm pretty sure means he's a genius.
...fascinated by history - In particular, the Belle-Epoque, the Siege of Paris, the Paris Commune, eccentric historical figures, the evolution of cities like Paris and New York, and details of everyday life in the past.
...a movie fan - My favorite movies are "Lola Rennt" ("Run Lola Run"), "Edward Scissorhands", "Rushmore", and "Mary Poppins". What are yours?
...an art lover. I haunt museums, and go into rhapsodies when I see works by artists I love. If I could, I'd probably live at the Metropolitan Museum of Art in New York, like the kids in the novel From the Mixed-Up Files of Mrs. Basil E. Frankweiler.
...a voracious reader. My favorite book is A Little Princess by Frances Hodgson Burnett, but I'll read just about anything, in just about any genre. Some books I've enjoyed recently include: Free Air by Sinclair Lewis; Dans les forêts de Sibérie by Sylvain Tesson; Homer's Odyssey: A Fearless Feline Tale, or How I Learned About Life and Love With a Blind Wonder Cat by Gwen Cooper; The Blue Castle by L.M. Montgomery; La délicatesse by David Foenkinos; and Abraham Lincoln: Vampire Hunter by Seth Grahame-Smith.
...harboring a secret longing to be a circus performer. Unfortunately, I'm far too clumsy for this dream to ever come true.


text:
Students travel to Chile to research conservation
Alexandra Nay / Contributing Writer
Under the misty forest canopy next to clear streams in Chile, University of North Texas students collect insects that can indicate global warming, catch wild birds and learn about conservation as part of an exchange program with Chilean institutes.
The program is a partnership between UNT, the Institute of Ecology and Biodiversity in Chile and the University of Magallenes, which has the potential to change ideas about conservation and spread ground-breaking Chilean initiatives here in America. The program opens students' eyes to the philosophy behind the research with daily lessons in the field by having students participate in an ecotourism project in a southern Chilean area called Omora Park.
"We want to pass on the torch to the later generations," biology professor James Kennedy said. "We hope that when we lay down the torch, the younger generation will pick it up and start their own conservation projects."
Ricardo Rizzo, a professor of biology and philosophy at The University of Magallenes and an associate professor at UNT, said the work being done in Omora Park began with creation of the exchange program back in 2000. Students from UNT travel to Chile for 19 days and earn up to six hours of credit in biology or philosophy.
"It was started as an opportunity to exchange ideas and build relationships in one of the richest areas of biodiversity in the world," Kennedy said.
In 2011, UNT spent $150,000 to build a three-story field station in Omora Park, where participants of the program stay and analyze the research, Kennedy said.
Kennedy said Chileans are concerned about not making the same mistakes as other developing countries as their economy grows.
In 2006, Chile's government threatened to injure the environment, specifically the streams valued in the study, when they tried to build dams that would disrupt the ecology. The people of Chile protested and stopped the government from building the dams because they care about conservation, Kennedy said.
The UNT collaboration is trying to build that awareness here, said environmental science graduate student Kelli Moses.
Americans are the least likely to suffer from "green guilt" about their environmental impact, despite being behind the rest of the world in sustainable behavior, according to a National Geographic Society's survey.
"The program is beneficial to students because it changes their perception. The whole purpose is to get people to see things like the environment in a different perspective starting with this program," said Judy DeLay, an assistant to the program.
Amanda Arnold, a biology junior at UNT participated in the program, said she cares more about having as little impact as possible on the environment now.
"The plants and the animals, it all belongs to nature," Arnold said.
Students in the program, like Arnold, work on the ecotourism project going on in Omora Park. The attraction that combines economics and ethical ecology is called "Ecotourism with a Hand Lens," and showcases what are called miniature forests, Moses said.
"It's about creating metaphors," said UNT biology senior Jackson Stewart, who participated in the program. "It's like seeing the whole world in a grain of sand."
The miniature forest contains 5 percent of the worlds' diversity in mosses and lichens in just .01 percent of the landmass. With a looking glass, visitors can observe hundreds of plant species on the trunk of a tree. They then understand that to lose the tree would be to lose hundreds of species, Moses said.
This ecotourism is an avenue which America could pursue, DeLay said.
"America has a chance to send students to one of the most untouched areas of ecology in the world and learn from them as they develop," DeLay said. "America has a chance to see what they've done wrong and to fix it."
: Cat's Corner: Getting to know your Mean Green athletes
: Workshops fill learning gaps
Dual-university vigil continues support for Orlando and all cultural identities
UNT Transportation Services Director Geary Robinson resigns
International Women's Day march demonstrations call for "an end to gender violence"


text:
![requirelx](images/requirelx.jpg)

# Node Reusable Streams

2015/06/03

https://pgte.github.io/requirelx-201506-reusable-node-streams

http://bit.ly/1FSRPKD

#Hello

```js
$ whoami
{
  "name": "Pedro Teixeira",
  "github": "@pgte",
  "twitter": "@pgte"
}
```

# Node Patterns Books

![Node Patterns Books](images/node-patterns.png)

http://nodepatternsbooks.com

# Why this presentation

* Node != Express
* Streams are awesome
* Streams are source of much confusion
* Streams are not used enough

# Agenda

* 1st part: Slides
  - Why streams
  - Node Streams 101
* 2nd Part: Code
  - Creating a stream
  - Back-pressure
  - Edge cases
    + Encoding transformations in pipes
    + Error Handling
    + multiple pipe destinations
  - Example in the browser

![Answer Boy](images/answer-boy.gif)

Please interrupt

I hate talking alone ;)

# -1. Show hands

![Show hands](images/hands.jpg)

Who has:

* Used Node
* Used Node Streams
* App in production using Node streams

# 0. Why streams

# Universal interface

![Lego](images/lego.jpg)

# Fool-proof

![Floating](images/floating.gif)

Flow management (back-pressure) by default.

# Memory-efficient

![NBF](imageS/nbf.png)

# Yet

Paradoxically, Streams are the subject of some confusion and sometimes hard to get right.

redpajama_set_name: RedPajamaGithub


With the flattened hierarchies of today's distributed corporate environment, the model of the heroic leader who single-handedly produces results through sheer force of will has become obsolete. Leadership at the top is now a team sport. CEOs rely on senior-level teams to accomplish important goals, manage change, and help spread the company's priorities and values throughout the organization.
But in a volatile and uncertain business environment, executives are finding it harder than ever to keep up. Top teams therefore must be more than just high performing. They also need to adapt and thrive, regardless of the turbulence they face.
Adaptation conjures up images of animals that evolve reactively in a survival-of-the-fittest competition. However, top teams don't simply react. They proactively cultivate the fitness to survive through a disciplined approach that anticipates and shapes the future.
While it may require significant effort to cultivate a high-performing and adaptive leadership team, the work delivers a strong payback. A BCG Strategy Institute study titled "The Value of Adaptive Advantage" shows that more-adaptive companies generate powerful economic and financial gains. These companies consistently outperform their industry peers during periods of volatility, and they sustain superior performance over time, whether it's 5 years or 30 years. The results also show a strong correlation between a company's adaptability index score and total shareholder return.
Senior leadership teams are the engines that power this kind of performance. In its new Adaptive Leadership Teams Survey, BCG complemented the Strategy Institute's research by examining the link between a company's performance versus its peers and the adaptive capacity of its senior-leadership team. We found a correlation between the two factors. Employees also enjoy a more emotionally rich and engaging company experience when they are part of adaptive teams.
BCG studied a carefully selected sample of companies to discern what the most adaptive leadership teams do differently or better than those teams that deliver average or substandard results. Digging deep into the specific characteristics of adaptation, we conducted both quantitative and qualitative assessments of nine intact leadership teams across a mix of industries, business sizes, regions, and company life cycles.
We interviewed more than 100 executive members of these teams, including CEOs, business unit leaders, and functional leaders of both genders and from a mix of international backgrounds. We studied nine companies in such industries as financial services, telecommunications, medical technology, chemicals, consumer goods, travel and hospitality, pharmaceuticals, and private equity.
The companies ranged in size from 300 to 130,000 employees and included both local and multinational companies in developed and developing markets.
Regardless of industry, size, location, and company life cycle, these companies with adaptive leadership teams all outperformed their peers—some just slightly and some by a significant margin. Through their business performance in a variety of environments, all have demonstrated that agility and adaptation are, to a greater or lesser extent, part of their company DNA.
The results disproved some common fallacies about teamwork and adaptiveness. For instance, observers often claim that as companies get bigger, they get less adaptive. We found that not to be true. Adaptability also often implies a lack of discipline. We found just the opposite: adaptive teams have highly disciplined mechanisms and processes that free them up to be more adaptive. Further, in today's business context, adaptability can no longer be thought of as an ad hoc skill or last-gasp maneuver that is brought to bear only in times of desperation. In fact, when asked if there were conditions under which leadership teams should not cultivate adaptive capacity, the overwhelming majority of leaders struggled to find examples—especially given the current marketplace challenges faced by even the most stable business models.
What makes an adaptive leadership team?
What do adaptive team leaders do differently?
How does adaptation become part of an organization's DNA?
How does a leadership team know if it is adaptive enough?
The study reaffirmed that the basics of effective teamwork still apply. Adaptive teams lay the groundwork by adhering to the following principles.
Distributed Leadership. The team leader believes in the value of sharing leadership at the top and developing leaders at every level.
Optimal Talent Mix. The team is not only composed of the top talent representing key positions and disciplines but also has the chemistry that comes from the right combination of backgrounds, styles, and perspectives.
Clear Charter. The team has defined goals, roles, ground rules, and accountabilities.
Mutual Trust. Team members are able to express divergent views and let down their guard to acknowledge when they need help.
Not every team studied was at the same level on the four basics, suggesting that even our select sample of leadership teams had room to improve in these fundamental team principles. Still, all the teams studied exhibited these key characteristics of high performance; displayed them at higher levels than other teams; and demonstrated a high correlation between principles of teamwork and their own assessments of team and company performance.
One Voice. Adaptive teams take the time to get completely aligned about the organization's vision, values, and vital priorities, while respecting individual differences of opinion and experience. Once a diverse team has reached agreement, members have the same "true north" guiding their strategic moves, and they display an absolute consistency in articulating that direction. Rather than demanding that employees follow a rules-based script that quickly grows out of date, leaders focus on transmitting the expected outcomes that can help steer the organization through any eventuality and allow experimentation to occur.
Sense-and-Respond Capacity. Adaptive teams systematically use multiple real-time filters and amplifiers of information to monitor the external forces that drive change in their business environment. These filters often take the form of customized data mining, market research, dashboards, and war rooms. These enable the teams to excel at reading external signals, connecting disparate trends into meaningful patterns, and putting in place mechanisms that allow them to collectively separate the signal from the noise. When early-warning signs flash red, they are in a position to either consciously act differently or choose not to act—ahead of the curve.
Information Processing. Adaptive teams are able not just to sense when change is needed; they are also able to synthesize complex insights and make high-quality decisions quickly. They identify leading and lagging metrics that enable everyone to monitor progress in a way that is transparent and aligned with the company's strategy and performance objectives. Several teams have developed highly disciplined meeting and agenda formats to ensure that they routinely exchange key information. In addition, adaptive teams are particularly good at processing information and making decisions at the junctures where different points of the matrix organization meet.
Freedom Within a Framework. In addition to setting a common direction, adaptive leadership teams establish a framework within which the organization can experiment. Team leaders are empowered to take bold risks within agreed-to parameters, with failure seen as a possible and an acceptable outcome. Failure is only debilitating if the lessons learned are not disseminated and applied quickly. In this environment, employees earn greater autonomy to make decisions and investments as a reward for meeting objectives. "We set aggressive targets and give 'blank checks' to teams to move forward with their own plan, and the teams have responded positively and met all of their objectives," concluded an executive of a food company.
Less than 50 percent of the companies interviewed focus on freedom within a framework as an adaptive capability. It may be a blind spot for leaders or a difficult trait to instill, since this principle had been effectively put into practice at only 33 percent of the companies we surveyed.
Boundary Fluidity. Adaptive teams can move both horizontally across roles and vertically to connect with the next level of leadership down from them. Team members can play out of position and pinch-hit for others at a moment's notice, regardless of their role or how long they have been on the team. An operations person can oversee a human resources initiative, for instance. This role fluidity strengthens the bonds among team members. Also, team members do not see themselves as "masters of the universe" whose physical distance and behavioral norms somehow disconnect them from the organization. Senior-level leaders build a "neural network" of frequent conversations with the next level of managers down, exchanging more accurate information and establishing the trust necessary when a company needs to rapidly move in a new direction.
"The feeling that people have your back is a fabulous thing," said an executive at an investment company. "This truly is a sense of comfort and confidence." Only about half the leadership teams studied discussed boundary fluidity as an adaptive trait, however, showing that it takes practice to make this part of the leadership DNA.
While the leadership teams in the study displayed varying degrees of shared leadership, in the most adaptive teams, the CEO plays a distinctive role in creating the team context for adaptation. These top leaders are prescient enough to know what their teams need to succeed. And they go beyond the basics to more thoughtfully use their authority and influence. "My role is about destination- and standard setting, not about dictating how everything happens," said the division leader of a financial services company.
To increase the level of adaptation within a leadership team and throughout the organization, adaptive leaders can take the following steps.
Reinforce the teamwork basics. Is your team exhibiting the basic elements of a high-performing team? These skills are the table stakes necessary to place bigger bets.
Reflect on your relationships with each team member. Are those relationships based on empathy and mutual respect—especially among those who are most different from you?
Assess your team's performance on the five adaptive traits. You can measure your team either through a conversation within your leadership team or by taking BCG's Adaptive Leadership Teams Survey (send an e-mail to altsurvey@bcg.com for more information).
Ultimately, to create competitive advantage, companies—and the senior teams that run them—require a level of adaptation that a top leader cannot accomplish alone. Leaders who understand this reality can take specific steps to enhance their ability to create teams that adapt appropriately to any business context.


text:
Bandits kill 9, kidnap 11 on Kaduna highway
Bandits killed nine people, including three infants in Zankoro, Kaduna State, on Monday.
They returned on Monday to kidnap 11 people and injured six others in Dan Kungi, Birnin Gwari Local Government Area of Kaduna.
Chairman, Birnin Gwari Emirates Progressives Union (BEPU), Salisu Haruna, said bandits have carried out series of killings and kidnappings in the area and on the Birnin Gwari-Kaduna and Birnin Gwari-Funtua highways.
According to him, at least 40 people were kidnapped between December 20 and yesterday and are still being held.
He said: "On Sunday, armed bandits laid siege to innocent travellers at Zankoro, along the dreaded Birnin Gwari – Kaduna Highway, killing nine people (including three infants) who were on their way to a ceremony at Doka, Birnin Gwari Local Government.
"The bandits came out today (yesterday) at the same Zankoro at about 9.00 am, shooting sporadically.
"They abducted an unspecified number of people and wounded six others now receiving treatment at Buruku along Kaduna – Birnin Gwari Highway.
"In the last two weeks, bandits have been terrorising the people of Birnin Gwari, especially those travelling along Birnin Gwari -Funtua and Birnin Gwari Kaduna.
"BEPU frowns at the seeming laissez-faire attitude towards banditry in Birnin Gwari area by the government.
"From December 20 to January 4, bandits have mercilessly terrorised the people of Birnin Gwari, kidnapping over 40 of them at homes, farms and during travels."
Haruna urged Kaduna State government to note the kidnappings and killings along the Birnin Gwari-Kaduna and Birnin Gwari-Funtua highways.
He said some among the 40 abductees "have been reported terribly ill".
The community leader added: "A total of nine innocent travellers were killed at Zankoro along Birnin Gwari-Kaduna highway on January 3. Eleven people were kidnapped at Dan Kungi village the same day.
"BEPU, therefore, calls on the government to deploy immediate response squad to mount offensive operations along Birnin Gwari-Kaduna and Birnin Gwari-Funtua highways.
"We also urge the government to sit up to its responsibility and protect the lives and property of defenceless people of Birnin Gwari whose blood is spilt daily by the bandits.
"We seriously urge the government to launch an offensive attack to neutralise bandits terrorising Birnin Gwari increasingly whose skills and warfare strategies are advanced every day. Enough is enough," he said.
Kaduna State Commissioner for Internal Security and Home Affairs, Samuel Aruwan, could not be reached as he did not pick his calls.
Kaduna State Police Command spokesman, Muhammad Jalige, also did not respond to calls.


text:
//---------------------------------------------------------------------------
// Pre-compilation
#include "MediaInfo/PreComp.h"
#ifdef __BORLANDC__
    #pragma hdrstop
#endif
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
#include "MediaInfo/Setup.h"
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
#if defined(MEDIAINFO_GXF_YES)
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
#include "MediaInfo/Multiple/File_Umf.h"
//---------------------------------------------------------------------------

namespace MediaInfoLib
{

//***************************************************************************
// Constructor/Destructor
//***************************************************************************

//---------------------------------------------------------------------------
File_Umf::File_Umf()
:File__Analyze()
{
    //In
    #if MEDIAINFO_SEEK || MEDIAINFO_DEMUX
        GopSize=(int64u)-1;
    #endif //MEDIAINFO_SEEK || MEDIAINFO_DEMUX
}

//***************************************************************************
// Buffer - File header
//***************************************************************************

//---------------------------------------------------------------------------
bool File_Umf::FileHeader_Begin()
{
    //Element_Size
    if (Buffer_Size<2)
        return false; //Must wait for more data

    int16u Length=LittleEndian2int16u(Buffer);
    if (Buffer_Size<Length)
        return false; //Must wait for more data

    //All should be OK...
    Accept("UMF");
    return true;
}

//***************************************************************************
// Buffer - Global
//***************************************************************************

//---------------------------------------------------------------------------
void File_Umf::Read_Buffer_Continue()
{
    //Parsing
    int32u Tracks, Segments;
    Element_Begin1("Payload description");
    Skip_L4(                                                    "Total length of the UMF data");
    Skip_L4(                                                    "Version of this file");
    Get_L4 (Tracks,                                             "Number of tracks in the material");
    Skip_L4(                                                    "Offset to track description section");
    Skip_L4(                                                    "Size of the track description section");
    Get_L4 (Segments,                                           "Number of segments");
    Skip_L4(                                                    "Offset to media description section");
    Skip_L4(                                                    "Size of the media description section");
    Skip_L4(                                                    "Offset to the user data section");
    Skip_L4(                                                    "Size of the user data section");
    Skip_L4(                                                    "Reserved");
    Skip_L4(                                                    "Reserved");
    Element_End0();

    Element_Begin1("Material description");
    Skip_L4(                                                    "Attributes");
    Skip_L4(                                                    "Maximum length of the material in fields");
    Skip_L4(                                                    "Minimum length of the material in fields");
    Skip_L4(                                                    "Material mark in value in fields");
    Skip_L4(                                                    "Material mark out value in fields");
    Skip_L4(                                                    "Time code at mark in value");
    Skip_L4(                                                    "Time code at mark out value");
    Skip_L4(                                                    "last modified time (Most)");
    Skip_L4(                                                    "last modified time (Least)");
    Skip_L4(                                                    "creation time (Most)");
    Skip_L4(                                                    "creation time (Least)");
    Skip_L2(                                                    "Reserved");
    Skip_L2(                                                    "Reserved");
    Skip_L2(                                                    "Number of audio tracks");
    Skip_L2(                                                    "Number of time code tracks");
    Skip_L2(                                                    "Reserved");
    Skip_L2(                                                    "Number of MPEG-1, MPEG-2, and MPEG-2 HD video tracks");
    Element_End0();

    for (int32u Pos=0; Pos<Tracks; Pos++)
    {
        Element_Begin1("Track description");
        Skip_C1(                                                "Track information - Track type");
        Skip_C1(                                                "Track information - Track logical number");
        Skip_L2(                                                "Number of segments on this track");
        Element_End0();

        if (Element_Offset>=Element_Size)
            break;
    }

    for (int32u Pos=0; Pos<Segments; Pos++)
    {
        Element_Begin1("Media description");
        int32u Type;
        int16u Length;
        Get_L2 (Length,                                         "Length of this media description");
        int64u End=Element_Offset+Length-2;
        Skip_C1(                                                "Track information - Track type");
        Skip_C1(                                                "Track information - Track logical number");
        Skip_L2(                                                "Media Sequence number");
        Skip_L2(                                                "Reserved");
        Skip_L4(                                                "Number of fields in segment");
        Skip_L4(                                                "Reserved");
        Skip_L4(                                                "Mark in value for the media file in fields");
        Skip_L4(                                                "Mark out value for the media file in fields");
        Skip_Local(88,                                          "Source device media file name");
        Get_L4 (Type,                                           "Type of media track");
        Skip_L4(                                                "Sampling rates for this track");
        Skip_L4(                                                "Size of sample for audio and time codes");
        Skip_L4(                                                "Reserved");
        switch (Type)
        {
            case 0x00000004 :
            case 0x00000007 :
            case 0x00000009 : //MPEG-Video
                {
                #if MEDIAINFO_SEEK || MEDIAINFO_DEMUX
                    int32u P, B;
                #endif //MEDIAINFO_SEEK || MEDIAINFO_DEMUX
                Skip_L4(                                                "Color difference format");
                Skip_L4(                                                "GoP structure");
                Skip_L4(                                                "Frame/field structure");
                Skip_L4(                                                "Target I-pictures per GoP");
                #if MEDIAINFO_SEEK || MEDIAINFO_DEMUX
                    Get_L4 (P,                                          "Target P-pictures per I-picture");
                    Get_L4 (B,                                          "Target B-pictures per P-picture or I-picture");
                #else //MEDIAINFO_SEEK || MEDIAINFO_DEMUX
                    Skip_L4(                                            "Target P-pictures per I-picture");
                    Skip_L4(                                            "Target B-pictures per P-picture or I-picture");
                #endif //MEDIAINFO_SEEK || MEDIAINFO_DEMUX
                Skip_L4(                                                "MPEG video attributes");
                Skip_L4(                                                "Reserved");
                #if MEDIAINFO_SEEK || MEDIAINFO_DEMUX
                    GopSize=(1+P)*(1+B);
                #endif //MEDIAINFO_SEEK || MEDIAINFO_DEMUX
                }
                break;
            case 0x00000003 : //TimeCode
                Skip_L4(                                                "Time code attributes");
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
                break;
            case 0x00000002 : //Audio
                //Skip_LF8(                                                "Level at which to play this segment");
                //Skip_LF8(                                                "Level at which to terminate this segment");
                Skip_L8(                                                 "Level at which to play this segment");
                Skip_L8(                                                 "Level at which to terminate this segment");
                Skip_L4(                                                 "Number of fields over which to ramp up");
                Skip_L4(                                                 "Number of fields over which to ramp down");
                Skip_L4(                                                 "Reserved");
                Skip_L4(                                                 "Reserved");
                break;
            case 0x00000005 : //DV25
            case 0x00000006 : //DV50
                Skip_L4(                                                "Attributes"); //With Aspect ratio
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
                #if MEDIAINFO_SEEK || MEDIAINFO_DEMUX
                    GopSize=1;
                #endif //MEDIAINFO_SEEK || MEDIAINFO_DEMUX
                break;
            default         :
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
                Skip_L4(                                                "Reserved");
        }
        if (Element_Offset<End)
            Skip_XX(End-Element_Offset,                                 "Unknown");
        Element_End0();

        if (Element_Offset>=Element_Size)
            break;
    }

    while (Element_Offset<Element_Size)
    {
        Element_Begin1("User data");
        int32u Length;
            Get_L4 (Length,                                     "The length of this user data record");
            Skip_L4(                                            "Position on the material time line");
            Skip_L2(                                            "Track associated with the user data record");
            Skip_L2(                                            "Media Sequence Numbe");
            Skip_L4(                                            "User-defined key");
            if (Length>18)
                Skip_XX(Length-18,                              "User data");
            else
                Skip_XX(Element_Size-Element_Offset-2,          "User data");
            Skip_L1(                                            "NULL byte");
            Skip_L1(                                            "Reserved byte");
        Element_End0();
    }
}

} //NameSpace

#endif //MEDIAINFO_UMF_YES


Hosanna Christian Preschool can be found at Highway 190 2478. The following is offered: Preschools. The entry is present with us since Sep 9, 2010 and was last updated on Nov 14, 2013. In Mandeville there are 7 other Preschools. An overview can be found here.


text:
Milton nets 18, keys Provine win
Brandon Shields
JacksonMS
Enrique Milton has been Provine's best-kept secret.
After Saturday, he may not be much longer.
Behind Milton and Jerekius Davis, the Rams held off Forest Hill 71-66 in the second round of the JPS/Pepsi Holiday Tournament.
The Rams (9-3) will to travel to Lanier to face the Bulldogs in the semifinals of the tournament on Monday at 11:30 a.m. The winner will face the winner of the Callaway-Holmes Central game on Monday at Forest Hill at 8 p.m. for the championship.
"I came in with a lot of hype because this is a rivalry game and played hard," Milton said. "We played hard as a team and came out with a win and that is all that matters."
Milton, a 5-foot-10 point guard, finished with 18 points.
"(Milton) is the motor of this team, and no one really knows about him," Provine coach Otis Gaines said. "We challenge him everyday to go out and be one of the best players on the court and once it gets to the that point in the game, we expect him to make a big play."
Dandy Dozen forward Jerekius Davis led the Rams with a game-high 26 points.
He finished the game 10-of-14 shooting with four rebounds, four steals and a assist.
"I just did what I normally do, get to the free-throw line and make a lot of mid-range jump shots," said Davis, who holds offers from Southern Illinois and Southeastern Louisiana. "We just got to keep doing what we do, and that is play good defense and play as a team so we can get back to the point where we were last year."
Kahlil Johnson chipped in 14 points for Provine, the defending champions of the JPS/Pepsi Holiday Tournament.
"We had not played a game since Dec. 6 so this game was a lot about mental toughness," Gaines said. "We take any tournament like it is the playoffs — if you win, you get to move on in the tournament and it helps us play better as a team."
Tony Williams led Forest Hill with 21 points. Promising freshman forward Ladarius Marshall added 12 points while Arthur Johnson chipped in 10 points.
"Fast-break points and not getting back on defense killed us," first-year Forest Hill coach Jerry Currie said. "The intangibles — like not getting the loose balls or turnovers or offensive rebounds — hurt us as well, but we will get back in the gym and learn from this and get better."
"Good thing is Provine is in our division, so we get to play them two more times. ... Hopefully, we will play much better the next go round when the games really matter," Currie added. "I am proud of the kids for playing hard, but we have to play smart as well."
To contact Brandon Shields, call (601) 961-7248 or brandon.shields@jackson.gannett.com. Follow @BShields_CL on Twitter.


text:
Could vitamin D deficiency increase the risk of schizophrenia?
Published	 Wednesday 23 July 2014	 Published	Wed 23 Jul 2014
By Honor Whiteman
Past research has linked vitamin D deficiency to increased bone aging, higher risk of chronic pain among men and even increased likelihood of death from all causes. Now, a new study suggests that individuals with vitamin D deficiency are at higher risk of schizophrenia.
Schizophrenia is a mental health condition that affects around 2.4 million American adults. It is characterized by hallucinations, delusions, dysfunctional thoughts and agitated body movements.
Researchers found that study participants with vitamin D deficiency were more likely to develop schizophrenia than those with normal vitamin D levels.
Exactly what causes the condition is unclear, although previous studies have suggested that imbalances of chemical reactions in the brain, genetics and environmental factors may play a part.
The researchers of this latest study, including Ahmad Esmaillzadeh, PhD, of the Isfahan University of Medical Sciences in Isfahan in Iran, set out to investigate whether there is an association between vitamin D deficiency and schizophrenia.
Vitamin D is a fat-soluble vitamin found in certain foods, such as oily fish. However, the body's main source of vitamin D is from the sun.
According to the team, schizophrenia tends to be more prevalent in cold climates with high latitudes. Since vitamin D levels are primarily influenced by sunlight exposure, this spurred their research.
Subjects with vitamin D deficiency '2.16 times more likely to have schizophrenia'
To reach their findings, recently published in the Journal of Clinical Endocrinology & Metabolism (JCEM), Esmaillzadeh and colleagues analyzed 19 observational studies that looked at the association between vitamin D and mental health conditions, including schizophrenia.
All study participants - including 2,804 adults with or without mental health conditions - underwent blood tests that disclosed vitamin D levels in their blood.
Esmaillzadeh says the study is "the first comprehensive meta-analysis" to study the relationship between vitamin D deficiency and schizophrenia.
The researchers found that, compared with healthy participants, individuals with schizophrenia had much lower levels of vitamin D in their blood.
Around 65% of patients with schizophrenia had vitamin D deficiency, according to the researchers. In detail, they found that vitamin D levels in subjects with schizophrenia were 5.91 ng/ml lower than those of healthy participants. The researchers calculated that participants with vitamin D deficiency were 2.16 times more likely to have schizophrenia, compared with those whose vitamin D levels were normal.
Commenting on the team's findings, Esmaillzadeh says:
"There is a growing trend in the nutrition science field to consider vitamin D and its relationship to conditions such as diabetes, cancer, heart disease and depression.
Our findings support the theory that vitamin D may have a significant impact on psychiatric health. More research is needed to determine how the growing problem of vitamin D deficiency may be affecting our overall health."
However, Esmaillzadeh told Medical News Today that it is possible schizophrenia could cause vitamin D deficiency rather than have the opposite effect.
"Due to the observational nature of studies included in our meta-analyses, we can not strongly declare that vitamin D deficiency causes schizophrenia," he said.
"However, findings of two important epidemiologic study by McGrath et al., (neonatal vitamin D status and risk of schizophrenia, and vitamin D supplementation during the first year of life and risk of schizophrenia) confirms that lower levels of vitamin D in early stages of life is a risk factor of developing schizophrenia later in life. Also, several animal studies have shown that vitamin D deficiency can cause brain impairments that might lead to schizophrenia. Therefore, more prospective studies and controlled clinical trials are needed in this regard."
Esmaillzadeh told us that the next steps from this research may be to investigate the role of vitamin D supplementation among schizophrenia patients, or look at the link between maternal and neonatal vitamin D levels and the risk of schizophrenia later in life.
Medical News Today recently reported on a mouse study published in the journal Cell Stem Cell, which detailed how certain genetic variations may increase the risk of schizophrenia. Another recent study found that a gene called SETD1A may play an important role in the development of schizophrenia.
Vitamin D deficiency increases schizophrenia risk New research confirms that there is a link between vitamin D deficiency in early life and an increased risk of developing schizophrenia later on. Read now
Multiple sclerosis: Vitamin D deficiency may predict onset A large-scale study suggests that vitamin D levels may predict MS risk in young and middle-aged women. Correcting this deficiency may lower that risk. Read now
Vitamin D deficiency: Symptoms, causes, and prevention Vitamin D is vital for muscle and bone health, but poor nutrition and not being exposed to enough natural sunlight can cause a vitamin D deficiency. This can lead to brittle bones, mood changes, and chronic pain. In this article, learn more about the symptoms and risk factors, as well as how to source vitamin D. Read now
Vitamin D: Recent research uncovers new benefits Vitamin D draws a great deal of scientific attention. In this Spotlight, we delve into recent research and explore the vitamin's disease-fighting powers. Read now
Vitamin D supplements: are they really good for our health? Studies claim that vitamin D supplements offer extra health benefits, such as reducing pain and depression, while others challenge this belief. We look at these studies in detail. Read now
Nutrition / Diet Mental Health
Serum Vitamin D Levels in Relation to Schizophrenia: A Systematic Review and Meta-analysis of Observational Studies, Esmaillzadeh et al., published in the Journal of Clinical Endocrinology & Metabolism (JCEM), 22 July 2014.
Endocrine Society news release, accessed 21 July 2014 via Newswise.
Additional source: National Institutes of Mental Health, schizophrenia information, accessed 21 July 2014.
Visit our Schizophrenia category page for the latest news on this subject, or sign up to our newsletter to receive the latest updates on Schizophrenia.
Whiteman, Honor. "Could vitamin D deficiency increase the risk of schizophrenia?." Medical News Today. MediLexicon, Intl., 23 Jul. 2014. Web.
Whiteman, H. (2014, July 23). "Could vitamin D deficiency increase the risk of schizophrenia?." Medical News Today. Retrieved from
Popular in: Schizophrenia
Vitamin D deficiency increases schizophrenia risk
Could a broccoli sprout extract help treat schizophrenia?
Schizophrenia: 'Resyncing' brain circuits could halt symptoms
Detecting schizophrenia before symptoms arise
This form of brain training may help treat severe schizophrenia


text:
package com.hypebeast.sdk.application.hypetrak;

import com.hypebeast.sdk.api.exception.NotFoundException;
import com.hypebeast.sdk.api.model.hypetrak.htpost;

import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 * Created by hesk on 8/9/15.
 */
public class htPostSearch implements Comparator<htpost>, Comparable<htpost> {

    public static htpost findByIdBinary(long id, List<htpost> l) throws NotFoundException {
        if (l.size() == 0) throw new NotFoundException("not found");
        htpost o = new htpost();
        o.id = id;
        final int h = Collections.binarySearch(l, o, new htPostSearch());
        if (h < 0) throw new NotFoundException("not found");
        return l.get(h);
    }

    public static htpost findById(long id, List<htpost> list) throws NotFoundException {
        for (int i = 0; i < list.size(); i++) {
            htpost l = list.get(i);
            if (l.id == id) {
                return list.get(i);
            }
        }
        throw new NotFoundException("not found");
    }

    /**
     * the comparision for the another input of the pbpost
     *
     * @param another the another
     * @return the integer return
     */
    @Override
    public int compareTo(htpost another) {
        return 0;
    }

    /**
     * the comparison for input A and input B
     *
     * @param lhs left side
     * @param rhs right side
     * @return the integer for the return
     */
    @Override
    public int compare(htpost lhs, htpost rhs) {
        return lhs.id == rhs.id ? 1 : 0;
    }
}


Elevating the UAE's luxury hospitality scene, Andaz Capital Gate Abu Dhabi has officially opened for business, transforming the renowned 'Leaning Tower of Abu Dhabi' into the Middle East region's very first Andaz-branded property.
The luxury lifestyle brand, Andaz, reflects the local culture of its hotels and offers a sensory experience to guests. Andaz Capital Gate Abu Dhabi guarantees unforgettable experiences and allows guests to immerse themselves in the UAE's culture from their moment of arrival.
Andaz Capital Gate Abu Dhabi occupies the Capital Gate building's 18th to 33rd floors. It represents the world's furthest leaning hotel at an impressive 18-degree incline and boasts a range of creative, thought-provoking art pieces by local artists.
As well as 189 beautifully designed rooms and suites, guests can make the most of an impressive variety of F&B outlets, the Rayana Spa with a suspended outdoor pool, whirlpool and fitness centre, and much more.


text:
if [[ $(command -v brew) == "" ]]; then
  /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
fi
brew update
brew upgrade

brew install coreutils
brew install moreutils
brew install findutils
brew install binutils
brew install diffutils
brew install watch
brew install wget
brew install wdiff
brew install gawk
brew install gnu-indent
brew install gnu-sed
brew install gnu-tar
brew install gnu-which
brew install grep
brew install gzip
brew install zlib
brew install less
brew install gnupg
brew install vim
brew install openssh
brew install git
brew install git-lfs
brew install imagemagick
brew install lua
brew install lynx
brew install p7zip
brew install pv
brew install ssh-copy-id
brew install tree
brew install vbindiff
brew install cowsay
brew install figlet
brew install jq
brew install tmux
brew install zsh
brew install bash
brew install bash-completion2

# Docker
brew cask install docker
brew install docker-compose

# UI apps
brew cask install iterm2
brew cask install alfred
brew cask install github
brew cask install transmission
brew cask install yujitach-menumeters
brew cask install visual-studio-code
brew cask install dropbox
brew cask install keepassx
brew cask install spotify
brew cask install robo-3t
brew cask install skype
brew cask install deluge
brew cask install opera
brew cask install intellij-idea
brew cask install intellij-idea-ce

# Remove outdated versions from the cellar.
brew cleanup

# Use GNU tools by defaults
echo "/usr/local/opt/coreutils/libexec/gnubin" >> ~/.path
echo "/usr/local/opt/findutils/libexec/gnubin" >> ~/.path
echo "/usr/local/opt/binutils/libexec/gnubin" >> ~/.path
echo "/usr/local/opt/diffutils/libexec/gnubin" >> ~/.path
echo "/usr/local/opt/gnu-indent/libexec/gnubin" >> ~/.path
echo "/usr/local/opt/gnu-sed/libexec/gnubin" >> ~/.path
echo "/usr/local/opt/gnu-tar/libexec/gnubin" >> ~/.path
echo "/usr/local/opt/gnu-tar/libexec/gnubin" >> ~/.path
echo "/usr/local/opt/gnu-which/libexec/gnubin" >> ~/.path
echo "/usr/local/opt/grep/libexec/gnubin" >> ~/.path

# Switch to using brew-installed shells as default
sudo mv /bin/bash /bin/bash_old
sudo mv /bin/zsh /bin/zsh_old
sudo mv /bin/sh /bin/sh_old
sudo chmod a-x /bin/bash_old
sudo chmod a-x /bin/zsh_old
sudo chmod a-x /bin/sh_old
sudo ln -s /usr/local/bin/bash /bin/bash
sudo ln -s /usr/local/bin/bash /bin/sh
sudo ln -s /usr/local/bin/zsh /bin/zsh

# Install heders for python/ruby compilation
if [ -f /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg ]; then
  installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
fi

# Copy some scripts to loaded path
mkdir -pf $HOME/Scripts
cp ./scripts/* ./Scripts/

echo "Recommended apps to install manually:"
echo "  - Magnet (https://itunes.apple.com/pl/app/magnet/id441258766)"
echo "  - RedQuits (http://www.carsten-mielke.com/redquits.html)"