As a nublet, I probably didn't end up saving much time over C++, but I could see that in the right hands, this tool would be a lifesaver
298 karma · joined February 1, 2009
As a nublet, I probably didn't end up saving much time over C++, but I could see that in the right hands, this tool would be a lifesaver
No person shall be held to answer for a capital, or otherwise infamous crime, unless on presentment or indictment of a Grand Jury, except in cases arising in the land or naval forces, or in the Militia, when in actual service in time of War or public danger
Not applicable
nor shall any person be subject for the same offense to be twice put in jeopardy of life or limb
Not applicable
nor shall be compelled in any criminal case to be a witness against himself
Most people express this as "You can't incriminate yourself," but this is a much more specific clause and pertains only to criminal cases.
nor be deprived of life, liberty, or property, without due process of law
This deprivation of money would be within due process of law
nor shall private property be taken for public use, without just compensation
Not applicable
(end of text)
In terms of self-incrimination, the Fifth is used entirely in situations relating testimony and criminal proceedings. Furthermore, were it unconstitutional to incriminate yourself through inaction, "duty to rescue" laws (http://en.wikipedia.org/wiki/Duty_to_rescue), though often unexercised, would also fail to be Constitutional.
Worth it!
I also don't think suggesting that this violates the Fifth Amendment is very convincing. 2.5% of the average American income isn't very much, if you do the math! Even a family making 100k per year (well above average) would be penalized $2500, which is fairly light when you compare fines for other crimes.
I've been everywhere from 1 cup a day to gross overconsumption. In the end, coffee doesn't seem to significantly impact my concentration. If I get 8 hours of sleep, don't drink any alcohol the day before, and stay hydrated, I can be productive no matter how much coffee I drink. Even more, I found that Morning Coffee makes me dehydrated and irritable, so I usually drink a cup or two after lunch to keep myself going. On occasion I've quit for 2 week intervals just to start from scratch, but quite frankly I'm addicted and never mind starting up again :)
http://www.dependencywalker.com/
If there was something that made debugging linking errors this easy, then C++ development would be a snap... kind of...
I landed a programming gig working on robotics projects, and working on interesting problems makes up for a world of sins :)
They viewed the machine as a Magic Box that let them type documents and browse the web and sometimes crashed if they angered it. Some needed help getting CDs out of the tray. Some didn't know that "check if it is plugged in" is a troubleshooting step. Some were very superstitious about crashes ("don't move the monitor!" was my favorite).
If you don't see anyone struggling with these concepts, well, I haven't since I got a programming job 3 years ago. They didn't stop having problems, I just don't see the problems anymore. Always watch out for selection bias: the set of "people you know" isn't representative of the population at large
jakevoytko@gmail.com
But there's extra money to be made by selling the solutions manual!
To me, it seems like it's in Amazon's best interest to use a delivery service that is more convenient for the end user than the current model, like picking from available delivery dates and times.
Hamming asserts that people who have done great work fail to "plant acorns." They chase another great revelation instead of stepping back to the fundamental level where they started, and spend the rest of their life only working on great problems, not useful subproblems. I see no reason an artist's success would be different.
A poll by an external agency wouldn't be very representative of Facebook's population, so Facebook is the only organization that has access to data to accurately make these kinds of claims, which they're going to hold very close to their chest.
Therefore, the obvious easy way to collect this data is to wine and dine some Facebook statisticians :D.
The premise is that it's hard for the righteous to disagree with someone who they think is on their side.
To me, web programming isn't as well-defined as most programming topics, and requires competency in too many domain-specific areas for one person to master all of it.
Assuming you know what you want your language/web site to look like, compare..
Writing a parser generator, parsing the tree, optimizing the instructions, generating the instructions, regression testing, benchmarking
with..
Designing a database schema, maintaining HTML/CSS, making a pretty design, writing Javascript, safely deploying, configuring web servers, generating test environments for all browser/OS combinations, doing usability testing, and making sure you're not giving away any of your users' data.
A lot of the compiler-writing phases are yes/no (language design aside), and a lot of the web phases can't be answered easily. E.G. "Is our login system secure?" "Well, probably... Dave's pretty good with this stuff and he thinks it is."
In other news, I try to check my answers by deriving them two ways. If they agree, then I at least have a good defense :). If I'm working on something that can only be reached one way (like pulling data from a database), I assert boneheaded things that should be true about code + data structures. Sometimes it's superfluous, sometimes it catches mistakes.
If you don't work in a language that provides stack traces on crashes, add logging. You'll get a rudimentary stack trace of what was happening when everything went to hell, as well as have a small radius for where the crash occurs.
It's not in search, as far as Yahoo is concerned. Having gigantic teams dedicated to tweaking search algorithms and running servers was obviously not working out to Yahoo's advantage in the long run... they were losing market share to Bing, and who knows how much they were spending to try to innovate in search? As far as I know, they've been losing money on searching for a long time.
Is Yahoo ever going to be rolling in money again? No, and maybe not ever. However, they have a metric ton of products that can generate revenue: commercial licenses for service APIs, cloud computing resources, etc, and now they'll be focusing more on their advertising (which is REALLY where the money is these days). As far as staying afloat as a company not raking in the big dollars, this was probably the best bet without some major upheaval. They can focus and develop and sell things that actually might have a chance at making some money.
Adding symbols to passwords is a huge inconvenience. Why? Because some of the sites that I use fairly regularly don't allow the characters. I end up having a first-class password and a second-class password for websites that are overly draconian. The last time I used Digg (2 years ago or so) it had this restriction, and that's the only site I feel comfortable about sharing ;). Some well-known companies who should know better have the same restriction.
It doesn't seem awful on the surface, but I also switch my password semi-regularly. If I go back to a website 2 years later, I not only have to guess all of my primary passwords, but I have to guess my secondary passwords as well in hopes that it was one of the ones with a bad password restriction.
For instance, if I had to write code to read data from a GPS unit, I might break it up like this:
* Find data spec on new GPS unit. * Look up current GPS interface.. if none, write an example and design an API around the example. * Write out header file (We use C++... that's another story :D) * Write function 1. ... * Write function n. * Procure GPS unit. * Debug.
I always feel some personal inertia against doing a task like "Write class to load data from the new GPS unit", but it's pretty hard to look at each subtask and say "err, I guess I should organize my inbox." Which I would probably do otherwise.
I have trouble finding tasks that are indivisible, but they exist! Designing and implementing custom data structures is one that I've run into recently... it has an ambiguous up-front design cost that makes it hard to divvy-up work.
When the Light side is in effect, I generally work 8-9 hours a day at my day job (basically until I feel my focus start to drift, or until I'm no longer involved in discussions). I then go home and exercise + relax + cook dinner for a few hours and then launch into my personal project. Every now and then, I'm able to spend a morning or an afternoon writing scripts or elisp programs that will be productivity wins over the long run. All told, I meet most of my deadlines in this phase.
When the Dark side is in effect (around twice a year, lasting for a month each time), I'm on an insane death march for a demo that is slipping. Sometimes it's my fault, sometimes I'm put on one that's already falling behind. My work days are 12 hours, I sometimes come in on the weekends, and I'm bitter 24 hours a day. My diet, exercise, and sleep habits slip. I spend much of the next few weeks refactoring the code that I write in this phase, because when the deadline is fast approaching, it matters a little less that you use a global variable to transmit state. To use a Jeff Atwood phase, I accumulate most of my Technical Debt in this phase: http://www.codinghorror.com/blog/archives/001230.html.
In the long run, I'm not getting any more done in the burnout phase, but it definitely gives me a lower quality of life and a lower quality of software.
In my experience, the opposite actually happens. When something is written, people either use it and customize it over time, or they just find something else and say it didn't suit their needs.
It's when an extremely useful/general library is PROPOSED that it becomes a huge disagreement. This is, for instance, why C++'s Boost still doesn't have logging or a unified XML library, and won't likely have a garbage collection library before a C++ TR defines the interface: everyone argues over the color of the bikeshed, and the people who try to write the libraries get caught up in infinite microdiscussions over details.
Conversely, someone like Linus Torvald's success is that he just makes the things he needs/wants (ignoring bikeshed discussions), and people generally end up using his creations. When it comes to software design, a dictatorship is often more productive than a democracy!
"When I come across pages of JavaDoc-ish API documentation, I groan internally and just look at the source instead."
Amen :)
I second this! I've been experimenting quite a bit, and my diet and exercise patterns definitely shape my feelings about work more than the B.S. I experience per day.
All of the common health wisdom you know will incrementally help in the short term, even if it's not a long-term solution. If you're feeling irrationally irritable, stop drinking caffeine. If you're feeling tired in the afternoon, eat a light healthy lunch and get some sleep. If you're feeling sore, make sure to stretch out every morning, and make sure you're sitting up straight. Exercise always helps!