Quantcast
Channel: Hacker News 50
Viewing all 9433 articles
Browse latest View live

The Tipue blog - The complete guide to centering a div

$
0
0

Comments:"The Tipue blog - The complete guide to centering a div"

URL:http://www.tipue.com/blog/center-a-div/


Every new developer inevitably finds that centering a div isn't as obvious as you'd expect. Centering what's inside a div is easy enough by giving the text-align property a value of center, but then things tend to get a bit sticky. When you get to centering a div vertically, you can end up in a world of CSS hurt.

The aim of this article is to show how, with a few CSS tricks, any div can be centered; horizontally, vertically or both. And within the page or a div.

Centering a div in a page, basic

This method works with just about every browser, ever.

CSS

.center-div { margin: 0 auto; width: 100px; }

The value auto in the margin property sets the left and right margins to the available space within the page. The thing to remember is your centered div must have a width property.

centering a div within a div, old-school

This works with almost every browser.

CSS

.outer-div { padding: 30px; } .inner-div { margin: 0 auto; width: 100px; }

HTML

The margin auto trick strikes again. The inner div must have a width property.

Centering a div within a div with inline-block

With this method the inner div doesn't require a set width. It works with all reasonably modern browsers, including IE 8.

CSS

.outer-div { padding: 30px; text-align: center; } .inner-div { display: inline-block; padding: 50px; }

HTML

The text-align property only works on inline elements. The inline-block value displays the inner div as an inline element as well as a block, so the text-align property in the outer div centers the inner div.

Centering a div within a div, horizontally and vertically

This uses the margin auto trick to center a div both horizontally and vertically. It works with all modern browsers.

CSS

.outer-div { padding: 30px; } .inner-div { margin: auto; width: 100px; height: 100px; }

HTML

The inner div must have a width and height property. This doesn't work if the outer div has a fixed height.

Centering a div at the bottom of a page

This uses margin auto and an absolute-positioned outer div. It works with all modern browsers.

CSS

.outer-div { position: absolute; bottom: 70px; width: 100%; } .inner-div { margin: 0 auto; width: 100px; height: 100px; background-color: #ccc; }

HTML

The inner div must have a width property.

Centering a div in a page, horizontally and vertically

This uses margin auto again and an absolute-positioned outer div. It works with all modern browsers.

CSS

.center-div { position: absolute; margin: auto; top: 0; right: 0; bottom: 0; left: 0; width: 100px; height: 100px; background-color: #ccc; }

The div must have a width and height property.


BenjaminSte.in - iOS holding my phone number hostage = the worst bug I’ve ever experienced

$
0
0

Comments:"BenjaminSte.in - iOS holding my phone number hostage = the worst bug I’ve ever experienced"

URL:http://blog.benjaminste.in/post/75389520824/ios-holding-my-phone-number-hostage-the-worst-bug


Two months ago I switched from iPhone to Android. I’ve been a huge iOS fan since the first day, but just couldn’t deal with iOS7 (although that’s topic for another post).

I got a Verizon MotoX and couldn’t be happier. I could switch pretty much every app I used and was up and running w/ Android as my primary phone, fully loaded, within 24 hours.

But something really strange happened. I noticed I wasn’t getting text messages from lots of people. I was getting annoyed at them for not responding and they were getting annoyed that I wasn’t responding.

What happened? My work laptop was still configured with Messages.app so all their messages were still sending as iMessage. They were showing up on my work laptop, but not my phone.

This was pretty annoying, but understandable. Monday I went to the office, turned off iMessage, and thought everything would be fine.

Everything is very far from fine.

Here we are 8 weeks later and this is my current situation:

If a friend on iOS (which is 99% of my friends) sends me a message, it first tries to send as iMessage and fails. The more tech savvy folks then get the option to “Resend as Text Message” and it will get through. This is pretty annoying for them, but not catastrophic. If a friend sends a group message and includes me, it will send as Group iMessage, not Group MMS, and I don’t receive it. And here’s the icing on the cake: it fails silently! They don’t get a “failed” notification. The message is just dropped in the ether. I never get it, and they don’t know that it failed.

Apple has tried very hard to help with this problem. Unfortunately their solution is TELL EVERY SINGLE ONE OF YOUR FRIENDS TO DELETE EVERY SINGLE MESSAGE THREAD THAT YOU HAVE EVER BEEN ON.

Let me recap: I no longer have iPhone. My phone number isn’t associated with Apple, iCloud, iMessage, or FaceTime any more. But every single iOS device I have ever messaged in the past 5 years has my phone number cached! Every single phone will only try to message me via iMessage, not SMS. And to make matters worse, it fails SILENTLY!

To add insult to injury, the vast majority of messaging I’ve done in the past 3 years are group messages with pictures of our children. It would be bad enough if *I* had to delete 5 years of messaging history. But to ask my wife, my sister, my best friends, and literally every person I know to delete THEIR message histories? You’ve got to be kidding me!

I feel completely hostage. They have no solution and it’s insane that Apple has my phone number held hostage with no way to get it back.

Notes:

  • Apple Customer Support has tried very hard to help me, and everyone I’ve interacted with has been fantastic. Super friendly, and for a user who just left iOS for Android at that! 
  • Gotta love the irony that the founder and CTO of a hugely successful text messaging company can’t get text messages ;)

Updates/Responses to Hacker News

  • Yes, I’ve reset/deactivated/cancelled everything possible. iCloud, iMessage, FaceTime, etc. on every device and on Apple’s web sites
  • I’ve even had Apple support revoke my certificates so I couldn’t authenticate if I tried!
  • Apple engineers confirmed there is no record of my number server-side. It’s a client side cache issue on every other person’s handset
  • And no, changing my phone number of 15 years is not a very good solution.

Examining Postgres 9.4 - A first look - Craig Kerstiens

$
0
0

Comments:"Examining Postgres 9.4 - A first look - Craig Kerstiens"

URL:http://www.craigkerstiens.com/2014/02/02/Examining-PostgreSQL-9.4/


PostgreSQL is currently entering its final commit fest. While its still going, which means there could still be more great features to come, we can start to take a look at what you can expect from it now. This release seems to bring a lot of minor increments versus some bigger highlights of previous ones. At the same time there’s still a lot on the bubble that may or may not make it which could entirely change the shape of this one. For a peek back of some of the past ones:

Highlights of 9.2

Highlights of 9.3

On to 9.4

With 9.4 instead of a simply list lets dive into a little deeper to the more noticable one.

pg_prewarm

I’ll lead with one that those who need it should see huge gains (read larger apps that have a read replica they eventually may fail over to). Pg_prewarm will pre-warm your cache by loading data into memory. You may be interested in running pg_prewarm before bringing up a new Postgres DB or on a replica to keep it fresh.

Why it matters - If you have a read replica it won’t have the same cache as the leader. This can work great as you can send queries to it and it’ll optimize its own cache. However, if you’re using it as a failover when you do have to failover you’ll be running in a degraded mode while your cache warms up. Running pg_pregwarm against it on a periodic basis will make the experience when you do failover a much better one.

Refresh materialized view concurrently

Materialized views just came into Postgres in 9.3. The problem with them is they were largely unusable. This was because they 1. Didn’t auto-refresh and 2. When you did refresh them it would lock the table while it ran the refresh making it unreadable during that time.

Materialized views are often most helpful on large reporting tables that can take some time to generate. Often such a query can take 10-30 minutes or even more to run. If you’re unable to access said view during that time it greatly dampens their usefulness. Now running REFRESH MATERIALIZED VIEW CONCURRENTLY foo will regenerate it in the background so long as you have a unique index for the view.

Ordered Set Aggregates

I’m almost not really sure where to begin with this, the name itself almost makes me not want to take advantage. That said what this enables is if a few really awesome things you could do before that would require a few extra steps.

While there’s plenty of aggregate functions in postgres getting something like percentile 95 or percentile 99 takes a little more effort. First you must order the entire set, then re-iterate over it to find the position you want. This is something I’ve commonly done by using a window function coupled with a CTE. Now its much easier:

SELECT percentile_disc(0.95) 
WITHIN GROUP (ORDER BY response_time) 
FROM pageviews;

In addition to varying percentile functions you can get quite a few others including:

  • Mode
  • percentile_disc
  • percentile_cont
  • rank
  • dense_rank

More to come

As I mentiend earlier the commit fest is still ongoing this means some things are still in flight. Here’s a few that still offer some huge promise but haven’t been committed yet:

  • Insert on duplicate key or better known as Upsert
  • HStore 2 - various improvements to HStore
  • JSONB - Binary format of JSON built on top of HStore
  • Logical replication - this one looks like some pieces will make it, but not a wholey usable implementation.

Life as a Nonviolent Psychopath - Health - The Atlantic

$
0
0

Comments:"Life as a Nonviolent Psychopath - Health - The Atlantic"

URL:http://www.theatlantic.com/health/print/2014/01/life-as-a-nonviolent-psychopath/282271/


barsen/flickr

In 2005, James Fallon's life started to resemble the plot of a well-honed joke or big-screen thriller: A neuroscientist is working in his laboratory one day when he thinks he has stumbled upon a big mistake. He is researching Alzheimer's and using his healthy family members' brain scans as a control, while simultaneously reviewing the fMRIs of murderous psychopaths for a side project. It appears, though, that one of the killers' scans has been shuffled into the wrong batch.

The scans are anonymously labeled, so the researcher has a technician break the code to identify the individual in his family, and place his or her scan in its proper place. When he sees the results, however, Fallon immediately orders the technician to double check the code. But no mistake has been made: The brain scan that mirrors those of the psychopaths is his own.

After discovering that he had the brain of a psychopath, Fallon delved into his family tree and spoke with experts, colleagues, relatives, and friends to see if his behavior matched up with the imaging in front of him. He not only learned that few people were surprised at the outcome, but that the boundary separating him from dangerous criminals was less determinate than he presumed. Fallon wrote about his research and findings in the book The Psychopath Inside: A Neuroscientist's Personal Journey Into the Dark Side of the Brain, and we spoke about the idea of nature versus nurture, and what—if anything—can be done for people whose biology might betray their behavior.

One of the first things you talk about in your book is the often unrealistic or ridiculous ways that psychopaths are portrayed in film and television. Why did you decide to share your story and risk being lumped in with all of that?

I'm a basic neuroscientist—stem cells, growth factors, imaging geneticsthat sort of thing. When I found out about my scan, I kind of let it go after I saw that the rest of my family's were quite normal. I was worried about Alzheimer’s, especially along my wife’s side, and we were concerned about our kids and grandkids. Then my lab was busy doing gene discovery for schizophrenia and Alzheimer's and launching a biotech start-up from our research on adult stem cells. We won an award and I was so involved with other things that I didn't actually look at my results for a couple of years.

This personal experience really had me look into a field that I was only tangentially related to, and burnished into my mind the importance of genes and the environment on a molecular level. For specific genes, those interactions can really explain behavior. And what is hidden under my personal story is a discussion about the effect of bullying, abuse, and street violence on kids.

You used to believe that people were roughly 80 percent the result of genetics, and 20 percent the result of their environment. How did this discovery cause a shift in your thinking?

I went into this with the bias of a scientist who believed, for many years, that genetics were very, very dominant in who people are—that your genes would tell you who you were going to be. It's not that I no longer think that biology, which includes genetics, is a major determinant; I just never knew how profoundly an early environment could affect somebody.

While I was writing this book, my mother started to tell me more things about myself. She said she had never told me or my father how weird I was at certain points in my youth, even though I was a happy-go-lucky kind of kid. And as I was growing up, people all throughout my life said I could be some kind of gang leader or Mafioso don because of certain behavior. Some parents forbade their children from hanging out with me. They'd wonder how I turned out so well—a family guy, successful, professional, never been to jail and all that.

I asked everybody that I knew, including psychiatrists and geneticists that have known me for a long time, and knew my bad behavior, what they thought. They went through very specific things that I had done over the years and said, "That’s psychopathic." I asked them why they didn’t tell me and they said, "We did tell you. We've all been telling you." I argued that they had called me "crazy," and they all said, "No. We said you're psychopathic."

I found out that I happened to have a series of genetic alleles, "warrior genes," that had to do with serotonin and were thought to be at risk for aggression, violence, and low emotional and interpersonal empathy—if you're raised in an abusive environment. But if you're raised in a very positive environment, that can have the effect of offsetting the negative effects of some of the other genes.

Courtesy James Fallon

I had some geneticists and psychiatrists who didn't know me examine me independently, and look at the whole series of disorders I've had throughout my life. None of them have been severe; I’ve had the mild form of things like anxiety disorder and OCD, but it lined up with my genetics.

The scientists said, "For one, you might never have been born." My mother had miscarried several times and there probably were some genetic errors. They also said that if I hadn’t been treated so well, I probably wouldn’t have made it out of being a teenager. I would have committed suicide or have gotten killed, because I would have been a violent guy.

How did you react to hearing all of this?

I said, "Well, I don't care." And they said, "That proves that you have a fair dose of psychopathy." Scientists don't like to be wrong, and I’m narcissistic so I hate to be wrong, but when the answer is there before you, you have to suck it up, admit it, and move on. I couldn't.

"Because I need these buzzes, I get into dangerous situations."

I started reacting with narcissism, saying, "Okay, I bet I can beat this. Watch me and I'll be better." Then I realized my own narcissism was driving that response. If you knew me, you'd probably say, "Oh, he's a fun guy"–or maybe, "He's a big-mouth and a blowhard narcissist"—but I also think you'd say, "All in all, he's interesting, and smart, and okay." But here's the thing—the closer to me you are, the worse it gets. Even though I have a number of very good friends, they have all ultimately told me over the past two years when I asked them—and they were consistent even though they hadn’t talked to each other—that I do things that are quite irresponsible. It’s not like I say, Go get into trouble. I say, Jump in the water with me.

What's an example of that, and how do you come back from hurting someone in that way?

For me, because I need these buzzes, I get into dangerous situations. Years ago, when I worked at the University of Nairobi Hospital, a few doctors had told me about AIDS in the region as well as the Marburg virus. They said a guy had come in who was bleeding out of his nose and ears, and that he had been up in the Elgon, in the Kitum Caves. I thought, "Oh, that’s where the elephants go," and I knew I had to visit. I would have gone alone, but my brother was there. I told him it was an epic trek to where the old matriarch elephants went to retrieve minerals in the caves, but I didn't mention anything else.

When we got there, there was a lot of rebel activity on the mountain, so there was nobody in the park except for one guard. So we just went in. There were all these rare animals and it was tremendous, but also, this guy had died from Marburg after being here, and nobody knew exactly how he’d gotten it. I knew his path and followed it to see where he camped.

That night, we wrapped ourselves around a fire because there were lions and all these other animals. We were jumping around and waving sticks on fire at the animals in the absolute dark. My brother was going crazy and I joked, "I have to put my head inside of yours because I have a family and you don’t, so if a lion comes and bites one of our necks, it’s gotta be you."

Again, I was joking around, but it was a real danger. The next day, we walked into the Kitum Caves and you could see where rocks had been knocked over by the elephants.  There was also the smell of all of this animal dung—and that’s where the guy got the Marburg; scientists didn't know whether it was the dung or the bats.

"You really start thinking about what a machine it means we are—what it means that some of us don't need those feelings, while some of us need them so much. It destroys the romantic fabric of society, in a way."

A bit later, my brother read an article in The New Yorker about Marburg, which inspired the movie Outbreak. He asked me if I knew about it. I said, "Yeah. Wasn’t it exciting? Nobody gets to do this trip." And he called me names and said, "Not exciting enough. We could've gotten Marburg; we could have gotten killed every two seconds." All of my brothers have a lot of machismo and brio; you’ve got to be a tough guy in our family. But deep inside, I don't think that my brother fundamentally trusts me after that. And why should he, right? To me, it was nothing.

After all of this research, I started to think of this experience as an opportunity to do something good out of being kind of a jerk my entire life. Instead of trying to fundamentally change—because it’s very difficult to change anything—I wanted to use what could be considered faults, like narcissism, to an advantage; to do something good.

What has that involved?

I started with simple things of how I interact with my wife, my sister, and my mother. Even though they’ve always been close to me, I don't treat them all that well. I treat strangers pretty well—really well, and people tend to like me when they meet me—but I treat my family the same way, like they're just somebody at a bar. I treat them well, but I don't treat them in a special way. That’s the big problem.

I asked them thisit's not something a person will tell you spontaneously—but they said, "I give you everything. I give you all this love and you really don’t give it back." They all said it, and that sure bothered me. So I wanted to see if I could change. I don't believe it, but I'm going to try.

In order to do that, every time I started to do something, I had to think about it, look at it, and go: No. Don’t do the selfish thing or the self-serving thing. Step-by-step, that's what I’ve been doing for about a year and a half and they all like it. Their basic response is: We know you don’t really mean it, but we still like it.

I told them, "You’ve got to be kidding me. You accept this? It’s phony!" And they said, "No, it’s okay. If you treat people better it means you care enough to try." It blew me away then and still blows me away now. 

But treating everyone the same isn't necessarily a bad thing, is it? Is it just that the people close to you want more from you?

Yes. They absolutely expect and demand more. It's a kind of cruelty, a kind of abuse, because you're not giving them that love. My wife to this day says it's hard to be with me at parties because I've got all these people around me, and I'll leave her or other people in the cold. She is not a selfish person, but I can see how it can really work on somebody.

Related Story The Dark Side of Emotional Intelligence

I gave a talk two years ago in India at the Mumbai LitFest on personality disorders and psychopathy, and we also had a historian from Oxford talk about violence against women in terms of the brain and social development. After it was over, a woman came up to me and asked if we could talk. She was a psychiatrist but also a science writer and said, "You said that you live in a flat emotional world—that is, that you treat everybody the same. That’s Buddhist." I don't know anything about Buddhism but she continued on and said, "It's too bad that the people close to you are so disappointed in being close to you. Any learned Buddhist would think this was great." I don't know what to do with that.

Sometimes the truth is not just that it hurts, but that it's just so disappointing. You want to believe in romance and have romance in your life—even the most hardcore, cold intellectual wants the romantic notion. It kind of makes life worth living. But with these kinds of things, you really start thinking about what a machine it means we are—what it means that some of us don't need those feelings, while some of us need them so much. It destroys the romantic fabric of society in a way.

So what I do, in this situation, is think: How do I treat the people in my life as if I'm their son, or their brother, or their husband? It's about going the extra mile for them so that they know I know this is the right thing to do. I know when the situation comes up, but my gut instinct is to do something selfish. Instead, I slow down and try to think about it. It's like dumb behavioral modification; there’s no finesse to this, but I said, well, why does there have to be finesse? I’m trying to treat it as a straightaway thing, when the situation comes up, to realize there’s a chance that I might be wrong, or reacting in a poor way, or without any sort of love—like a human.

A few years ago there was an article in The New York Times called, "Can You Call a 9-Year-Old a Psychopath?" The subject was a boy named Michael whose family was concerned about him—he'd been diagnosed with several disorders and eventually deemed a possible psychopath by Dan Waschbusch, a researcher at Florida International University who studies "callous unemotional children." Dr. Waschbusch examines these children in hopes of finding possible treatment or rehabilitation. You mentioned earlier that you don't believe people can fundamentally change; what is your take on this research?

In the 70's, when I was still a post-doc student and a young professor, I started working with some psychiatrists and neurologists who would tell me that they could identify a probable psychopath when he or she was only 2 or 3 years old. I asked them why they didn't tell the parents and they said, "There's no way I’m going to tell anybody. First of all, you can't be sure; second of all, it could destroy the kid’s life; and third of all, the media and the whole family will be at your door with sticks and knives." So, when Dr. Waschbusch came out two years ago, it was like, "My god. He actually said it." This was something that all psychiatrists and neurologists in the field knew—especially if they were pediatric psychologists and had the full trajectory of a kid's life. It can be recognized very, very early—certainly before 9-years-old—but by that time the question of how to un-ring the bell is a tough one.

"People may say, 'Oh, this very bad investment counselor was a psychopath'—but the essential difference in criminality between that and murder is something we all hate and we all fear."

My bias is that even though I work in growth factors, plasticity, memory, and learning, I think the whole idea of plasticity in adults—or really after puberty—is so overblown. No one knows if the changes that have been shown are permanent and it doesn't count if it's only temporary. It's like the Mozart Effect—sure, there are studies saying there is plasticity in the brain using a sound stimulation or electrical stimulation, but talk to this person in a year or two. Has anything really changed? An entire cottage industry was made from playing Mozart to pregnant women's abdomens. That's how the idea of plasticity gets out of hand. I think people can change if they devote their whole life to the one thing and stop all the other parts of their life, but that's what people can't do. You can have behavioral plasticity and maybe change behavior with parallel brain circuitry, but the number of times this happens is really rare.

So I really still doubt plasticity. I'm trying to do it by devoting myself to this one thing—to being a nice guy to the people that are close to me—but it's a sort of game that I’m playing with myself because I don't really believe it can be done, and it's a challenge.

In some ways, though, the stakes are different for you because you're not violent—and isn't that the concern? Relative to your own life, your attempts to change may positively impact your relationships with your friends, family, and colleagues. But in the case of possibly violent people, they may harm others.

The jump from being a "prosocial" psychopath or somebody on the edge who doesn't act out violently, to someone who really is a real, criminal predator is not clear. For me, I think I was protected because I was brought up in an upper-middle-class, educated environment with very supportive men and women in my family. So there may be a mass convergence of genetics and environment over a long period of time. But what would happen if I lost my family or lost my job; what would I then become? That's the test.

For people who have the fundamental biology—the genetics, the brain patterns, and that early existence of trauma—first of all, if they're abused they're going to be pissed off and have a sense of revenge: I don't care what happens to the world because I'm getting evenBut a real, primary psychopath doesn't need that. They're just predators who don’t need to be angry at all; they do these things because of some fundamental lack of connection with the human race, and with individuals, and so on.

Someone who has money, and sex, and rock and roll, and everything they want may still be psychopathic—but they may just manipulate people, or use people, and not kill them. They may hurt others, but not in a violent way. Most people care about violence—that's the thing. People may say, "Oh, this very bad investment counselor was a psychopath"—but the essential difference in criminality between that and murder is something we all hate and we all fear. It just isn't known if there is some ultimate trigger. 

And though there isn't an absolute "fix," you talk about the importance of the "fourth trimester"—the months following a baby's birth when bonding is key. What are other really crucial moments where you can see how someone may be at risk, or where this convergence of genetics and environment might be crucial for intervention, or at least identifying what is happening?

There are some critical periods in human development. For the epigenome, the first moment is the moment of conception. That is when the genetics are very vulnerable to methylation and, therefore, the effects of a harsh environment: the mother under stress, the mother taking drugs, alcohol, and things like that. The second greatest susceptibility is the moment of birth and, of course, there are the third and fourth trimesters. After that, there is a slow sort of susceptibility curve that goes down.

The first two years of life are critical if you overlap them with the emergence of what are called complex adaptive behaviors. When children are born they have some natural kinds of genetic programming. For example, a kid will show certain kinds of fear—of certain people, then of strangers, then it’s acceptance of people—that’s complex-adaptive behavior at work in social interactions. But even laughing, and smiling, and making raspberry sounds are all complex-adaptive behaviors, and they will emerge automatically. You don't need to be taught these things.

One idea is that over the first three years there are 350 very early complex adaptive behaviors that go in sequence, but if somehow you’re interrupted with a stressor, it will affect that particular behavior that’s emerging or just about to emerge. It could be at a year and half, 3 months, or 12 months. After that, the effects of environment really start to drop; by the time you start hitting puberty, you kind of get locked in. And during puberty your frontal lobe system does a switch.

Courtesy James Fallon

Before puberty, a lot of your brain–your frontal lobe and its connections—has to do with the orbital cortex, amygdala, and that lower half of the brain that controls emotional regulation. It is also the origin of people's natural sense of morality, when they learn regulation and the rules of the game, which are ethics. Before then, generally, a normal kid is very much living in a world of id—eating, drinking, some sexualitybut they’re also extremely moralistic. So, those are two things that are fighting each other those first years.

Courtesy James Fallon

Then, there’s a switch that occurs late in adolescence. For some people it could be 17, 18, 19, or 20-years-old. What happens is that the upper part of the brain, the frontal lobe and its connections, start to mature. That's a critical time because that’s usually when you see schizophrenia, some forms of depression, and those major psychiatric disorders emerge. For personality disorders it’s not really known when they will emerge because it’s very understudied. People will say, you can’t do anything about it, it’s locked in and there seems to be almost no treatment. Whereas, for things like depression, bipolar, schizophrenia, anxiety disorders, you can do something about it. There are drugs, or things you can do with brain stimulation and talk therapy, so that's where Big Pharma and the whole industry goes.

You start to really see personality disorders emerge around puberty, but for some children who might be primary psychopaths—that is, they have all the genes and their brain sort of set in the third trimester—this can start emerging very early, around 2 or 3-years-old. That is why we have to have more trained eyes—because that is where this becomes important for society.

A primary psychopath won't necessarily be dangerous, but if we can see that in a kid, we can tell parents to look for certain kinds of behavior. And if those behaviors emerge, we can safely discuss, protecting the privacy of that family and of the kid, how to have the child interact with a nurse practitioner or a trained professional. At that point, we can say: Make sure this kid is never bullied in school; keep them away from street violence, on and on.

"You can't just take genetics and tell if someone's a criminal or a psychopath."

A lot of kids, most kids, get bullied and they may get pissed off, but that doesn’t create a personality disorder. But there are 20 percent of kids who are really susceptible and they may ultimately be triggered for a personality disorder in puberty. If we know these children can be helped by making sure that they aren't abused or abandoned—because you've got to get there really earlywell, then, that would be important to do. I don't mean to preach.

Well, go into the idea of preaching a little. You make a kind of grandiose statement at the beginning of your book that research into psychopaths, even with all of the privacy concerns, could have great implications for things from parenting to World Peace. What does that mean?

It means, for example, that if you have to go to war, and sometimes you probably have to go to war—I'm not talking about a belligerent country starting war or fomenting discord, but if you have to go to war and to engage infantryyou do not send 18-year-olds into it, because their brains aren't set. They don’t know how to adjudicate what's happening emotionally and hormonally with the intellectualization of it. When you're 20, 25, it’s a different matter because things gel a little more. Our emotions don't get away from us as much in terms of what is happening. Other factors, sociological ones like what soldiers return to, are also important, but we're not going to get rid of war any time soon, so we might as well engage in a way that does the least amount of damage.

In terms of legal action, you've been used as a researcher for court cases—not to determine guilt or innocence, but for sentencing. Do you think there’s a moral boundary for that since we don’t have enough knowledge on this field yet to determine guilt or innocence?

We don't have enough research. You can't just take genetics—even though I'm a big proponent of it—or imaging, and tell if someone's a criminal or a psychopath. If you put together all that information, you could explain a lot of behavior and causality and early abuse—but we don't know enough.

So, when I get a case to look at, first of all, I don't accept moneyand it's not because I'm a nice guy. It's because I think I'd be biased. I don't accept any payment and I don't want to know who the person is.We all try to create a story or narrative, and I'm just as weak as anybody. I'll tell the defense attorney, or public defender, or whoever it is to just send me scans, maybe with normal scans to try to throw me off, and then I'll look at them and discuss what the traits of the person might be based on the lack of activity in certain areas or not.

I can usually say, "Oh, this person might have a language problem," or "This person might have trouble with impulsivity." After all of that analysis is there, we can look at their traits and see what they've done.

We've talked a lot about how to support a child that might be psychopathic, but what if the parent is the one whose brain resembles that of a psychopath? For example, what was it like for you to form attachments with your own children?

During the time when our kids were the most vulnerable, they remember a magical time with me. In talking about this, our three oldest children have said they thought I was the warm one who was always around and always interacting with them, and they don't understand how I could say that I was cold to them. But my wife and I were 21 when we got married. Things started changing for me when I was about 19 or 20-years-old, and it was really in my late 20s when the kids were older and took care of themselves more, that I took on a lot of these psychopathic qualities—though early on I clearly had some. My actual behavior didn't go south until later on, and I think my wife's stability kept things together. 

Some people have this psychopathy or are almost psychopaths, and they get into trouble and go right to jail and end up in the prison system as 18-year-olds. It's awful because they get unlucky and they don't have enough impulse control to pull it back at the last instant. So, what is that edge where somebody's got these traits, and they are impulsive? What puts one guy on a pathway to becoming an attorney or successful in general, and the other one has life in prison? We just have to find out what that edge is. I think we will have parameters to work with, but it's not the same for everybody.

This article available online at:

http://www.theatlantic.com/health/archive/2014/01/life-as-a-nonviolent-psychopath/282271/

An immutable operating system (August Lilleaas' blog)

$
0
0

Comments:"An immutable operating system (August Lilleaas' blog)"

URL:http://augustl.com/blog/2014/an_immutable_operating_system/


Published February 02, 2014

An operating system? Really?

Why an operating system

Roughly a year ago I got the idea for an OpenGL renderer based on immutable values. I blogged about it, and it acually got a little bit of attention on Hacker News and reddit. A few people even e-mailed me.

After a lot of hammock time, the idea has evolved into an operating system. The general idea is: what would an operating system look like if all values were immutable?

An immutable operating system!? The world is mutable!

Immutable values is actually a perfectly reasonable view of the world. As an observer, you observe the world as time passes. When you want to process something, you take a photograph. This photograph is immutable, and you can spend as much time as you'd like analyzing it.

Back to the operating system. The closest you can get to mutation is a swap operation. You will have something called atoms. All they do is point to an immutable value. You can at any point in time ask for its current immutable value (what is the current state?). You will always get a complete (immutable) value back from the atom, hence the name atom. And you can write to the atom, meaning point the atom to a new immutable value. You can never change a value in place. An atom will have mechanisms for "only update if nobody else has updated since I last read" and so on, so you can have some control.

The observant reader will have noticed that what I just described is the state model in Clojure. So that is what my operating system will have. State will have to be modelled as a succession of immutable values.

The immutable memory model

So, a process will have atoms which points to immutable values, and all values are immutable. And by all, I mean all. You will be able to store plain bytes in a value. But these bytes are immutable. Bit shift? New value. "Change" byte 4? New value.

In this model, memory can safely be shared across processes. What's unsafe about passing an immutable value to another process? Nothing. It's completely safe. No defensive copying or protection semantics are needed. Only atoms needs protection. There will probably also be a mechanism for sharing atoms across processes, but the process that created the atom will need to allow it.

Process forking is close to a no-op. In Linux, a fork has very clever (and good) COW semantics so a fork is initially no-op, but as soon as either processes starts to change their memory, copies are made. There's obviously some overhead to this. When values are immutable, though, there's absolutely no overhead and no copying is needed. Immutable is immutable! The only callenge is the atoms, which can either be copied O(N) style (a process will probably only have 10s of atoms), or have Linux style COW semantics.

All of this will break horribly if one can do pointer arithmetic. But the plan is for the system language of this operating system to not have pointers. Pointers are places, and we don't like places. We only want values.

There can be various optimizations, of course. Clojure has transients, which basically means "inside this function, use a mutable value under the hood while building up the value, but make it immutable before it's returned". So for the outside world, the function doesn't really mutate anything other than the mutable value that was only visible internally to the function that was called. I will experiment with automatically detecting this for you. We can also do things like monitoring whether someone else actually has a reference to your list of bytes, and if nobody has, we can mutate the bytes under the hood. Purely as an optimization, completely invisible to the programmer.

Garbage collection

A system of immutable values needs garbage collection. This will happen at the operating system level.

A garbage collector that knows that all values are immutable will be rather interesting, I think. Typically, a garbage collector will stop the world (i.e. halt execution) to do heap defragmentation of the old generation. When all values are immutable, though, you can defragment the heap by copying a value to another fragment and just swap the internal pointer to the value.

On a related note, one could even optimize the internal byte encoding values without stopping the world, in a similar copy-and-swap-pointer manner. Suppose we detect that value X in the old generation is a map that hasn't changed for some time. Perhaps we can optimize it to be some kind of struct instead, meaning copying it to a different location in memory but with a different and hopefully more efficient encoding. Nobody but the kernel needs to know, and no execution needs to be stopped.

Performance

At no point will design desicions be made to achieve better mechanical sympathy. In fact, it's a specific goal to have as much of the C code in the OS as possible be replacable with hardware. One of my overzealous pretentions dreams are to present this OS to Intel, and have someone in the audience proclaim loudly "finally we can replace traditional RAM with [insert new idea X]!" Or whatever. I'm not a hardware designer. But garbage collected memory of immutable values and atoms, in hardware? Om nom.

This doesn't mean I won't work to get as good performance as possible. Perhaps this OS will even perform better than traditional OS-es at some things, since there's no need for COW and defensive copying, values can be shared freely. And processors already cache code much more efficiently than data, since the processor assumes code is immutable. Perhaps L1 and L2 caches can be much more efficient if the CPU knows which data pages in memory are immutable? Perhaps we can get across the von Neumann bottleneck by copying data to multiple chips, it's immutable after all and completely safe to copy. Who knows! Time will tell.

Files

Haven't thought a lot about this. Frankly I don't use files a lot in my programs, I tend to talk to databases. So I'm thinking that perhaps the durable storage system in the OS could be a key/value database. Perhaps with Datomic-like append only immutability. Or perhaps the file system can and should be an immutable place even in this new fancy immutable OS. Again, who knows.

The system language

It will be Lisp. Kind of. I will define a bytecode format for a Lisp, probably similar to EDN. This isn't really compiled bytecode, so perhaps bytecode is the wrong word. The idea is that the AST of a lisp will be encoded with a smart format that isn't just plain text. Plain text sucks. This format will then be read by a JIT compiler (probably LLVM) and compiled to native machine code.

Code will of course also be immutable. So it will be safe to do hot deploys, existing code will keep on running, and new top-level invocations will use the newly hot deployed code.

Not sure if it will be static or dynamic. It will probably be whatever is easiest to prototype.

And once again, it shows that this operating system is very much a derivative work of Clojure. I'm not sure if the system language will be a Clojure (Clojure is already deployed to multiple platforms, JS, JVM, CLR, ...). Once again, who knows.

I'm probably wrong

This is the first operating system I've written.

I might be horribly wrong about everything. This is why I'm making it. It's a research project, where no pragmatic goals such as working around buggy firmware will be made. Dare I say: "just a hobby, won't be big and professional like gnu". I don't want to propose talks at conferences about my ideas until I've actually proven to myself that they make sense and aren't completely incorrect.

The learning curve is immense, so there's not a lot of stuff up and running yet. You will probably hear from me again when I've got a basic process and GC env up and running.

Questions or comments?

Feel free to contact me on Twitter, @augustl, or e-mail me at august@augustl.com.

Not actually capped at 100 billion? · Issue #23 · dogecoin/dogecoin · GitHub

$
0
0

Comments:"Not actually capped at 100 billion? · Issue #23 · dogecoin/dogecoin · GitHub"

URL:https://github.com/dogecoin/dogecoin/issues/23#issuecomment-33893149


There was a comment on this thread earlier (that seems to have been deleted) that got me thinking about this problem again.

I think we can all agree that the current rate at which the block reward is decreasing is not in the best interest of the coin, but how to go about addressing this without damaging the coin's stability, utility. security, etc? I spent a lot of time playing around with a spreadsheet this morning and eventually reached the conclusion that we'll likely need to both adjust the block time and the rate at which the block value is reduced. Also, while I had initially thought that the 100,000,000,000 coin limit was a good thing I've come around to thinking that it's probably okay to build in a tiny bit of inflation, as the dogecoin foundation states: "The point of any currency is to exchange it for goods and services so making a pile and hiding it in a secret lair is no good to anyone". Built-in inflation helps promote these exchanges. So, I offer the following proposal which would proceed in 3 stages:

Stage 1 (blocks 0 - 149,999): well that's actually where we're at right now
State 2 (blocks 150,000 - 199,999): block time increased to 90 seconds
Stage 3 (blocks 200,000+): New block value calculation

I mentioned the idea for stage 2 in an earlier post so I won't get into that. For the last stage, before block 200,000 rolled around the following GetBlockValue would be in place:

https://gist.github.com/somegeekintn/8456847

Basically what would happen is that the block reward would actually decrease by 59.6% at block 200,000. In exchange for this more substantial reduction, the number of blocks between reward decreases would be doubled. After that each reduction would be slightly less than the last with the random portion of the reward having less and less significance with each reduction until (at block 9,200,000) the random portion will have completely right shifted itself out of existence.

You'll notice there are two variants to the GetBlockValue. One would always add 1000 doge to the value and the other would insure that the block reward was at least 1000 doge. That is, if the random portion and the fees totaled less than 1000 then the value would be set to 1000.

In exchange for these two disruptions, dogecoin's block value would settle into a gentle decline once every 208.3 days as opposed to the current rate of once every 69.4 days. It would end up working out like this:

through / reward / totalcoins
02/14/14 / 500,000 / 50,000,000,000
05/11/14 / 250,000 / 75,000,000,000
12/05/14 / 101,000 / 95,200,000,000
07/01/15 / 51,000 / 105,400,000,000
01/26/16 / 26,000 / 110,600,000,000
08/21/16 / 13,500 / 113,300,000,000
03/17/17 / 7,250 / 114,750,000,000
10/12/17 / 4,125 / 115,575,000,000
05/08/17 / 2,562.5 / 116,087,500,000
10/12/17 / 1781.25 / 116,443,750,000

and so on until the random portion of the block reward is completely eliminated in sometime in 2040. At that point there will have been ~124,000,000,000 coins mined and the reward will be fixed at 1000. At 1000 coins per block the total supply will grow by 350,400,000 coins/year or about 0.66% of the total at that point in time.

Lastly, for better or worse, dogecoin is most often exchanged for BTC and its value is expressed in those units. About 47 satoshis at the moment. I deliberately tried to keep the inflation somewhat in check because I think we may run into trouble if the value falls below 20 satoshis. At 20 satoshis increase / decrease of 1 unit translates to a valuation change of 5%! Also you have to wonder at what point value that exchanges would consider removing DOGE/BTC pairs and maybe force trading in LTC, etc.

This transition period is not going to be fun, but I think in the end we'll have a solid foundation on which to build.

Git tips from the trenches

$
0
0

Comments:"Git tips from the trenches"

URL:https://ochronus.com/git-tips-from-the-trenches/


Facebook Twitter Google+ February 1, 2014 by Csaba Okrona

After a few years with git everyone has his own bag o' tricks - a collection of bash aliases, one liners and habits that make his daily work easier.

I've gathered a handful of these with varying complexity hoping that it can give a boost to you. I will not cover git or VCS basics at all, I'm assuming you're already a git-addict.

So fire up your favorite text editor and bear with me.

Check which branches are merged

After a while if you branch a lot you'll se your git branch -a output is polluted like hell (if you havent't cleaned up). It all the more true if you're in a team. So, from time to time you'll do the Big Spring Cleaning only to find it hard to remember which branch you can delete and which you shouldn't. Well, just check out your mainline branch (usually master) and:

$ git checkout master$ git branch --merged

to see all the branches that have already been merged to the current branch (master in this case).

You can do the opposite of course:

How about deleting those obsolete branches right away?

$ git branch --merged | xargs git branch -d

Alternative: use GitHub's Pull request UI if you've been a good sport and always used pull requests.

Find something in your entire git history

Sometimes you find yourself in the situation that you're looking for a specific line of code that you don't find with plain old grep - maybe someone deleted or changed it with a commit. You remember some parts of it but have no idea where and when you committed it. Fortunately git has your back on this. Let's fetch all commits ever then use git's internal grep subcommand to look for your string:

$ git rev-list --all | xargs git grep '<YOUR REGEX>'$ git rev-list --all | xargs git grep -F '<YOUR STRING>'# if you don't want to use regex

Fetch a file from another branch without changing your current branch

Local cherry-picking. Gotta love it. Imagine you're experimenting on your current branch and you suddenly realise you need a file from the oh-so-distant branch. What do you do? Yeah, you can stash, git checkout, etc. but there's an easier way to merge a single file in your current branch from another:

$ git checkout <OTHER_BRANCH> -- path/to/file

See which branches had the latest commits

Could also be useful for a spring cleaning - checking how 'old' those yet unmerged branches are. Let's find out which branch hadn't been committed to in the last decade. Git has a nice subcommand, 'for-each-ref' which can print information for each ref (duh) - the thing is that you can both customize the output format and sort!

$ git for-each-ref --sort=-committerdate --format='%(refname:short) %(committerdate:short)'

It will output branches and tags, too.

This deserves an alias, don't you think?

$ git config --global alias.springcleaning "for-each-ref --sort=-committerdate --format='%(refname:short) %(committerdate:short)'"

Making typos?

Git can autocorrect you.

$ git config --global help.autocorrect 1$ git dffi
WARNING: You called a Git command named 'dffi', which does not exist.
Continuing under the assumption that you meant 'diff'
in 0.1 seconds automatically...

Autocomplete, anyone?

If you download this file and modify your .bash_profile by adding:

source ~/.git-completion.bash

Git will now autocomplete your partial command if you press TAB. Neat.

Hate remnant whitespace?

Let git strip it for you. Use the mighty .gitattributes file in the root of your project and say in it:

Or say you don't want this for all files (*), only scala sources:

*.scala filter=stripWhitespace

But the filter is not defined yet, so chop-chop:

$ git config filter.stripWhitespace.clean strip_whitespace

(Actually there are two types of filters: clean and smudge. Clean runs right before pushing, smudge is run right after pulling)

We still have to define what strip_whitespace is, so create a script on your PATH and of course make it executable:

#!/usr/bin/env rubySTDIN.readlines.eachdo|line|putsline.rstripend

You could also do this as a precommit hook, of course.

Recovering lost data

The rule of thumb is that if you lost data but committed/pushed it somewhere, you're probably able to recover it. There are basically two ways:

reflog

Any change you make that affects a branch is recorded in the reflog. See:

$ git log -g
commit be5de4244c1ef863e454e3fb7765c7e0559a6938
Reflog: HEAD@{0}(Csaba Okrona <xxx@xx.xx>)
Reflog message: checkout: moving from master to master
Author: Robin Ward <xxx@xx.xx>
Date: Fri Nov 8 15:05:14 2013 -0500
 FIX: Pinned posts were not displaying at the top of categories.

If you see your lost commit(s) there, just do a simple:

$ git branch my_lost_data [SHA-1]

Where SHA-1 is the hash after the 'commit' part. Now merge your lost data into your current branch:

git-fsck

This gives you all the objects that aren't referenced by any other object (orphans). You can fetch the SHA-1 hash and do the same dance as above.

A nicer, one-line log

Get a color-coded, one-line-per-commit log showing branches and tags:

$ git log --oneline --decorate
355459b Fix more typos in server locale
b95e74b Merge pull request #1627 from awesomerobot/master
40aa62f adding highlight & fade to linked topic
15c29fd (tag: v0.9.7.3, tag: latest-release) Version bump to v0.9.7.3
c753a3c We shouldn't be matching on the `created_at` field. Causes tests to randomly fail.
dbd2332 Public user profile page shows if the user is suspended and why.

Highlight word changes in diff

Bored of the full-line highlights? This only highlights the changed words, nicely inline. Try:

A shorter, pro git status

Showing only the important things.

$ git status -sb## master...origin/master
?? _posts/2014-02-01-git-tips-from-the-trenches.md
?? images/git-beginner-share.png
?? images/git-beginner.jpg

Bored of setting up tracking branches by hand?

Make git do this by default:

$ git config --global push.default tracking

This sets up the link to the remote if it exists with the same branch name when you push.

Pull with rebase, not merge

To avoid those nasty merge commits all around.

Or do it automatically for any branch you'd like:

$ git config branch.master.rebase true

Or for all branches:

$ git config --global branch.autosetuprebase always

Find out which branch has a specific change

$ git branch --contains [SHA-1]

If you want to include remote tracking branches, add '-a'

Check which changes from a branch are already upstream

Show the last commit with matching message

Write notes for commits

These are only visible locally.

More cautious git blame

Before you play the blame game, make sure you check you're right with:

$ git blame -w # ignores white space$ git blame -M # ignores moving text$ git blame -C # ignores moving text into other files

Aliases make life easier

These go to the '[alias]' section of your .gitconfig

ds= diff --staged # git ds - diff your staged changes == review before committing.st= status -sb # smarter status - include tag and branch infofup= log --since '1 day ago' --oneline --author <YOUR_EMAIL> # I know what you did yesterday - great for follow-upsls= log --pretty=format:"%C(yellow)%h %C(blue)%ad%C(red)%d %C(reset)%s%C(green) [%cn]" --decorate --date=short # pretty one-line log with tags, branches and authorslsv= log --pretty=format:"%C(yellow)%h %C(blue)%ad%C(red)%d %C(reset)%s%C(green) [%cn]" --decorate --date=short --numstat # a verbose ls, shows changed files too# some resets without explanationr= resetr1= reset HEAD^r2= reset HEAD^^rh= reset --hardrh1= reset HEAD^ --hard# basic shortcutscp= cherry-pickst= status -scl= cloneci= commitco= checkoutbr= branch diff= diff --word-diffdc= diff --cached# stash shortcutssl= stash listsa= stash applyss= stash saverh2= reset HEAD^^ --hard

Did I miss something? Tell me in comments ;)

Facebook

Twitter

Google+

Community

$
0
0

Comments:"Community"

URL:http://jeffw.svbtle.com/community


“That’s a stupid idea. Their product will never succeed. I hope that startup dies.” - These are phrases that I commonly hear in Silicon Valley. In the world where 9 of 10 businesses deadpool, predicting failure probably is a lot easier than predicting success. In fact, being skeptical is quite helpful when discerning the good ideas from the bad ones.

However, the problem is when these comments become more destructive than constructive. I see it online, in the comments section of popular sites. I hear it in-person, often behind the entrepreneur’s back. It’s become common conversation among founders, startup employees, VCs, and pundits. I’ll be honest: I’m not any less guilty of making these remarks myself.

Every now and then though, I take a step back and remember that behind every startup is an entrepreneur who’s made great sacrifices just to make a run at their product.

It’s one thing to say “That product is stupid,” and another to actually approach the entrepreneur and say “I don’t think it’s going to work because of X, Y, and Z.” To be clear, I’m also definitely not advocating we avoid feedback and criticism either. It’s even less helpful to say “That sounds interesting” when you didn’t mean it, letting the entrepreneur toil their life away on something that’s clearly not working. Let’s be critical, but draw a line on when the comments are helpful and when they are not.

I think we owe it to one another to be constructive. The best ideas often seem like bad ideas at the beginning.

Historically, one of the reasons Silicon Valley has been so successful is the community’s willingness to help one another. Now that technology is going through another boom, more and more people are joining the industry. As the community grows, let’s make sure the community’s spirit does not dilute and we stay constructive and helpful towards one another.

You can reach the author at direct@jeffwang.org

  661 Kudos   661 Kudos

Media Blacks Out New Snowden Interview The Government Doesn’t Want You to See | Ben Swann Truth In Media

$
0
0

Comments:"Media Blacks Out New Snowden Interview The Government Doesn’t Want You to See | Ben Swann Truth In Media"

URL:http://benswann.com/media-blacks-out-new-snowden-interview-the-government-doesnt-want-you-to-see/#ixzz2s0BPBRUm


This past Sunday evening former NSA contractor Edward Snowden sat down for an interview with German television network ARD. The interview has been intentionally blocked from the US public, with virtually no major broadcast news outlets covering this story. In addition, the video has been taken down almost immediately every time it’s posted on YouTube.

In contrast, this was treated as a major political event in both print and broadcast media, in Germany, and across much of the world. In the interview, Mr. Snowden lays out a succinct case as to how these domestic surveillance programs undermines and erodes human rights and democratic freedom.

He states that his “breaking point” was “seeing Director of National Intelligence, James Clapper, directly lie under oath to Congress” denying the existence of a domestic spying programs while under questioning in March of last year. Mr. Snowden goes on to state that, “The public had a right to know about these programs. The public had a right to know that which the government is doing in its name, and that which the government is doing against the public.”

It seems clear that the virtual blackout of this insightful interview is yet another deliberate attempt to obfuscate the truth from the view of the American public. The media has continually attempted to shill the official government lies about mass domestic surveillance programs, justifying them as necessary to fight the “War on Terror”, while attempting to painting Mr. Snowden as a traitor.

In regards to accusations that he is a traitor or a foreign agent, he states, “ If I am traitor, who did I betray? I gave all my information to the American public, to American journalists who are reporting on American issues. If they see that as treason, I think people really need to consider who they think they’re working for. The public is supposed to be their boss, not their enemy. Beyond that as far as my personal safety, Ill never be fully safe until these systems have changed.”

The attempt to bury this interview by the government/corporate symbiosis has extremely dark implications. Additionally, the fact that government officials have openly talked about assassinating Mr. Snowden cannot be taken lightly, and Mr. Snowden obviously takes these threats to his life very seriously. Sadly, the reality of the US government assassinating an American citizen is not beyond the realm of possibility in the age we live in.

Reversing the WRT120N’s Firmware Obfuscation - /dev/ttyS0

$
0
0

Comments:"Reversing the WRT120N’s Firmware Obfuscation - /dev/ttyS0"

URL:http://www.devttys0.com/2014/02/reversing-the-wrt120n-firmware-obfuscation/


It was recently brought to my attention that the firmware updates for the Linksys WRT120N were employing some unknown obfuscation. I thought this sounded interesting and decided to take a look.

The latest firmware update for the WRT120N didn’t give me much to work with:

Binwalk firmware update analysis

As you can see, there is a small LZMA compressed block of data; this turned out to just be the HTML files for the router’s web interface. The majority of the firmware image is unidentified and very random. With nothing else to go on, curiosity got the best of me and I ordered one (truly, Amazon Prime is not the best thing to ever happen to my bank account).

Hardware Analysis

A first glance at the hardware showed that the WRT120N had a Atheros AR7240 SoC, a 2MB SPI flash chip, 32MB of RAM, and what appeared to be some serial and JTAG headers:

WRT120N PCB

Looking to get some more insight into the device’s boot process, I started with the serial port:

UART Header

I’ve talked about serial ports in detail elsewhere, so I won’t dwell on the methods used here. However, with a quick visual inspection and a multimeter it was easy to identify the serial port’s pinout as:

  • Pin 2 – RX
  • Pin 3 – TX
  • Pin 5 – Ground

The serial port runs at 115200 baud and provided some nice debug boot info:

$ sudo miniterm.py /dev/ttyUSB0 115200
--- Miniterm on /dev/ttyUSB0: 115200,8,N,1 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
=======================================================================
Wireless Router WG7005G11-LF-88 Loader v0.03 build Feb 5 2009 15:59:08
 Arcadyan Technology Corporation
=======================================================================
flash MX25L1605D found.
Copying boot params.....DONEPress Space Bar 3 times to enter command mode ...
Flash Checking Passed.Unzipping firmware at 0x80002000 ... [ZIP 3] [ZIP 1] done
In c_entry() function ...
install_exception 
install exception handler ...
install interrupt handler ...
ulVal: 0x484fb
Set GPIO #11 to OUTPUT
Set GPIO #1 to OUTPUT
Set GPIO #0 to OUTPUT
Set GPIO #6 to INPUT
Set GPIO #12 to INPUT
Timer 0 is requested
##### _ftext = 0x80002000
##### _fdata = 0x80447420
##### __bss_start = 0x804D5B04
##### end = 0x81869518
##### Backup Data from 0x80447420 to 0x81871518~0x818FFBFC len 583396
##### Backup Data completed
##### Backup Data verified
[INIT] HardwareStartup ..
[INIT] System Log Pool startup ...
[INIT] MTinitialize ..
CPU Clock 350000000 Hz
init_US_counter : time1 = 270713 , time2 = 40272580, diff 40001867
US_counter = 70
 cnt1 41254774 cnt2 41256561, diff 1787
Runtime code version: v1.0.04
System startup...
[INIT] Memory COLOR 0, 1600000 bytes ..
[INIT] Memory COLOR 1, 1048576 bytes ..
[INIT] Memory COLOR 2, 2089200 bytes ..
[INIT] tcpip_startup ..
Data size: 1248266
e89754967e337d9f35e8290e231c9f92
Set flash memory layout to Boot Parameters found !!!
Bootcode version: v0.03
Serial number: JUT00L602233
Hardware version: 01A
...

The firmware looked to have been made by Arcadyan, and the ‘Unzipping firmware…’ message was particularly interesting; a bit of Googling turned up this post on reversing Arcadyan firmware obfuscation, though it appears to be different from the obfuscation used by the WRT120N.

The only interaction with the serial port was via the bootloader menu. During bootup you can break into the bootloader menu (press the space bar three times when prompted) and perform a few actions, like erasing flash and setting board options:

Press Space Bar 3 times to enter command mode ...123
Yes, Enter command mode ...
[WG7005G11-LF-88 Boot]:?
======================
 [U] Upload to Flash 
 [E] Erase Flash 
 [G] Run Runtime Code 
 [A] Set MAC Address 
 [#] Set Serial Number 
 [V] Set Board Version 
 [H] Set Options 
 [P] Print Boot Params 
 [I] Load ART From TFTP 
 [1] Set SKU Number 
 [2] Set PIN Number 
======================

Unfortunately, the bootloader doesn’t appear to provide any options for dumping the contents of RAM or flash. Although there is a JTAG header on the board, I opted for dumping the flash chip directly since JTAG dumps tend to be slow, and interfacing directly with SPI flash is trivial.

Pretty much anything that can speak SPI can be used to read the flash chip; I used an FTDI C232HM cable and the spiflash.py utility included with libmpsse:

$ sudo spiflash --read=flash.bin --size=$((0x200000)) --verify
FT232H Future Technology Devices International, Ltd initialized at 15000000 hertz
Reading 2097152 bytes starting at address 0x0...saved to flash.bin.
Verifying...success.

The flash chip contains three LZMA compressed blocks and some MIPS code, but the main firmware image is still unknown:

Flash analysis

The first two blocks of LZMA compressed data are part of an alternate recovery image, and the MIPS code is the bootloader. Besides some footer data, the rest of the flash chip simply contains a verbatim copy of the firmware update file.

Bootloader Analysis

The bootloader, besides being responsible for de-obfuscating and loading the firmware image into memory, contains some interesting tidbits. I’ll skip the boring parts in which I find the bootloader’s load address, manually identify standard C functions, resolve jump table offsets, etc, and get to the good stuff.

First, very early in the boot process, the bootloader checks to see if the reset button has been pressed. If so, it starts up the “Tiny_ETCPIP_Kernel” image, which is the small LZMA-compressed recovery image, complete with a web interface:

Unzipping Tiny Kernel

This is nice to know; if you ever end up with a bad firmware update, holding the reset button during boot will allow you to un-brick your router.

There is also a hidden administrator mode in the bootloader’s UART menu:

Hidden bootloader menu

Entering an option of ! will enable “administrator mode”; this unlocks a few other options, including the ability to read and write to memory:

[WG7005G11-LF-88 Boot]:!
Enter Administrator Mode !
======================
 [U] Upload to Flash 
 [E] Erase Flash 
 [G] Run Runtime Code 
 [M] Upload to Memory 
 [R] Read from Memory 
 [W] Write to Memory 
 [Y] Go to Memory 
 [A] Set MAC Address 
 [#] Set Serial Number 
 [V] Set Board Version 
 [H] Set Options 
 [P] Print Boot Params 
 [I] Load ART From TFTP 
 [1] Set SKU Number 
 [2] Set PIN Number 
======================
[WG7005G11-LF-88 Boot]:

The most interesting part of the bootloader, of course, is the code that loads the obfuscated firmware image into memory.

Obfuscation Analysis

De-obfuscation is performed by the load_os function, which is passed a pointer to the obfuscated image as well as an address where the image should be copied into memory:

The de-obfuscation routine inside load_os is not complicated:

De-obfuscation routine

Basically, if the firmware image starts with the bytes 04 01 09 20 (which our obfuscated firmware image does), it enters the de-obfuscation routine which:

  • Swaps the two 32-byte blocks of data at offsets 0×04 and 0×68.
  • Nibble-swaps the first 32 bytes starting at offset 0×04
  • Byte-swaps each of the adjacent 32 bytes starting at offset 0×04

At this point, the data at offset 0×04 contains a valid LZMA header, which is then decompressed.

Implementing a de-obfuscation tool was trivial, and the WRT120N firmware can now be de-obfuscated and de-compressed:

$ ./wrt120n ./firmware/FW_WRT120N_1.0.07.002_US.bin ./deobfuscated.bin
Doing block swap...
Doing nibble-swap...
Doing byte-swap...
Saving data to ./deobfuscated.bin...
Done!

Analysis of de-obfuscated firmware

The de-obfuscation utility can be downloaded here for those interested.

Why I absolutely love the Microsoft BizSpark Programme | Shaumik Daityari's Voice | The Blog Bowl

$
0
0

Comments:" Why I absolutely love the Microsoft BizSpark Programme | Shaumik Daityari's Voice | The Blog Bowl "

URL:http://theblogbowl.in/your_voice/why-i-absolutely-love-the-microsoft-bizspark-programme/view/


Let me just start by saying that if it hadn't been for the Microsoft Bizspark programme, I wouldn't be writing this today. How that happened is something that will take some explaining.

Me and Kshitij came up with the idea of The Blog Bowl way back in August. Since both of us are programmers, we really didn't need any capital to get started and came up with a working prototype of the product in less than a month (did I mention we had our mid semester exams in between?) Naturally, we needed a host (and that too, at a low price). Having worked with AWS (Amazon Web Services) before and our familiarity with Linux based systems, we went for the free tier program, which gave us a micro instance for a year (Thanks Akshit for clearing it was a year and not just a month).

The day of the launch of the product, the database stopped twice. Agreed our code was a bit sloppy, but part of the blame should also go the micro instance (it is just NOT good enough for production, as Vivek must have told me a thousand times!)

Meanwhile, I got an email from AWS telling me I was eligible to try out Amazon RDS (Relational Database Service). I went ahead and fired up a micro instance to serve my database needs. All seemed well...

... until, I was presented with a bill of $67 for the month of November for RDS. Where did the problem arise? Apparently, there was a spike in my website traffic (which still had <10 visitors per day because we hadn't done anything major there yet, courtesy Google Analytics), and that updated the configuration automatically to a point which was not free anymore. You got to be kidding me, right?

Thankfully, Kshitij had heard about the BizSpark programme on Quora, and I had already enrolled The Blog Bowl there (getting your application accepted is not so tough!) Naturally, I went and created a Windows Azure account. The BizSpark program entitles me to certain benefits, including a good server, for three years (Yes, you read it right- THREE years).

What's good to know is that The Blog Bowl doesn't use any Windows product- it's made in python/django, hosted with Apache2 and mod_wsgi on a Ubuntu 12.04.

Another thing that really encouraged me is a the introduction of a dedicated point of contact. I got a call from Microsoft one day after I joined Azure, welcoming me to the product and offering me assistance to set it up. As a part of BizSpark, we are entitled to $150 of free credits in Windows Azure per month.

I have since fired up a Medium instance which gives me 3.5 GB of memory (compared to 675 MB in AWS) and a processor with two cores! That is just over half of the allocated $150 credits. As my point of contact explained, there are many other things I can do- like getting a cache server and a paid support plan- all under my allocated credits.

What all of this effectively means for a startup like ours, where the core team is full of developers, is there is hardly any cost of running our services for the next three years. Any investment that we get will not be wasted on petty server issues, thanks to BizSpark!

What are you waiting for? Sign up for BizSpark already!

Psst, getting accepted is not rocket science. Just explain your idea nicely. If we could get selected, you would probably do as well. Good luck!

Jeopardy's Controversial New Champion Is Using Game Theory To Win Big - Business Insider

$
0
0

Comments:"Jeopardy's Controversial New Champion Is Using Game Theory To Win Big - Business Insider"

URL:http://www.businessinsider.com/jeopardys-controversial-new-champion-is-using-game-theory-to-win-big-2014-2


Meet Arthur Chu, Jeopardy's latest and greatest star, who has used Jeopardy game theory to become nightly must-see TV. But his unorthodox methods — though correct by the numbers — have made him a polarizing figure in the Jeopardy community.

Arthur first appeared on the show on Tuesday, and has gone on a nice run of three straight wins. Thus far, he's been quick and confident with his answers and has a good brain on his shoulders. But the story is firmly on how he's playing, as his game theory strategies have made for a frustrating television experience for viewers. Those methods have Philly.com calling him a "hero," Mental Floss breaking down the source of his success, and Bar Stool anointing him a "mad genius." Of course, others haven't taken his strategies so kindly, with a mix of real and faux outrage directed at Arthur (guilty!).

So what's the controversy all about?

Daily Double Searching

It's Arthur's in-game strategy of searching for the Daily Double that has made him such a target. Typically, contestants choose a single category and progressively move from the lowest amount up to the highest, giving viewers an easy-to-understand escalation of difficulty. But Arthur has his sights solely set on finding those hidden Daily Doubles, which are usually located on the three highest-paying rungs in the categories (the category itself is random). That means, rather than building up in difficulty, he begins at the most difficult questions. Once the two most difficult questions have been taken off the board in one column, he quickly jumps to another category. It's a grating experience for the viewer, who isn't given enough to time to get in a rhythm or fully comprehend the new subject area. And it makes for ugly, scattered boards, like above.

However, Wednesday's game showed the benefits of that strategy. Arthur's searching was rewarded with all three of the game's Daily Doubles. Arthur was particularly fond of the "true" Daily Double, wagering all his money the first time (he lost it all) but quickly recovering with a massive wager later on another Daily Double. While most contestants are hesitant to go all-or-nothing, Arthur is happily taking those calculated risks.

One Daily Double, in which he wagered just $5, was particularly strange. Arthur's searching landed him a Daily Double in a sports category, a topic he knew nothing about. (Ever the joker, he tweeted he'd rather have sex with his wife than learn about sports). Most contestants will avoid their topics of weakness, but not Arthur. Instead, he wagered just $5 on the sports question, effectively making its specifics irrelevant. Trebek and the audience giggled, and when the question came, Arthur immediately blurted out "I don't know." But that wasn't a waste of a Daily Double, as he kept that question out of the hands of the other contestants. Winning in Jeopardy just means beating the other two, and this strategy made that possible.

Aggressive Buzzing

Some of the dislike for Arthur is a matter of personal style. Arthur is an incessant buzzer-clicker, who emphatically presses his answering button like there's no tomorrow. Given that he knows almost every answer, he's perpetually smacking on that buzzer in public view. It's pretty annoying, as the Vine to the right shows.

He also plays a furiously quick pace, often bowling over Alex Trebek's words to get to the next question. This is also a matter of strategy—the more questions he can get to before the time runs out, the more money he can win—but it isn't the most endearing style of play.Playing for the Tie

Due to Arthur's newfangled shenanigans, Wednesday's Jeopardy ended in a rare tie. In Final Jeopardy, the leading contestant typically wagers $1 more than double of the 2nd place contestant. If both answer correctly, then the person in the lead wins by that extra buck. But Arthur did not add the $1, wagering enough so that if he and Carolyn both answered correctly, they would tie. And that's exactly what happened, as both moved on to the next round. He made the same move on Tuesday, as well, though he was the only contestant to answer correctly. "Interesting wager," host Alex Trebek condescended, after the tie.

While it seems strange, it's actually the correct move to make, says The Final Wager blog, the brainchild of former Jeopardy winner Keith Williams that breaks down the proper mathematical wagering. Basically, the whole point of the game is to move on to the next round. Whether or not someone joins you is largely irrelevant. In addition, there's a certain mind-game tactic that can make the trailing contestant bet an irrational number. While the numbers stand behind these ideas, Tuesday's tie-targeting move was the first to do so all season, Williams said. "It's really cool to see this happen," he said. In fact, Arthur admitted to Williams that he got the idea from his videos.

It's only been three episodes, of course, so it's too early to declare Arthur the next Ken Jennings, who won 74 (!) straight gamesin 2004. But in terms of influence on the game, Arthur looks like a trendsetter of things to come. Hopefully that has more to do with his game theory than with his aggressive button-pressing. 

This post originally appeared at The Wire. Check out The Wire's Facebook, newsletters and feeds. Copyright 2014. Follow The Wire on Twitter.

Hitchhiker's Guide to Clojure - Squid's Blog

What If You Combined Co-Working And Daycare? | Fast Company | Business + Innovation

$
0
0

Comments:"What If You Combined Co-Working And Daycare? | Fast Company | Business + Innovation"

URL:http://www.fastcompany.com/3025741/work-smart/what-if-you-combined-co-working-and-daycare


Two years ago Diana Rothschild had just become a mom. To be close to her eight-month-old daughter Sophia, she turned her dining room into her home office and started working from home as a sustainability consultant.

Then one day as she was on a call with the senior vice president of Nestle coffee's supply chains and her daughter woke up from her nap and started crying. "He asks me, 'Oh, do you need to go? There's a baby crying.' My mom was babysitting, and I was like 'No, I don't need to go.'"

Diana Rothschild

That conversation was a turning point, "I thought, I'm not (perceived as) the trusted CEO advisor that I am, and I'm not the mom that I want to be," she says.

Then, there in her dining room, she had a daydream: a light, airy space with good coffee and interesting people working on cool stuff--and a place where her daughter could be taken care of and still be nearby.

Rothschild made her dream a reality last summer when she opened NextKids. NextKids is an offshoot of the popular co-working company NextSpace, which has eight locations in California and one in Chicago. NextKids, at the Potrero Hill, San Francisco location is like co-working meets daycare--with a community of working adults--graphic designers, biomedical engineers, app developers--and their kids. It's like 'it takes a village,' only with more Wi-Fi.

To make an excellent co-working space, Rothschild wanted NextKids to be more than a mommy-daddy club. Instead, it should be a place where parents can work and see their kids easily and talk about parenting--but not only have it be about parenting. She took care to make sure there was the right mix of industries. And the right coffee and fast Internet speeds and plenty of opportunities to connect.

The daycare piece requires equal attention. At NextKids, diapers are taken care of, snacks are provided. There are separate rooms for toddlers and infants, but common areas as well. And it's not just "drop your kids off and we'll make sure they don't get hurt," she says; they've got an emergent curriculum that moves with kids interests.

Sophia, now in the toddler room, is learning all about trucks, given an interest spurred by a nearby construction site. There's books on transportation in the library and plenty of sensory play and digging up sand. What's more, Rothschild knows all the parents, so she knows who her daughter is playing with.

While there's just the one NextKids space thus far in San Francisco, she could see a few dozen sprouting up around the U.S. and more abroad. But this model doesn't need to be limited to co-working spaces; there's a lot of potential for corporate communities, too. Anywhere where people want to be close to their kids--and still get their work done.

What she didn't expect were the productivity benefits. While she's not physically with her, having her daughter nearby allows her to feel more peaceful than if she were a nanny or an off-site daycare. With that peacefulness comes productivity.

Rothschild had just had her second child, Emily, and she plans to be back to work at NextSpace in the spring.

"I have friends saying, 'You're only taking three months off? And I say, 'I'm going back to NextKids! I get to see my daughter every day, I'm going to get to nurse every day.' I'm going to get to experience what my dream was to create."

Optimizing Your Industry to the Point of Suicide (by @baekdal) #opinion

$
0
0

Comments:"Optimizing Your Industry to the Point of Suicide (by @baekdal) #opinion"

URL:http://www.baekdal.com/opinion/optimizing-your-industry-to-the-point-of-suicide


A trend is starting to form. A trend of revolt by the audience, who are annoyed that they are being reduced to an exploitable asset.

What if I gave you a choice between doing the right thing, and doing the wrong thing. Which one would you choose?

You would probably tell me that it is a silly question and that you would obviously choose to do the right thing. Who wouldn't?

Okay, fine. But what if I then told you that by doing the wrong thing, your revenue would go up by 25% and your costs would drop by 50% (doubling the profit), now what would you do? Would you choose to do the wrong thing and go for the money, despite the fact that it is still the wrong thing to do?

This is actually the exact dilemma we are faced with in the media industry today. The right solution requires you to focus on creating value and creating a product that mixes carefully selected and relevant advertising with other income streams like subscriptions.

But there is a much simpler way to earn money. Just dump down your editorial standards, fire your talented journalists (who are also the most expensive ones), and spend all your time monitoring the web for popular topics and then copy/pasting them to your site. Buzzfeed, for instance, is a perfect example of that model.

It's not limited to newspapers, it's even worse in the gaming industry.

Last night, I wanted to just relax with a game for a few moments, so I downloaded Asphalt 7 for my Nexus. But, upon starting the game, it immediately became apparent that this game was yet another one of those "we will annoy you until you pay us more money" kind of things. Every single event involved something that you had to pay for to be the best. At the beginning of the game, you can play with the free options, but later, you simply cannot compete unless you pay up.

We all remember what John Riccitiello, the CEO of Electronic Arts, said at a stockholder's meeting last year:

[...] The second thing and this is a point that I think might be lost on many, is a big and substantial portion of digital revenues are microtransactions. When you are 6 hours into playing Battlefield, and you run out of ammo in your clip, and we ask you for a dollar to reload, you're really not very price sensitive at that point in time. And for what it's worth the COGS on the clip are really low, and so, essentially what ends up happening and the reason the play first pay later model works so nicely, is a consumer gets engaged in a property they might spend 10, 20, 30, 50 hours on the game, and then when they're deep into the game they're well invested in it, we're not gouging, but we're charging, and at that point in time the commitment can be pretty high. As a personal anecdote I spent about $5000 calendar year to date on doing just this thing, this type of thing, on our products and others, I can readily attest to how well it works. But it is, it's a great model and I think it represents a substantially better future for the industry.

This is like a heroin dealer giving you a free weeks supply, and just when you are hooked that's when he will force you to pay. And John is apparently an addict himself, having spent $5,000 in microtransactions in games himself.

The problem is that, in order to optimize the bottom-line, they are completely decimating the relationship they have with their customers. This is exploitation 101 ...something that used to be in the realm of criminals and scammers, but has today become 'normal business practice'.

This is not the right thing to do. It is the wrong thing to optimize revenue at the expense of a positive relationship with your customer

Just look at the iOS App store or the Google Play store. Almost every single game is engaged in this behavior.

  • First they give you the game for free.
  • Then they introduce a gamification system, in which, in order for you to succeed, you have to meet certain criteria. By doing so you are being rewarded with 'something' that can use to connect with socially (either directly or indirectly).
  • Then, as the game progresses, the gamification criteria increases to the point where you cannot move on to the next step without paying to buy additional stars, coins or something.

They are even doing it with games for kids, like Garfield. You can play for an hour, but then the levels will become so hard that it is impossible to continue without buying 'coins' to level up faster.

They are exploiting the very thing that turns normal people into ludomanians ...

We could blame the connected world for this. In the past, gaming developers had no way to do in-app purchases or micro-transactions, so they had to give people a game with everything in it. But today, because of the connected world, the developers can stay in control of the entire experience on a micro-managing level.

Of course, this is just a silly excuse. These people have taken the marvelous experience of the connected world, and used it to exploit people instead of enhancing the experience.

The problem started with mobile games, and it has now come to a point where it's literally impossible to buy a decent game anymore. It's now looking to spread to desktop and console platforms. So soon we will no longer be able to buy a game unless we also want to turn ourselves into compulsive gamblers.

You might say I'm just exaggerating and it's not as bad as I make it out to be. But here are the 45 top grossing apps in the App Store:

The ones marked with yellow are all free. So how can a free game also be the ones that make the most amount of money? The answer is simple. They all use this model of getting you hooked, and then slowly taking away your abilities until you start to buy coins, credits or stars or whatever system they have put in place. They use the very same model John Riccitiello describes above.

Or in other words. The wrong way, that exploits your customers by deliberately cheating them into becoming addicts, is far more profitable than just creating a great game and selling that for a one-time fee.

And the tactics are deliberately designed to get in your way. Here, for example, is Asphalt 7:

It starts out nice and simple, you can play the game, it's fun and you earn a ton of rewards.. including enough rewards for you to use in the game to level up.

But after a while, the rewards you earn are no longer high enough to pay for what you need to continue. After playing for about an hour I only had 16 stars, but I needed 30 to unlock the next car.

Cue the "get more stars" screen. Here you can buy bundles of stars using real money ...and since I need exactly 14 stars, I just have to pay 30 DKK (or about $5) or you can buy a whole pack of them for 599 DKK ($99).

But this is not all, because you are also quickly going to need to buy in-game credits for other things.

If you decide not to do this, they start to tweak the reward system. Up until this point the rewards were based on how well you played (your skill as a gamer), but now it's about how much money you spend with "buy an upgrade".

How much does an upgrade cost you ask? Well ...100 stars. You probably thought those 420 stars you bought for $99 would last a while didn't you? In fact, just to unlock all the cars you need to buy 7,685 stars, at the total price of $1,811.

Note: Just to put that into perspective, that's more money than a 10 year subscription to Baekdal Plus, spent on cars in one game on their mobile device.

On top of this, every round is interrupted by the reward screen. Here you can see how much you earned during that round, and while you can earn both stars and credits, they are nowhere near what you need to progress in the game.

Remember, you earned one star, but you need 7,685 stars just for the cars. In fact, if you want to unlock all upgrades as well, you need to get an additional 6,864 stars. Try getting that by only earning one or two stars per round. Instead we are back are the payment screen where 6,864 stars will set you back $1,671.

Unlocking everything in the game will cost you almost $3,500. Granted you can also earn stars in very slow increments by leveling up, but there is simply no way to earn enough stars to unlock what you need.

And this is where the real deception kicks in. You can now share your results with your friends and earn more rewards. Essentially they are using your addiction to annoy your friends with gaming updates.

And the reward? Nope ...it's not a star, you just earn 5,000 more credits (which will get you nowhere). So essentially, you are giving Asphalt free and highly profitable advertising exposure to all your friends, at no cost to them, all in return for a useless reward.

And games like these are now dominating the top grossing chart in the app store. Not surprising considering how often you need to pay and how much money you end up paying.

And another thing. Notice the share screen above. The left 'green' button on most other screens will move you forward to the next screen, but on this screen it forces you to share. Meaning that if you just click-click-click to get on with the next race, you end up automatically sharing your progress because they are deliberately reordering the placement of the buttons.

This is simply one big scam ...and the worst part of it is that it's far more profitable than doing the right thing.

In comparison, the popular game "Need for Speed: Most Wanted" only cost $59 ...and that's the full game. No wonder EA's CEO wants to replace it with the model used in Asphalt 7.

Finally, because the first few levels are free to play, the journalists who are reviewing this app all see a great app, with beautiful graphics and tons of content. But they never play long enough to experience the full effect of the 'pay later model'. As a result, this game has great reviews across the board, with journalist saying it's one of the best racing games out there. So, the journalists are being fooled into writing a positive review!

Advertising instead of money

Another example is the concept we see with the creators of the very popular Hitman series. They are thinking about creating advertising-based games in which you can play for 10-20 minutes for every one minute of advertising that you see.

It's not as bad as the 'buy credits/stars' model above, in one might say it's the same model as what we experience on TV every day.

The difference though is that games can be designed with addiction in mind. So they can design the experience to interrupt you at certain times when you are physiologically weak minded.

Overall though, it's the same concept. Reduce your audience to an exploitable asset.

Not just games

But it doesn't stop here. In the ebook industry, several publishers are now starting to experiment with the same thing. They may soon write a book where key elements are missing unless people pay a dollar for each section. And we will see the same thing within the newspaper and magazine industry.

Basically the content industry has turned into the tobacco industry. A business that is causing harm to their customers, but it works because they are engaged in a pay-for-addiction strategy that forces people to stick with them.

There is nothing wrong with micro payments or in-app purchases if it is used to enhance the experience, but that's not what these CEOs are doing. They are using gamification to cheat you into becoming addicted to their product, then gradually lowering the experience to a point where you just cannot stand it anymore. But hey, you can get it back if you just buy "420 stars for $99.99"

The good thing about this, of course, is that you can now differentiate yourself by *not* engaging with these tactics. And I think Derek Sivers put it brilliantly with "I miss the mob" (who had better business ethics than today's CEOs)

Now, you won't get as rich as the other guys because, quite frankly, if you can cheat people into buying credit and stars for $3,500 from an Android game ...well ...

But you will be able to achieve a good level of income from happy and satisfied customers who see you as a friend (instead of a cheating bastard). And you will also be able to look yourself in the mirror each morning, knowing that you are focusing your life on creating something of value, while everyone else has turned into greedy shareholder-friendly crooks.

And, in time, when people have become so fed up with those other guys and their exploitation tactics, guess who they will turn to ...Yes, they will come to you!

Just like people in the social world are now turning to App.net, because they are fed up with being constantly manipulated by the deceptive money scheming tactics of other social channels.

People are beginning to say, "I would rather pay up front and get a great experience that lasts, than to get something for free and open myself up to exploitation."

The right thing to do

The dilemma we have today is that it's clearly better to do the wrong thing in order to gain competitive advantage. It's better for newspapers to dump their level of quality in exchange for cheap pageview tactics. It's better to create small incremental payments tied into some kind of content addiction. And it's far more profitable to screw your audience than it is to create something of lasting value.

If all you care about is money, in the short term, the choice is not a hard one. In fact, it's easy to do these kinds of things. The Asphalt 7 game is only 6 game modes, 15 simple maps, and a number of cars ...but by cleverly combining them again and again, you have a limitless gaming experience for a low cost.

But a trend is also starting to form. A trend of revolt by the audience, who are annoyed that they are being reduced to an exploitable asset.

We see it on the social channels, where the whole privacy debate has nothing to do with people's actual privacy, but is more about people revolting against being exploited without getting anything of value in return.

We see it with content sites where, while there is a huge increase in page views, customer satisfaction and customer loyalty is dropping.

We see it with TV and music, where more and more people talk about paying rather than being constantly interrupted.

But more to the point, we see it with the Trend of Abundance and the Trend of Convenience. The Trend of Abundance being that there is now so much of everything that we seek guidance to identify objects of real value. And the Trend of Convenience dictates, because people have more of everything to consume in less time than ever, and we seek that path of least resistance.

So, the trend that is forming is that the path of least resistance is to pay for what you need, in exchange for something that actually works.

Jason Fried, from 37Signals put it nicely the other day:

All you have to do is read TechCrunch. Look at what the top stories are, and they're all about raising money, how many employees they have, and these are metrics that don't matter. What matters is: Are you profitable? Are you building something great? Are you taking care of your people? Are you treating your customers well? In the coverage of our industry as a whole, you'll rarely see stories about treating customers well, about people building a sustainable business. TechCrunch to me is the great place to look to see the sickness in our industry right now.

The addiction-for-money business model is not going to go away anytime soon, it's simply too profitable for that. Selling out on your long term relationship with your customers doesn't seem that bad when money is all you care about.

But a movement is forming. A movement where building your business model around respecting people's time, anticipating and basing your product on something that people really need, and providing something of real value will win the day. It's not going to be one or the other. In the future we will have both.

So let me ask you again: What if I gave you a choice between doing the right thing, and doing the wrong thing. Which one would you choose?


/U/161719 tells us all why surveillance is not OK. This needs to get shared. Please read. : conspiracy

$
0
0

Comments:"/U/161719 tells us all why surveillance is not OK. This needs to get shared. Please read. : conspiracy"

URL:http://www.reddit.com/r/conspiracy/comments/1fwj66/u161719_tells_us_all_why_surveillance_is_not_ok/


I live in a country generally assumed to be a dictatorship. One of the Arab spring countries. I have lived through curfews and have seen the outcomes of the sort of surveillance now being revealed in the US. People here talking about curfews aren't realizing what that actually FEELS like. It isn't about having to go inside, and the practicality of that. It's about creating the feeling that everyone, everything is watching. A few points:

1) the purpose of this surveillance from the governments point of view is to control enemies of the state. Not terrorists. People who are coalescing around ideas that would destabilize the status quo. These could be religious ideas. These could be groups like anon who are too good with tech for the governments liking. It makes it very easy to know who these people are. It also makes it very simple to control these people.

Lets say you are a college student and you get in with some people who want to stop farming practices that hurt animals. So you make a plan and go to protest these practices. You get there, and wow, the protest is huge. You never expected this, you were just goofing off. Well now everyone who was there is suspect. Even though you technically had the right to protest, you're now considered a dangerous person.

With this tech in place, the government doesn't have to put you in jail. They can do something more sinister. They can just email you a sexy picture you took with a girlfriend. Or they can email you a note saying that they can prove your dad is cheating on his taxes. Or they can threaten to get your dad fired. All you have to do, the email says, is help them catch your friends in the group. You have to report back every week, or you dad might lose his job. So you do. You turn in your friends and even though they try to keep meetings off grid, you're reporting on them to protect your dad.

2) Let's say number one goes on. The country is a weird place now. Really weird. Pretty soon, a movement springs up like occupy, except its bigger this time. People are really serious, and they are saying they want a government without this power. I guess people are realizing that it is a serious deal. You see on the news that tear gas was fired. Your friend calls you, frantic. They're shooting people. Oh my god. you never signed up for this. You say, fuck it. My dad might lose his job but I won't be responsible for anyone dying. That's going too far. You refuse to report anymore. You just stop going to meetings. You stay at home, and try not to watch the news. Three days later, police come to your door and arrest you. They confiscate your computer and phones, and they beat you up a bit. No one can help you so they all just sit quietly. They know if they say anything they're next. This happened in the country I live in. It is not a joke.

3) Its hard to say how long you were in there. What you saw was horrible. Most of the time, you only heard screams. People begging to be killed. Noises you've never heard before. You, you were lucky. You got kicked every day when they threw your moldy food at you, but no one shocked you. No one used sexual violence on you, at least that you remember. There were some times they gave you pills, and you can't say for sure what happened then. To be honest, sometimes the pills were the best part of your day, because at least then you didn't feel anything. You have scars on you from the way you were treated. You learn in prison that torture is now common. But everyone who uploads videos or pictures of this torture is labeled a leaker. Its considered a threat to national security. Pretty soon, a cut you got on your leg is looking really bad. You think it's infected. There were no doctors in prison, and it was so overcrowded, who knows what got in the cut. You go to the doctor, but he refuses to see you. He knows if he does the government can see the records that he treated you. Even you calling his office prompts a visit from the local police.

You decide to go home and see your parents. Maybe they can help. This leg is getting really bad. You get to their house. They aren't home. You can't reach them no matter how hard you try. A neighbor pulls you aside, and he quickly tells you they were arrested three weeks ago and haven't been seen since. You vaguely remember mentioning to them on the phone you were going to that protest. Even your little brother isn't there.

4) Is this even really happening? You look at the news. Sports scores. Celebrity news. It's like nothing is wrong. What the hell is going on? A stranger smirks at you reading the paper. You lose it. You shout at him "fuck you dude what are you laughing at can't you see I've got a fucking wound on my leg?"

"Sorry," he says. "I just didn't know anyone read the news anymore." There haven't been any real journalists for months. They're all in jail.

Everyone walking around is scared. They can't talk to anyone else because they don't know who is reporting for the government. Hell, at one time YOU were reporting for the government. Maybe they just want their kid to get through school. Maybe they want to keep their job. Maybe they're sick and want to be able to visit the doctor. It's always a simple reason. Good people always do bad things for simple reasons.

You want to protest. You want your family back. You need help for your leg. This is way beyond anything you ever wanted. It started because you just wanted to see fair treatment in farms. Now you're basically considered a terrorist, and everyone around you might be reporting on you. You definitely can't use a phone or email. You can't get a job. You can't even trust people face to face anymore. On every corner, there are people with guns. They are as scared as you are. They just don't want to lose their jobs. They don't want to be labeled as traitors.

This all happened in the country where I live.

You want to know why revolutions happen? Because little by little by little things get worse and worse. But this thing that is happening now is big. This is the key ingredient. This allows them to know everything they need to know to accomplish the above. The fact that they are doing it is proof that they are the sort of people who might use it in the way I described. In the country I live in, they also claimed it was for the safety of the people. Same in Soviet Russia. Same in East Germany. In fact, that is always the excuse that is used to surveil everyone. But it has never ONCE proven to be the reality.

Maybe Obama won't do it. Maybe the next guy won't, or the one after him. Maybe this story isn't about you. Maybe it happens 10 or 20 years from now, when a big war is happening, or after another big attack. Maybe it's about your daughter or your son. We just don't know yet. But what we do know is that right now, in this moment we have a choice. Are we okay with this, or not? Do we want this power to exist, or not?

You know for me, the reason I'm upset is that I grew up in school saying the pledge of allegiance. I was taught that the United States meant "liberty and justice for all." You get older, you learn that in this country we define that phrase based on the constitution. That's what tells us what liberty is and what justice is. Well, the government just violated that ideal. So if they aren't standing for liberty and justice anymore, what are they standing for? Safety?

Ask yourself a question. In the story I told above, does anyone sound safe?

I didn't make anything up. These things happened to people I know. We used to think it couldn't happen in America. But guess what? It's starting to happen.

I actually get really upset when people say "I don't have anything to hide. Let them read everything." People saying that have no idea what they are bringing down on their own heads. They are naive, and we need to listen to people in other countries who are clearly telling us that this is a horrible horrible sign and it is time to stand up and say no.

Honest Android Games

Fixing Windows 8 — jay machalani

$
0
0

Comments:"Fixing Windows 8 — jay machalani"

URL:http://jaymachalani.com/blog/2013/12/12/fixing-windows-8


…voila! They are now running as Modern applications in Metro and I can continue what I was doing in an app better designed for the environment I’m now in.

 

 

ALSO…

Give the option for individual DPI (scaling) settings for every app.

I don’t care if Steam is bigger, but my designs apps needs to stay with 1:1 pixels. Same goes for some Metro apps that I want bigger for ease of use and some denser for more information on screen. On top of the general DPI setting with “smaller” and “bigger” add an individual option for all apps in their Settings menu. I like having 1080p worth of Live Tiles on my Start Screen with 5 rows, but it sucks to use the Metrotube app in 1080p that crams everything super small on the top left, same with Facebook (what’s wrong with your font guys?).

 

Don't be shy with information

I don’t know what the designers at Microsoft are thinking, but it’s better to give a lot more information about how to use your new OS (and make sure you can turn off the help tips if you don’t need them) than less. Windows 8.1 made it a tiny bit better with a great help section, but far far from acceptable since they don’t even guide the users there; they need to figure out that somewhere there’s help. At least, like shown on top, show them where they can find help. Help your users!

 

Fix Xbox Music

Xbox Music is awesome, yet flawed. There is no reason for the same song from the same album to be listed multiple times. And then -poof- one day it gives me an error when I want to play it from my collection and I have to delete it and go get that same song back from another “version” whatever that means. Also, there is no reason in this world why my Windows Phone shouldn’t download automatically every new song I add from the website or my computers. For me to manually download every song, be stuck with cloud play or to wait to sync with my computer is unacceptable. And please, when I download an album on my Windows Phone, add it to my Xbox Music collections! If you’re not sure how to please all users… give the option, you have a settings zone made just for that! And please fix all of the glitches, pauses between songs and frozen tracks on all your apps. P.S. Bring back the awesome Zune “Now Playing” cover art and visualizations!

 

Optimize Microsoft Office

Sorry, but I doesn’t make any sense that Word 2013 freezes on me for 30 seconds every time I open a document, on all my computers. Maybe it’s Adobe, maybe my HP Printer, I don’t care! Optimize your software on multiple computers because I tried all of your tips and tricks online and it still hangs and stops responding at every document I open and I have to wait in from on my screen like an idiot for Word to unfreeze to continue working. It doesn’t make sense for 3 different super computers including one of your own (Surface Pro 2) to freeze with your flagship software.

 

Simple productivity tips

When I have a notification on my desktop I have to aim for the little tiny “X” on the top right of the notification. Now, I understand that on a touchscreen it’s fairly easy to just toss it away on the side, but with a mouse and keyboard it’s frustrating. Right clicking on a notification does absolutely nothing right now, why can’t you map that to “close”. Same with the Start Screen, you have to aim the tiny little arrow to access the apps page, why can’t you do a simple shortcut like double clicking between the tiles (anywhere around) to go to the apps view. Or the picture password screen where typing doesn’t change anything, but I still have to get out and switch to PIN or password input if I want to use those...why not let me just use my PIN when I’m in front of the picture password if the keys aren’t being used anyways. Simple tricks like that enhance the experience because they’re quick little productivity shortcuts that help the everyday and does no harm since these shortcut does not affect regular operation.

 

Give more options.

If you’re unsure about a feature, functionality, look or anything else about Windows, give the users a switch for it. You learned this the hard way with the default boot to Start Screen Metro, just give all users an option for it, NEVER force something down users’ throats. It isn’t failure if a user falls back to an old way that does no harm, in fact it’s a win since you can please a broader audience at the same time. Facebook should learn from this!

 

Check the Sleep/Wake button behavior.

My Surface Pro 2 has this weird thing where I have no idea what’s happening. I press the sleep/wake button to wake up the device, but it stays black for like 5 seconds. So, I press back on the button because I think that it didn’t get it the first time, but now nothing happens like if it was actually waking up, but now I sent it back to sleep. Sometimes I play that wake/sleep/wake game for a good minute! Make it faster or at least light up the screen immediately to tell the user that the Surface is waking up. I had the same problem with my Dell XPS 12. Turning on and off my Surface Pro 2 is sometimes faster than getting in and out of sleep mode.

 

Check for weird application behavior.

I open the Facebook app and sometimes I will click on comments on a post to see them and the little box will just stay white. If I click on my messages to chat, they will simply not load. Closing and reopening the app doesn’t fix the problem and I have to restart the whole computer. Now I don’t care if the issue isn’t from your side (I’m sure it is since apps gets weird when coming back from sleep mode from time to time), but find a way to fix or optimize it. People will still blame you on the lacking experience, especially when the majority of consumers have a list of apps in their head and not the general greatness of your device. Your own apps are having problems too! When a webpage does not load on Metro IE always searching, but it loads in a heartbeat on Desktop Chrome, that’s an issue and your whole OS something feels unreliable.

 

Explore the Xbox One/Windows 8 link.

I want to plug my computer through the Xbox One. I could be writing this and then shout “Xbox, play Battlefield 4” and switch between my work and play in seconds. I’m sure there’s a LOT that could be done if your Windows 8 PC is plugged in the HDMI IN of the Xbox. That’s an idea to explore because it could bring some huge amazing features!

 

Check your Surface Covers “reset”.

The Type Cover 2 on my Surface Pro 2 is amazing, too bad since I loved the feel of the Touch Cover especially when I’m flipping it for tablet use. Great stuff, but why is my touchpad unresponsive sometimes… for no reason. It really breaks the magic to unclick and click back the cover.

 

Fix Skype.

…but you already know all the problems and you’re fixing it, so keep going!

 

Call Windows RT, Windows Lite.

I know you will hate that because Lite means cheaper or less… but that’s what Windows RT is. By changing the name to Windows Lite at least it will explain what the OS on your tablet is just with the name and it fits nicely too with the rest!

Windows 8 Lite

Windows 8

Windows 8 Pro

Windows 8 Enterprise

It’s super easy to say “Windows 8 Lite is the Windows you love with thousands of your favorite apps in the Windows Store”. Of course the “Lite” moniker says that’s it’s a version with less features, but you’re still WAYYY ahead of iOS in terms of function so you’re good!

 

Kill the forced update restart.

If there’s an update I want Windows to tell me, but I don’t want to be annoyed by it. Limit your alerts (that blocks the whole damn screen on top of that) to once per session and use the regular notification format too. Also, it does not make any sense for me to “Restart to update”. When you’re asking a user to restart for an update it means that he’s actually using the computer and you want him to close and stop everything for Windows to apply the update. Why do you wait to the point that it’s critical in order to offer the “Update and Shut Down” option… this is the time where you’re done with the computer and you don’t really care if it updates. And please, kill the forced update alert with the countdown sequence where I clearly say LATER (because there’s no other option) and that you take it as an “All right then, in 15 minutes in the middle of your work, close everything and update! Got it!” Whoever decided that this is a good idea should be revoked from his UX Designer license. I know that doesn’t exist, but idiotic decisions/mistakes like that calls for a big push with this idea.

 

 

CONCLUSION

I really hate conclusions. They’re supposed to close perfectly everything you described, wrote and showed on top of it, but I don’t think that one is necessary for this research project slash design exercise. Microsoft needs a separate group of designers testing the product and getting all of the inconsistencies. That same group could also focus on advanced UX research and product development. Think of Pioneer Studios… but this time make sure that they work with Microsoft products, services and plans. You have a lot of talented people, but when I point out some simple problems in the OS like completely different looking dialog menus between the Search bar and the sorting options in the “All Apps” view and that can’t even be fixed, you have a big problem. Your competitor is charging more for a childish looking OS that can’t even run two things at the same time or even give any kind of useful information through the stretch iPod Touch interface. The day they will use all of their great Apple powers to design amazing things and not iterate to generate more cash, you need to be prepared. Consummers are getting more intelligent and more informed and they’re buying less and less Apple products. The day Apple will demonstrate their superiority again, it’s not with the current version of Windows that you’ll be convincing. iOS has all the apps so at least compensate with a flawless interface. It works for me, but I am not the majority nor the target. And of course let’s not talk about Google, they have Matias Duarte and the Android ecosystem is growing excessively fast: you’ll get in big trouble pretty soon if you don’t move your asses!

By the way… If you’re an Apple user/fan and you’re reading all of my rant and you’re saying to yourself “Whew! That’s why I use iOS and OS X”, trust me, I find those two way worse and annoying and this is why I went back to Microsoft’s world. I know where my place is now, but if I can do anything to improve my place even if it’s a single little detail, then this is all worth it. To all users always whining about Microsoft’s decisions, just think about it for a second. If they try to innovate and do things differently, you whine. When they listen to your feedback and revert the changes you say that they don’t know what they’re doing. So please, say something constructive or be quiet. It will sound funny, but the Apple forum at The Verge actually helped me a LOT. Whining gets nowhere, explaining your opinion actually does something.

I use Office, Xbox Music, Xbox Live, Skype Premium, Windows 8, a Surface Pro 2, even Azure, Windows Phone and soon getting an Xbox One on top of my 360, so I want to improve the stuff I use and help the people who’s trying to innovate. Microsoft this is all yours, please take all of it. In case the whole world hates my ideas and designs, please ignore all of this. If they do like it though, I will accept a nice big check with my name on it or you know Microsoft money… I really want to get the new Xbox One with a nice collection of digital games!

Now what will be my on-the-side project? Fixing Windows Phone? Fixing iOS? Designing Windows 9? For now it’ll be sleeping…

 

You can download all of the JPEGs in better quality right here.

You can also check the links on the side (or top for mobile) for my Twitter, Facebook page and YouTube channel!

 

Jay Machalani

UX/UI & Branding Architect        

2013

 

Thanks to Tom Warren from The Verge, users of The Verge forums,

My friend Carl Caron for some good ideas,

The wallpaper featured is from the great Jan Thoma called "Blue Mountains". It can be found on InterfaceLIFT.

Go check out MetroTwit of an amazingly designed Classic and Modern app, 

Andrew Howell from Microsoft helping me with some very useful research material

...and eventually Rami Sayar from Microsoft the day you will have 5 minutes to respond to my emails.

Steven J. Vaughan-Nichols: Told you so! Microsoft backs off on Metro - Computerworld

$
0
0

Comments:"Steven J. Vaughan-Nichols: Told you so! Microsoft backs off on Metro - Computerworld"

URL:http://www.computerworld.com/s/article/9245960/Steven_J._Vaughan_Nichols_Told_you_so_Microsoft_backs_off_on_Metro


Opinion

Microsoft appears to be backing off on its biggest user interface fiasco since Microsoft Bob: In the Windows 8.1 update, the desktop rather than Metro reportedly will be the default interface.

January 31, 2014 05:27 PM ET

Computerworld - It looks like Microsoft has finally been hit by the clue stick of awful Windows 8.x sales often enough that it's learned its lesson. Apparently, in the forthcoming Windows 8.1 update, the user interface (UI) formerly known as Metro will be bypassed, and users will default to starting in the defective, but better than nothing, desktop mode.

I'm going to tell you more about this potential, game-changing move, but first let me get this out: "HA! I told you so!"

Sorry about that. But ever since I started pointing out just how awful Metro was for the desktop, I've been buried by nasty emails from Microsoft shills telling me how wonderful Metro really was. Even as Windows 8's sales slunk below Vista's abysmal sales adoption numbers they kept screaming that Metro was great.

The sad truth is that ever since Metro reared its ugly head, everyone knew its interface was awful for the desktop and that it would fail. Now that Metro has stunk up the Windows desktop like a three-day-dead rat in your bedroom wall, Microsoft finally, finally seems to get it.

Too bad it's so late.

Dumping Metro is a great step toward making Windows 8 more attractive, but the Windows 8 desktop mode still doesn't have a real Start menu. StarDock's Start8 has sold millions of copies of its real Start button replacement thanks to this simple foolish UI mistake. I think Microsoft would be crazy not to give its users a real Start menu again, and it seems that as the new Microsoft leadership moves in, the company will be bringing back a real Start menu.

I don't know if it will be enough. Chromebooks have been picking up steam. AMD and Intel (the top two CPU vendors) and HP and Lenovo (the biggest PC OEMs) are all betting that Android will make a popular desktop operating system. Who would ever have guessed that four of Microsoft's most loyal allies would be doing this even a year ago?

At the same time, if Microsoft does indeed change its ways, it will be leaving developers who drank the Metro Kool-Aid in the lurch. Sure, Metro will still be the primary interface on tablets and smartphones, but have you looked at Windows Phone sales numbers lately? They barely register in the U.S.

As for the tablet market, it's Android and iOS all the way. I've been hearing from some friends of Microsoft that they're sure that Lenovo buying Motorola means good things ahead for Windows on smartphones and tablets. Really? They must be using really good drugs to come to that conclusion.

Mailpile: Alpha Release: Shipping Bits and Atoms

$
0
0

Comments:"Mailpile: Alpha Release: Shipping Bits and Atoms"

URL:https://www.mailpile.is/blog/2014-01-31_Alpha_Release_Shipping_Bits_and_Atoms.html


Posted by The Team on February 1, 2014

Over the last few weeks, we've been working hard to get the first ever Mailpile Alpha release out of the house. It's been an interesting several months, replete with successes, delays, wins and complexities - but we've made it.

This is an Alpha release. That means that it is not intended for production systems, it is not intended for widespread use, and most importantly, we expect it to break.

In the software industry, teams ship Alpha releases to show that they have a real technology, and that it's actually a good one. In some circles it's referred to as a Minimum Viable Product. The Alpha is then augmented and expanded on until it's got all the features it's expected to have for a full release, at which point a Beta is released to say "try using this, and let us know what breaks and how." When all the bugs are squished, the final production release is shipped.

So we're on step one of that journey now. We're very excited about what we have to show you, although we do feel the need to restate: this is only for seasoned technologists at the moment. As a result, there is no easy installation process yet. This is not a bug - this is an intentional step we're taking to make sure people don't get hurt. Enough caveats? Good.

The full details of the Mailpile Alpha release are in the release notes, but some highlights include:

  • Modern HTML5-based interface design
  • An original typeface "Mailpile" (still under development)
  • Deeply integrated PGP support for secure transmission of e-mails
  • UI feedback of encryption & signatures
  • A fast, extensible custom search engine
  • Integrated SPAM-filtering support
  • Translations to around 30 languages (some are partially done)

We hope that you'll dip your toes in and tell us what you think. Your feedback is very much needed, as we need to understand where our users think we should take the project. This is why, in February, we are going to launch the long-awaited community site so that Mailpile community members (those who donated $23 or more!) can start to vote on various details and guide our development process.

But wait, there's more! Over the last weekend, thanks to an awesome bunch of volunteers in Reykjavík, we finally got the physical perks shipped. If you haven't received your perk, chances are it's just stuck in the tubes somewhere - you know what snail-mail is like.

So without further ado, we present Mailpile Alpha!

* This picture will be explained later :)

Viewing all 9433 articles
Browse latest View live