There are lots of medical problems and brain problems and large scale coordination problems we know about but haven't solved or reduced to solvability yet.
But, I suggest that you initiate a local campaign to pressure Mercantile to make the process easier. Here are few ideas to consider -1. Bring this to the attention of Computer Association of Nepal2. Share this tragedy with tech-activists (Gaurab Raj Upadhyaya, Brijen Joshi, Bhupal Sapkota, Ankur Sharma, Akar Anil are few names that come to mind) and get their help raising the concern to the wider community (blogs, meetings etc)3. Meet with Mercantile management to make sure they are aware of the current hoops and communicate how backward the current process is. Also make sure they are not being asked to make it this way from govt. agencies. Offer help if they need it.4. Meet with government representatives and request them to facilitate the needed change.
Email me if you need intros to people I mentioned above or if there is anything else I could do.
Although, to spare yourself future problems, you could register nepalesefreedns.net and have people point nameservers for their .np domains to nsX.nepalesefreedns.net. Set up XName or a similar panel for it.
That way you will only have to endure the pain once. That is, until the registry breaks something else.
Not as bad as your problem but a mild annoyance nonetheless.
Would that be viable?
What also sucks is being asked for money to change name servers only:
.gr: 46.64 (74 USD) .cz: 14.57 .dk: 24.29 .hu: 17.49 .ro: 17.49
2) A really good text to speech app for news so I can listen to it in my car
I can't think of a third right now.
For any such commodity as a service, the initial costs to you will be lower than if you had to build the service yourself. However, over time the costs will go up. The benefit to you will always be ease of development and having the time to focus on building the core features that will make your startup feasible. Most startups fail before they reach a point where they need to worry about rising costs and that's a good problem to have. (when you have it you can mostly pay someone to fix them for you)
My recommendations (having never used any of the above mentioned BaaS providers, do take these with a pinch of salt)
1. Look at how easy it is to get your data back if you need to host the services yourself or change providers. Does the provider have any processes for the same? Speak to the sales (and support) people about this before you decide on a provider. Look for the provider that is transparent about this.
2. Don't worry about what the cost will be when you reach a million users. Your time right now is spent wisely validating your idea. Cross that bridge when you come to it.
3. The only "complete no no" scenario I can think of would be if you were hosting sensitive information (credit card etc)
Hope this helps
You would face technical scaling issues no matter what you were using. If the BaaS is your bottleneck you could fix it then.
To be fair, I've not read these books; I attended a lecture of his at MIT, and he seemed to really know his stuff. If I wanted to study DB implementation, I'd start with his writings.
I would guess Amazon, Facebook, or maybe a big Chinese corporation.
The patent portfolio will likely go to the highest bidder, independent of any company assets. No one needs their devices or the OS. Google, Microsoft, Apple, and Samsung are all candidates, or it may go to a consortium of some/all, as has happened in the past with the sale of Nortel's portfolio.
Pick a simple chore you do now manually by hand and try to automate it so that the computer can do it for you.
This way, you may have more motivation, because if you can automate the chore, you won't have to do it manually anymore.
Learning to code from the "how-tos" is hard if you are unmotivated because the examples they ask you to create are not something you'll ever need, or use, again. Therefore you have difficulty staying motivated because it all feels like busy work.
Note, the word "simple" above is critically important. You have to pick something that is within your skill level. So it has to be something "simple".
I'll ignore the obvious question of "why are you trying to do something you're not interested in?" because that's not what you're asking. I think most people are terrible at motivating themselves to do something they're not interested in, so the trick is to find a way to hack that.
I've seen so many people decide to learn to "program" because it was part of their Computer Science degree which they chose to pursue because that's where the jobs are. Many of them finished their degrees and ended up in a "software factory" churning out code for as long as they could stand to do it.
I don't see programming as an end unto itself (that "job" is not going to make you enjoy programming; it'll probably make you hate it). It's a skill that allows you to make things. To manufacture interest in programming, program something to enhance something you are interested in. Stick with easy things -- something you could learn to do from an hour long tutorial in your language of choice (and stick with an easy language). Don't stress over building something that is "right" or even attempt to understand best practices at this stage. Doing so will probably result in loss of interest.
Once you've made something that helps something you're interested in, the positive feedback from that experience might challenge you to look at more complicated tasks, further honing your ability. At some point, you'll encounter a problem that will be complicated enough that you'll have to go back and learn how to do things "right", and you'll probably be far enough along in your pursuit that you'll enjoy learning how to do it right.
I've done this myself with a few skills I wanted to pick up. I've always wanted to get into hardware, but could never manufacture the interest. Recently found myself purchasing an Arduino and a bunch of mysterious parts to make a device that will send me and my wife a text when the dryer completes its cycle. My interest in doing this was for task avoidance -- I hate ironing.
Why are you trying to force yourself to do something you aren't interested in? My first suggestion would be to really understand what you want out of it, and why you are doing this.
My second suggestion, if you decide it is something you really do want to do and you have a good story for yourself as to why you are doing it is to try to do learning with either a co-learner or a mentor who understands your motivation for learning, and to try to work with them to find real projects to apply what you are learning that relate to your motivation.
For this specific issue, I suggest you go to programmer meet-ups and make friends in person. Find someone you hit off with. Ask them to do a little hand holding and explaining. You might have to try this a few times before you find someone that clicks with you in the right way. Once you get over that initial hump, you will likely be fine.
Check out how my first project looks now: http://sudokuisland.com
There are now several thousand lines of code, both front end and back end. I can build handle all parts of the stack. The learning process took over a year but that was while working full time.
As much as I can't praise Udacity and Codeacademy enough, they aren't enough. Without a project you will forget everything you learned. I know my code inside and out, and can refer to it when I see a similar problem.
In short: why not sit down and try to code something simple?
A) It's better to give 100% for 30 minutes then 70% for 60 minutes. 30 minutes a day is a small commitment even for those with lack of motivation.
B) Don't judge your practice by how much you've accomplished that day but by how successful you were at "practicing perfectly" for your allotted time.
It is exceedingly difficult to just "learn to program". If you were to go to college then you would be set tasks that you would be motivated to complete (for a qualification of what have you) and you would thus learn enough about programming to complete the task.
Without the motivation for each stage of learning - the task of learning would be pretty dry.
That said, there is something to be said for just diving into the deep end, especially if you have a real world use for some software. Engineers and Scientists tend to learn programming this way. They download EPD Python or iPython, grab some experimental data, and start writing analysis tools to give meaning to their raw data. Is there something in your real life where you could solve a problem with software? If so, then relentlessly working on it a few hours a day will get you to your goal. And remember, real software developers use Google. The blogosphere and sites like StackOverflow are a developer's friend.
1) Programming is not the "the literacy of the 21st century." Come on. It isn't now and it never will be, unless languages evolve to be essentially AIs that you can just request features in English, and even then it won't be, since most people won't bother to make programs. I'll go to the mat on this one. Those who bandy this idea around are misrepresenting reality.
2) Dan Miller, a career guru/author, has a point in one of his books that you should not attempt to strengthen your weaknesses--because then you end up with "strong weaknesses". Instead, strengthen your strengths. If you are good at soft skills, selling, design, idea man stuff, DO THAT, and leave the Model View Controller stuff to those who live and breathe that. You'll (likely) never do it as well as they do, anyway.
3) If you insist on learning to programming despite these two admonitions not to, I agree with many here who wrote: pick a project, and do it. And not some dopey toy project that you don't care about. Something real. I had an idea for an application years ago and have been working on it in my spare time and now feel that I can program, at least to some level. If you are in a company, work with the tech people to contribute to one module or one class or one feature, and start there. Become master of that section, and then move on.
You need an actual task to achieve and you need to want to achieve it, otherwise why bother?
Forget about learning to program. Figure out what you want to make, and start making it.
I've been working on an Android app recently. This is my third or so attempt at learning the platform. This time, I've actually made good progress, because I have a goal. I started not by saying "Gee, I want to learn this", but by saying "Why does this app not exist? I could make it. I should make it"
Start with a basic "Hello world". After that, instead of going onto the next chapter, think "What's the easiest thing I can do next to advance my goal".
The best way I learned to program is to do it. No,seriously. Pick a project you want to make and make it. If a task like "user registration" is too tough, break it down further into subtasks e.g. create form to register, have form send info to db, etc.
Following tutorials and online sources that have you make useless things like "CREATE A CALCULATOR" I never found useful in trying to learn programming.
After reading 2000 books on the matter, python and all the stuff I learnt only by before having the need to build something.
When I found out I wanted to build something, I started to understand coding. When I found a stopper I went back to the books, Google, and so on. At the end, I built the product I wanted and learnt to code. I think it's the only way to motivate yourself and learn how to code.
If latter, and if you really want to be coding for the love of it, get real serious and focus. Figure out what area (systems ? web ? mobile ?) and just code. If web consider devbootcamp.com. Otherwise get a book and write code. I'm not a huge fan of online tools. Coding is like driving. The more you do, the better you'll get. No one can teach you.
I know the feeling with having trouble working through books. Quit trying to pound a square peg into a round hole. Find what works for you (your current approach doesn't!)
Don't learn/read things just because you think they are good for you. Do what you are actually interested in.
- he really doesn't use his PGP key all that often, had the same one for 16 years on god knows how many computers, and decided that if he's going to generate a new one, he might as well send a message with it.
Edit: I am located in the North Eastern part of the US.
Edit 2: perhaps we need a geolocation aware social network a la Square but just for notifying you of other nearby PGP users...
He has worked previously in mostly corporate and private context, so 2048 is just fine. Now he works with people and data NSA wants their hands on and he wants the data to be secure also in the future. It's just reasonable to move to 4096 key sizes.
>Dr Lenstra and Dr Verheul offer their recommendations for keylengths. In their calculation, a 2048 bit key should keep your secrets safe at least until 2020 against very highly funded and knowledgeable adversaries (i.e. you have the NSA working against you). Against lesser adversaries such as mere multinationals your secret should be safe against bruteforce cryptoanalysis much longer, even with 1024 bit keys.
See also: http://www.keylength.com
> 3) Assume that while your computer can be compromised, it would take work and risk on the part of the NSA so it probably isn't. If you have something really important, use an air gap. Since I started working with the Snowden documents, I bought a new computer that has never been connected to the internet. If I want to transfer a file, I encrypt the file on the secure computer and walk it over to my internet computer, using a USB stick. To decrypt something, I reverse the process. This might not be bulletproof, but it's pretty good.
Bear in mind also that even though you've never heard of an audit of GPG, GPG is actually a pretty high-profile target. Smart people have already looked at that code pretty carefully.
Since GPG is an open source project, a better approach would be to find a way to sponsor a bounty for vulnerabilities in GPG. But here too you'll run into problems:
* It will take fo-re-ver to adjudicate what does and doesn't qualify as a serious finding. Google and Facebook manage this problem by hiring very smart vulnerability researchers and allowing them to come up with criteria pretty much by fiat. Here, you're going to end up in a 2-month-long argument about whether man page bugs are vulnerabilities because of the nature of the project.
* Output of these programs is nonlinear and unpredictable, so it'll be tricky to figure out how much money needs to be set aside to satisfy reward payouts. In the meantime: who holds that money? And where does it go when the bounty outlives its utility?
If you really want to do some good, consider starting a project (which would require no funding) to either:
(a) Build a replacement GPG in a more modern development environment, or
(b) Annotate all of GPG's source code.
Here's an overview of GnuPG's committers:
Werner Koch: 2677 commits over a period of 5764 days. David Shaw: 1197 commits over a period of 3807 days. Marcus Brinkmann: 202 commits over a period of 3753 days. NIIBE Yutaka: 53 commits over a period of 641 days. Moritz Schulte: 39 commits over a period of 1756 days. Timo Schulz: 29 commits over a period of 896 days. Stefan Bellon: 21 commits over a period of 765 days. Repo Admin: 9 commits over a period of 2634 days. Andrey Jivsov: 8 commits over a period of 37 days. Ben Kibbey: 6 commits over a period of 20 days. Neal Walfield: 5 commits over a period of 1 day.
This doesn't negate the need for a code review of some sort, but it does suggest that it would be difficult for an outside agent to silently introduce changes in master without the core developers noticing.
Word on the street is the code is horrific and last I checked was not even checked into git, in any way, yet.
Could be for example just a simple message "Audited, file: aaa/xyz.c, checksum 3ea1b.. revision 1c030.." signed with auditors public key.
It's slightly advanced, but it might be great for you for just taking materials from to explore the scope of scientific computing at large.
It goes in to things like digital signal processing, some computer vision and other things.
Regarding the degree, credentials are important (and imperative if you want to direct your own research), but one option is to start out by contributing to an open-source project. If you have a specific area of scientific interest, then be strategic and find a project in that area. To take biology as an example, I would look at something like CellProfiler (they are on github!). Also read the papers published by that lab to get a sense for how the software is used. There are many other open-source scientific software projects, and contributions to a project could give you a foot in the door to employment as a developer in the field.
Another thing you can do is attack real world problems,there is a shocking amount of bad data science out there.See:http://www.slate.com/blogs/moneybox/2013/04/16/reinhart_rogo...
1. _Stats: Data and Models_ by De Veaux, Velleman & Bock
2. _Fifty Challenging Problems in Probability with Solutions_ by Mosteller
Basic data analysis:
1. _Python for Data Analysis_ by Wes McKinney
3. _Exploratory Data Analysis_ by Tukey
4. _The Visual Display of Quantitative Information_ by Tufte
- R & ggplot2 & (Sweave | knitR)
- Python & numpy & pandas
- UNIX tools (https://news.ycombinator.com/item?id=6046682, https://news.ycombinator.com/item?id=6412190)
- basic SQL (https://schemaverse.com/tutorial/tutorial.php)
- data visualization: (R & ggplot2) | (Python & matplotlib) | d3.js
- OPTIONAL: C/C++/Java for hardcore Bayesian stuff, Julia for being cool, Fortran for specific academic domains
On getting people to take you seriously: If you knew the stuff up there, I would take you very seriously, even without the STEM degree. You can pick this stuff up outside the classroom (in fact it might be hard to find uni classes that cover this stuff). So if you did self-study, and blogged about it or something, people would take you seriously (esp. if you got good at something "hot" like d3.js or Bayesian). In fact, given your background in web / software / business, you could be considered even more valuable (by web / software / business people).
What are you interested in specifically? Where do you want to end up?
There may be some companies with biases that will prevent it, but there are plenty of companies that don't care how old you are, what you look like -- just that you're really good at what you do.
But be aware that many people overestimate their abilities or undervalue the judgement that years of experience bring. There's a lot of value in having been around long enough to see things come and go. To have made lots of mistakes and learned valuable lessons. Some people really are so good that they can skip much of that, but it's very rare. The only safe bet is to assume you're not one of those people.
And I wouldn't get too hung up about titles. If someone wants to call you "Junior Dog Walker" but pays you and treats you like you want to be treated then don't worry about it.
Youre interviewing at the wrong place, with people you shouldnt work with. When leveling a candidate two things matter, technical knowledge & leadership. Ive literally never heard anyone suggest leveling a candidate based on work history. Experience might affect comp, or indicate retention issues, but it _does not_ affect leveling.
To qualify my argument Ive a decade of experience. Ive been in "senior" roles for the last 4. Ive worked in a couple 4 man llcs, and a couple multi billion dollar tech cos. Ive probably done a hundred interviews, and ive coworkers in the hundreds and thousand range.
This question makes no sense to me, nor does your history of posting questions on here.
Based on reading your past questions, looks like you were not a good interviewee and/or lacking in real technical skills.
Communication is the biggest key to getting any position. You need to be able to sell yourself and your abilities. Can you explain what the basics of OOP, MVC, SQL, etc? An inability to communicate these terms, invalidates your technical skills. If you can not explain what an does MVC, how can you implement this pattern into a web app?
You could not articulate common terms that were used in programming during your interview process. At other times, you write about how you can barely program anything outside of a simple app/CRUD, then a bit later are bitching about how simple these tasks are.
Focus on learning how to communicate the terms better. Every profession as certain terms and ideas that they use. Nursing has them, engineering has them, and teaching has them. Programming certainly has them. Sit down and learn the terms.
I would think go the showcasing competitive route, hackathons, open source projects, etc. If you can make a spectacular showing there and win the kudos of your peers, that would account for something.
That being said, I currently spend more time on MetaFilter than on HN. I sometimes don't show up here for months at a time. As an openly female member, I have found this boys club in many ways less than welcoming. Possibly not a good thing to admit.
It's basically a private forum for technical topics in Ruby. Pretty high signal-to-noise ratio.
Then again if you're looking for message boards, I don't really participate in any, so I can't help you there.
- Don't ask my to sign up or give you personal info without giving me a good reason; let me see a demo or at least something like screenshots/results/examples first. Related: what am I getting out of taking time on your site and/or letting you know about me? Do I trust that you'll deal with my personal info in a respectful manner? (Hint: No, I don't.)
- If you are not a native speaker of English, then run the site by a native speaker before publicizing.
Concerning the first two above: even when you've paid attention to them, you probably haven't done nearly as good a job as you think. I come to your site knowing nothing about you or what you've done; help me understand.
For example, you say, "Unclear message about why I would use said app". Sure, make it clear. But first, pay attention to a more fundamental question: make sure that your site indicates that it is about an app. And be clear what platforms the app is available for. And how to get it. And does it cost something. Etc.
(Idea: Find someone who knows nothing about your project, show them the site, and then ask them what they think it's about. If there is a sign-up, then ask them if they noticed it. Ask them what they think they get out of signing up. Don't give them any hints beyond what they already saw on the site.)
The only thing you should would worry about is making sure if there is a spike that your site doesn't crash.
The other things you're talking about are not optimizing for a Show HN, they are optimizing for a successful landing page.
A well researched "sins" list in this area might make a great addition to the "Guidelines page" - but there again a poor post is probably an effective indicator for the quality of what is to be found.
Even posts that garner many response of "No demo?", "No screenshots?" frequently gain responses than the few things I've posted. (e.g. Console mail client with lua scripting, sysadmin tools, or my updated blog-spam detection service.)
Especially not Gmail, as every time I look at it, some other bullshit feature got added and the UI got more horrible.
I use gmail, yahoo mail (through an extension), connect several pop3(I tell it to leave messages onn server), imap servers for work (for which emails are occasionally harvested and sold to spammers somehow..) and my own mail server (Hey, I am a web developer. No excuse to not have a el cheapo vps with webserver and an email servers combo), local maildir and mbox delivery for testing crap I write, several newsgroups and a shitloads of RSS/Atom feeds. It also has some xmpp integration of dubious usability. I also have Lightning extension which is supposed to behave as a calendar but I am a disorganised person and rarely check email by contemporary standard of every five minutes, whole day. Oh, and local spam detection.
Sure I look forward to Mailpile (just checked the marketing blurb) which promises to not show me ads and perform faster than "cloud" while offering all the features that should exist in practice to justify calling itself an email client. Competition is good and thunderbird is going senile by every passing day anyway.
I hope they won't spin off their custom web server as a standalone project too.
I have used gmail to date simply because I must have a synched service between laptop and mobile. So gmail was just there as a IMAP/SMTP server for the iPhone mail reader
However as pg has pointed out, and the pretty good ActiveInbox implemented (hey ActiveInbox - apply for YC!) a mail inbox is really a task list.
And it must be linked to a contact book. All of which must be integrated at the event level.
So which mail client I use is less of the question than how do I solve
* capturing and synching contact details, contact events, email messages and tags across all these
I have a workable solution in gmail now, but I cannot capture events on my iPhone. Android appraently does so I will switch but its not all tied together neatly.
I have played with mutt and goobook but frankly I can see a good couple of weeks disappearing down this rathole. Yet it should be a solved problem. VCards, iCal, X-Headers, the solution is there. It just seems there is no RFC we can agree on
my rant on this subject: http://blog.mikadosoftware.com/2013/09/17/help-i-cannot-find...
Edit: am I just ill-informed (!) or has there really been no successful standardisation for "managing contact details events and tasks in a mailbox?"
I've just always felt that a desktop client just adds another layer where things can go wrong.
From there I read it with lumail, if I have problems I revert to mutt.
I've got webmail setup for those times when I'm travelling and cannot use ssh.
Since it's within Emacs there's great GPG support, familiar keybindings, and less contextual shift than switching to a browser. It's also fully searchable, usable offline, and non-blocking to other emacs operations.
Thunderbird was the first client I found that let me manage multiple separate accounts through the same interface, receiving and sending mail from each in a logical way. There's probably other ways to do that now, but I'm terrified of upsetting a system that Just Works.
A wholesale computational model of the cell is an incredibly ambitious task to achieve via a broad, unfocused approach to building a chem-concentration database.
The main issue they would face is in your bullet #1: What is your "Pagerank" for cell structure and chem-concentration analysis, what/who do you put your weight behind?
How do you merge these data sets? This research is distributed in labs all over the planet with different quality standards, research objectives, lab conditions, data hygiene, statistical significance, etc.
What you've written seems like a plausible approach in a pure research setting within a single lab, but if their end goal is a computational model of the cell with commercial side-effects along the way-- the best way to achieve that would be to chip away at it piecemeal. Not through an unfocused merger of cell "big data".
E.g. identify specific protein binding sites and conformations that correlate with a specific type of breast cancer, track their conformations under different conditions--- prove that your data is superior to data yielded by existing models.
Of course, you would also have to monetize somehow.
The specific thing you chose is less important than not attempting to paint the whole model at once.
> (1) would improve therapies across the board for all major diseases at once
How? Unless if by "at once" you mean they would begin the era of using this approach on any disease. But surely each disease will have its own puzzle.
I caught these books at just the right time in my life (age 13 or 14), leading my high-school fascination with Japan and rekindled interest in computing, and probably played an inordinately large role in me ending up as a programmer who lives in Tokyo, two decades later.
I like great sci fi best, but I think most of it is crap, including virtually all of the old pulp sci fi and Asimov I grew up reading (which was basically all of it), Star Wars/Trek, etc.
Other than Gibson's stuff, some of the truly spectacular sci fi I have read is the very-dense-and-not-at-all-thriller-ish Mars trilogy (Red Mars, Green Mars, and Blue Mars), and the fast-paced-and-awesome Spin by Robert Charles Wilson. That led me to read all of Wilson's books, many of which are also good. Also Haldeman is an author worth reading, though not all of his books hit their mark.
Great sci fi is my favorite fiction, but IMO most of it is broken by being fundamentally implausible. Other fiction I consider great in other genres include Memoirs of a Geisha, Cold Mountain, REAMDE, The Son, The Road, the lighter but still version of that post-apocalyptic concept The Dog Stars, City of Thieves, and All the Pretty Horses and its sequels.
It's probably symptomatic of a major flaw in my character that despite also buying dozens of nonfiction works (Lincoln, On China, and so forth) over the past few years, I haven't finished any of them.
Started with: Dune, by Frank Herbert (+ 5 books in the series) Continued to: Ender's Game by Orson Scott Card (+ 3 sequels) Now reading: Foundation by Isaac Asimov (+ 5 books)
Other than that, been been enjoying some classic literature, Zen and Art of Motorcycle Maintenance, James Clavell, Haruki Murakami and books about Richard Feynman.
Asimov's Foundation (I only recommend the trilogy, though; Foundation's Edge is good but will make you want to read Foundation and Earth, which does severe damage to the universe. Haven't read the prequels.)
Asimov's short stories
The Count of Monte Cristo (brilliant revenge story)
A lot of Brandon Sanderson's work (The Stormlight Archive is promising to be fascinating)
Too long a list of other stuff to put here.
Edit: yes they do, and that's exactly what they're called, and there's already one for Hacker News: http://www.goodreads.com/group/show/94469-hackernews
If you're into crime/mystery fiction, the recently deceased Elmore Leonard was one of the best. A few of his books have been made into movies (Get Shorty, Jackie Brown, The Big Bounce) with mixed results, but I do I highly recommend reading the books, which are numerous.
For a different sort of fiction, James Clavell's Shogun, Taipan, and Noble House are great. In fact, Noble House very well be my favorite book. It's a long (~1400 page) book about business dealings, political intrigue, and more. All set in the context of 1963 Hong Kong.
Those who like a touch of historical fiction could take a look at Conn Uggulden. One of his series, The Conqueror, which is about the rise and fall of the Mongol empire is pretty interesting. The books are a light read, and not particularly complicated, but it's entertaining and has some neat historical bits.
Currently, I am reading the third volume of Rick Atkinson's history of the second world war, The Guns at Last Light: The War in Western Europe, 1944-1945. I've enjoyed all three volumes over the past decade.
I also recently read Kafka's The Trial, which I've long known about but never read, and it was good but not at all what I expected. For some reason I expected Kafka to be an intimidating, serious writer, based on how his name has come to be used metaphorically. But The Trial is a very easy read, engaging and plot-driven, moving along at a fast pace. You can read it in a few hours, and it feels like light reading, despite having some serious content.
Other favorites: Crossing to Safety by Wallace Stegner, In Our Time by Hemingway, The Magus by John Fowles, 100 years of solitude, Moby Dick (perhaps a precursor to all modern fantasy?) Stranger in a Strange Land, and Infinite Jest. I've also loved both of DFW's big essay collections: Consider the Lobster and A Supposedly Fun Thing I'll never Do Again.
It's hard to sum it up to a couple of favorites... If you prefer hardcore sci-fi over the rest - as I do, those are definitely first choices:- Iain M. Banks Culture books ("Excession" being the best of all to me)- Simmon's "Hyperion" and "Fall of Hyperion"
Some authors managed to bring some good pieces of space-opera without being too much cheesy:- Hamilton and his Void books,- and, of course, Herbert and the Dune stuff.But I must warn the casual reader here: those kind of books can get really massive.
Second choices - but still really good books, would be stuff written by great guys like Asimov ("Foundation"), OS Card ("Enders game") or RC Wilson ("Spin").
I haven't finished it, but I find it quite interesting. It's the story of a housekeeper and a professor of mathematics who can remember new memories only for 80 minutes.
Here is a link to the relevant wikipedia article http://en.wikipedia.org/wiki/The_Housekeeper_and_the_Profess...
Rudy Rucker's Postsingular followed by Hylozoic are great books. It's a rather humorous view on postsingular way of life. It's hard to describe his books and Rucker's writing style is not everyone's cup of tea but William Gibson likes it.
Also if you haven't read anything from Michael Swanwick you should give his books a try. It's not strictly science fiction because he likes to slide into more psychedelic and surreal areas of fiction. But I consider that his charm. Start with The Iron Dragon's Daughter.
I also have to mention Cory Doctorow's Down and Out In the Magic Kingdom. I actually don't really like Doctorow's works. Some of them are boring. But this particular book is an exception and absolutely worth reading. A lot of interesting ideas are in play there including reputation based currency, eternal life (through ability to backup/restore body and memories) and extreme transhumanism.
Various practical books such as Secrets of Power Negotiation by Roger Dawson if that sort of thing will help you.
Outside science fiction: P.G. Wodehouse's Jeeves and Wooster novels, as well as what of his other books I've read, are hilarious and brilliant; I would suggest "Right Ho, Jeeves" as a starting point.
"Giant Steps: The Remarkable Story of the Goliath Expedition From Punta Arenas to Russia" by Karl Bushby
Unbelievable what it feels like to just take off...
"Walt Disney: The Triumph of the American Imagination"
The first third of the book is remarkable in that Walt Disney constantly struggles with failure.
"Swimming to Antarctica: Tales of a Long-Distance Swimmer" by Lynne Cox
Her story is all about single focus on doing what you want to do.
"Born Standing Up: A Comic's Life" by Steve Martin
I was recently coaxed into reading the 'Kingkiller chronicles' by Patrick Rothfuss, I was sceptical thinking it would be something like Harry Potter (not my cup of tea) but I ended up really liking it, looking forward to the third book.
"Letters to a Young Contrarian" by the same.
and "Unpopular Essays" by Bertrand Russell.
Other favorites, not including those mentioned by others already are Jurassic Park and the Harry Potter series. I like to go back and read these often.
For fun, my favorite, far and away is Foxtrot by Bill Amend.
Another would be halting state but time have properly overrun it.
He even have a interesting background as a programmer/tech writer/pharmacist, read it here: http://www.antipope.org/charlie/blog-static/2009/07/how_i_go...
I love reading actual sci-fi too, and was most impressed by the Lost Fleet series by Jack Campbell. Can absolutely recommend those.
Note: I didn't come to these titles myself, they were recommended by Steve Gibson from the 'Security Now' podcast. I couldn't agree more with his taste.
I am cheating with an audiobook though....spend a lot of time in a car=)
From Falling Bodies to Radio Waves, Emilio Segre A River Runs Through It, Norman Maclean
They present a lot of challenges that mankind may face in the future as our technology exceeds us, but they are also very entertaining.
1) Can't find a way to edit our project listing
2) Consider more rigorous client-side validation on submission form(e.g. I accidentally entered a non-numeric character in the Price field - this error was reported only after I hit Submit. Would've been easier if this were reported on tabbing/clicking out of the field)
3) Upon erroneous submission, at least the 'How is your project built?' field got cleared
Also, you might want to consider an 'auto screenshot capture/display' feature once a user types in the URL. We are very shortly going to publish a (free) API to do this - we'd be glad to help if needed, let me know.
A great site/service on the whole - thanks.
Thanks for posting yours here!