lusr | 13 years ago | on: Life Inside the Aaron Swartz Investigation
lusr's comments
lusr | 13 years ago | on: The hardest question on the Y Combinator application
lusr | 13 years ago | on: Is speed reading really possible?
Fundamentally, speed reading through something is at odds with processing that information in a useful way. And therein lies the rub: I don't read something merely for the sake of reading it.
When I read novels, I enjoy losing myself daydreaming in another world, and savouring the emotions of the characters while thinking about how I would react in their shoes. When I read technical documentation I'm attemping to create or update mental models of technical concepts. When I read a friend's Facebook post I think about what, if any, response I will offer or how I would deal with their situation. When I read a message from my girlfriend I have to take time to understand and plan for whatever she's discussing or asking.
I'm honestly struggling to see the value in speed reading. I cannot think of why I would be reading something simply for the sake of reading it without further processing. More valuable would be learning ways to process information more efficiently, i.e. accurately and quickly.
lusr | 13 years ago | on: Thrown Off a United Airlines Flight for Taking Pictures
lusr | 13 years ago | on: I'd like to use the web my way, thank you very much Quora
lusr | 13 years ago | on: I'd like to use the web my way, thank you very much Quora
The irony is I have an account... linked to my Facebook profile. But I can't log in with that from work. There may or may not be a way around this (perhaps a new account or linking my account to an email login), but I'm so irritated by their antagonistic approach that when I see the wall appear I just close the browser tab.
It's now gotten to a point where I don't even bother using Quora from home because I so strongly disagree with their policy.
lusr | 13 years ago | on: March 16, USPTO switches from 'first to invent' to 'first to file'
Let's say I invent a new search engine, Poople. I don't have much money to patent it. But I can't keep the details secret either lest somebody else patent it. But by publishing the details defensively, my competitor with deep pockets, Paapo, goes and reimplements my algorithm and wipes me out of the marketplace.
Which part of the story did I get wrong?
lusr | 13 years ago | on: We Need to Have Sympathy for Those With Depression. It is an Illness
Worse, those bugs are live and their nature is to slowly but surely corrupt the rest of the system software pertaining to beliefs, memory, perception and thought processing. Eventually you reach a point where it's almost impossible to tell what's a lie and what's real, or how to non-dysfunctionally process what you do discover!
This is why therapy is so critical - you have an objective third party to help debug things, identify your blindspots and point out where the bugs in your beliefs and thought processes are. A reference manual for identifying and repairing dysfunctional thinking is also incredibly valuable and to that end I recommend David Burns' "Feeling Good" to anybody in this situation.
lusr | 13 years ago | on: Ecomom's Founder and CEO Jody Sherman Passes Away
Having been there myself, the big one I've seen in myself and with friends in similar situations is that the depressed individual feels worthless and "unfixable" at their core because of their:
- past behaviour (e.g. they did something considered seriously socially unacceptable and feel they can't tell anybody lest they be ostracised forever, or people already know about it and they are ostracised leading to feelings of no hope of escape); or
- past experiences (e.g. they have a string of failed relationships they feel responsible for and believe they'll never be happy and every day seeing happy couples on Facebook or in the shopping mall is like a stab in the heart).
At the root of it is hopelessness, which also covers:
- future expectations (e.g. they're trapped in a very bad situation, e.g. money, relationship, crime, etc., and can see no way of escape)
In these desperate situations, they feel too guilty, hopeless, ashamed and/or disgusted to discuss their circumstances with anybody, and besides, in their minds, it wouldn't accomplish anything because they "know" they're broken ("I can't live with myself after what I did", "Alice was the only person who could love somebody like me", etc.) or screwed ("I can't go to prison", "If anybody ever finds out I'll never get a decent job/lover ever again", "Nobody can replace Alice, I screwed up forever", etc.) and there's no way out.
Perhaps the saddest thing about suicidal depression is that many (note: I'm not claiming all, or even a majority, OR in the case of Aaron OR Jody, simply 'many'!) of these scenarios seem to stem from a dysfunctional belief system and a lack of introspective coping skills that I imagine could easily be taught, in the form of life skills based on cognitive behavioural therapy, to school teenage children. Many parents lack these skills (through no fault of their own), and pass dysfunctional beliefs and thought processes onto their children (entirely unconsciously).
It's fascinating to me that such a serious problem - the #2 non-biological cause of death, behind road traffic accidents - receives so little real attention [1]. People get upset about wars, murders, have extensive fire safety requirements, covers for their pools, hide their poison and medicines from children, panic over their children being abducted or falling pregnant etc., yet suicidal depression? I don't believe I knew a thing about it until I had to learn quickly - to help myself.
[1] http://en.wikipedia.org/wiki/List_of_causes_of_death_by_rate
lusr | 13 years ago | on: Amazon Elastic Transcoder
* https://aws.amazon.com/solution-providers/isv/zencoder
* http://gigaom.com/2011/04/12/zencoder-raises-2m-for-cloud-ba...
lusr | 13 years ago | on: United States Sentencing Commission website hacked
lusr | 13 years ago | on: The Senate will move next week on comprehensive high-skill immigration reform
As a highly-skilled South African (which, interestingly enough, appears to be where parent ultimately decided to emigrate), the effort, duration and uncertainty involved in acquiring US citizenship makes it a non-starter option for me.
I'm better off remaining in South Africa where I don't have to work non-stop for years and years unless I want to risk being deported, don't have to play a different game in the job market, can stop working at any time to go full speed on my startup, etc.
Eventually I hope to be successful enough that emigration through business and wealth is a simpler and more direct option. Of course by then I may very well have a family and other commitments that again make emigration a non-option.
Assuming I'm the sort of person this reform is meant to entice into the USA (a country I very much admire), it certainly isn't comprehensive, which appears to be parent's point.
lusr | 13 years ago | on: Actual Facebook Graph Searches
An "Islamic gay man living in Tehran" in 1997 creates a web page and populates it with exactly the same personal information you are describing. Sometime later Google comes of age and indexes his site for the world to easily discover.
Do you feel that Google and Facebook are acting differently in this scenario, and if so, why?
lusr | 13 years ago | on: An Interview Question that Actually Works
lusr | 13 years ago | on: So you think you can tell Arial from Helvetica?
lusr | 13 years ago | on: Airbnb CEO: Designers Deserve Respect Like Engineers
If so, this data point is most likely somewhat deceptive. The core competency of a marketing or design agency is creative work, and naturally you want exceptional talent in that respect. Such an agency is generally going to be building straightforward websites that don't require particularly skillful software engineering. (And even if they did, it'd be an option to contract out, whereas contracting creativity out is not - as far as I know - a real option.)
If you look at the salary of an equivalent "Head of Development" and "Head of User Experience/Design" at e.g. Microsoft I suspect you'll see the opposite salary situation because of the relative focus of the organisation (although Microsoft is putting a lot of emphasis on design these days so who knows?).
lusr | 13 years ago | on: Your ATM does not use transactions
While what you described may happen somewhere, the pattern in banking systems that I've seen is pretty straightforward and simple to reason about: a cash flow produces two ledger entries within a transaction and is committed with no concept of distributed rollback.
If there are problems with some sort of subsequent step (e.g. the actual dispensing of cash in ATM or invalid routing instructions in a cross-border payment), the original cash flow is reversed with a reversal of the original two ledger entries -- which is precisely what Ayende saw on his statement.
If a correction is also required in addition to the reversal (perhaps SOME of money was dispensed before an ATM loses power), the correction will be encapsulated with another pair of ledger entries.
(These various cash flows will then typically be placed on a payment bus for further processing by various other systems that perform recon, liquidity management, etc. Again, there is no distributed transaction, just simple double-entry accounting and straightforward transactional message queues.)
lusr | 13 years ago | on: Dependency Injection is a Virtue
lusr | 13 years ago | on: Dependency Injection is a Virtue
The clever bit is that the consumer (e.g. a web callback or UI event handler) of IArticleService is not the constructor of ArticleService. The consumer simply receives a reference to an IArticleService and uses it, while the constructor of the service knows how to wire things up and hand out service references to consumers that need it so that the consumers don't need to know how to do the wiring up; this is precisely what a dependency injection engine does.
It's the difference between you walking to a Post Office and saying "mail(this envelope)" and you saying "mail(this envelope, put it into truck x, route it via [A, B, C, D], find it in the corner of truck D weeks later and route it through E, give it to Alice to give to Bob to place it in the customer's post office box)". Somebody constructed the Post Office with all these rules encapsulated and you just consume the service.
It's the reason society can scale despite nobody knowing how everything works exactly, and the same principles apply to creating maintainable code that scales among many developers of varying degrees of skill.
lusr | 13 years ago | on: Dependency Injection is a Virtue
If you're passing in DateTime.Now to your Publish method then the caller (probably a UI element or a web callback) is implementing business logic that does not belong to it, which violates the single responsibility principle and will eventually cause your code to become unmaintainable.
Part of the problem with these posts is the authors seldom have experience building software in some of the more tricky real-world software development environments. While DHH is rightfully respected for many things, I can find nothing in his history [1] to suggest he has the relevant experience to criticise "enterprise development": as far as I can see, he's never had to work on a millions-of-lines code base with 3+ years of cruft written and maintained by large disparate teams of mediocre developers using poorly chosen technologies to solve problems within time, quality and scope constraints outside his control.
In these sorts of environments, saying "start over" or "choose better" is not an option and things like DI and well designed interfaces make it possible for a small team of architects to ensure the mediocre developers actually accomplish something and software gets released.
I'll repost what I posted yesterday on the other post:
interface IArticleService {
void Publish(int id);
}
class ArticleService : IArticleService {
protected IArticleRepository ArticleRepository;
protected ITimeService TimeService;
public ArticleService(IArticleRepository articleRepository, ITimeService timeService) {
ArticleRepository = articleRepository;
TimeService = timeService;
}
public void Publish(int id) {
ArticleRepository.Publish(id, TimeService.Now);
}
}
Some features of this design pattern:- the consumer of the service doesn't need to know anything about the publish time: e.g. whether it's UTC or local time, whether it needs to have +1 second added to deal with a bug in some legacy interface, or perhaps a switch to database time, etc. The problem of "publish time" is strictly limited to the ArticleService, which is an expert on the matter of publish times.
- any new business rules regarding publish times or Publish-related activities are strictly limited to this service and none of the consumers have to be modified when the rules change
- the ArticleService is easily testable by swapping in one or more testing ITimeService implementations (e.g. one that returns a fixed test date time, one that returns bad times, etc.)
- your software has a consistent, single view of time (which is critical in a time dependent application, for example)
"I asked my lawyers to refuse, and we fought about it, repeatedly. They brought up things from my past that could be used against me; not criminal behavior per se, even they admitted, but they wanted me to have immunity."
Different people have different situations; no single piece of advice can apply to all people. Speaking for myself, if somebody placed me in a tricky position where my past could be used against me I would always put myself first if it meant protecting myself and my family.
Being a single mother is tough enough; being a single mother, struggling with money, involved in things you don't understand, being threatened by people with significant amounts of power (is it hard to believe eventually they would have done something to threaten her daughter?) would be enough to convince most normal people to speak. Given the information she had at the time she made a rational (debate-fully wrong) choice.
While there may be strong arguments for the case that the prosecutor's actions are unethical, ultimately Aaron's actions put her into this situation. His blaming her for her actions after being caught up in his battle, while wanting to protect herself and her child, is offensive to me.
It's sad that she beats herself up - she lost in a game she was not trained or skilled enough to win, a game somebody else forced her to play.