hacker news with inline top comments    .. more ..    16 Jan 2016 Ask
home   ask   best   3 years ago   
Ask HN: Why is Azure so expensive?
39 points by tuyguntn   ago   33 comments top 14
1
cldellow 3 minutes ago 0 replies      
We recently explored putting about 25 of our VMs in Azure.

For our workloads, Azure is a worse deal. Broadly, we found that compared to EC2 instance types, you paid a slight premium of 20% or so to get 2x the RAM and 100s of gigs of ephemeral SSD storage (vs little or no SSD storage), while taking a perhaps 30% hit in CPU performance.

It's not terrible, and depending on your workload, might be better than EC2. I'm personally very partial to Amazon's spot instances and t2 family types, neither of which Azure offers.

Even so, compute only represents ~25% of our AWS bill. For enterprises who have significant Windows/AD investment, Azure might be a no brainer from an ops cost point of view.

2
nextweek2 58 minutes ago 1 reply      
Because its aimed at enterprises that have Microsoft OS's and applications. Those buyers are used to paying a premium and know they don't have to retrain staff.

You need to consider that the bulk of developers are actually using the Microsoft platform. For the most part they aren't interested in the free software community. Linux VMs are not an option for a lot of corporate tasks.

That is of course changing and probably the main driver for Microsoft being more open.

3
OrionSeven 37 minutes ago 0 replies      
For our use case (fairly standard windows setup, sql server, about 8 VM's in total) Azure was less expensive, more so after we setup and saw true costs. We run our dev and test environments there and were able to get faster hardware & more storage for less as well (about 10% less for about 20% more). But again, that's a pure windows setup, comparing other components gets tricky because of different pricing models.
4
thomas11 1 hour ago 0 replies      
Azure just recently announced price reductions to be competitive with AWS. The blog post has some interesting links.https://azure.microsoft.com/en-us/blog/helping-azure-custome...

Disclaimer: I work for Microsoft.

5
tyingq 1 hour ago 2 replies      
Is Azure more expensive? I can't tell, in any simple way.

Is there a place that offers some simple apples-to-apples comparison for typical use cases? All three require complex calculators that account for bandwidth use, ip addresses, etc.

Edit: I do see some tools after searching some, but they are all flawed a bit because the three providers don't all offer the same thing. Azure's 2 core machines start with significantly more RAM than Google or AWS, so it's not a great comparison. The tools don't make that sort of mismatch easy to see.

6
tuyguntn 1 hour ago 3 replies      
Comparison (not exactly apples-to-apples):

~3-4Gb RAM: Azure (2cores, >100$/month), Google (1core, ~25$), AWS (37$, or compute optimized 75$)

high memory 13-14Gb: Azure (>246$), Google (~63$), AWS (16Gb, >172$)

...

UPD: Thanks to tyingq, Azure 3-4Gb RAM (2cores, starting from 70$)

7
forgottenacc56 15 minutes ago 0 replies      
Setting aside the cost which I thought similar for Linux.....

If you are running Linux , azure works really well. Give it a try if you can set aside your bias.

8
yulaow 1 hour ago 2 replies      
I can just say that Azure and AWS cost more than Google Cloud because Google Cloud has the worst customer support I ever saw.
9
forgottenacc56 8 minutes ago 0 replies      
This post should be flagged.

The OP needs to quantify the statement about azure being expensive or else it will just sound like anti-Microsoft fud.

10
polskibus 41 minutes ago 3 replies      
As far as I understand Microsoft licensing, in normal VPS + Windows solution you would have to pay Windows Server CALs for each user connecting to your web app on that server (even if you dont use windows authentication).

In Azure, MS frees you from that CAL charge.

I would be grateful if someone could confirm or reject this licensing issue - I heard it once from a MS employee but perhaps he misunderstood the thing about VPS somehow?

11
outside1234 25 minutes ago 0 replies      
What is more expensive? The pricing seems on par with Amazon.
12
hkmurakami 31 minutes ago 0 replies      
My guess is that they are selling to existing MS stack install bases hat are much more price agnostic.
13
aclatuts 59 minutes ago 1 reply      
Azure/Google is definitely more expensive but that is probably because they don't treat their employees like crap.https://news.ycombinator.com/item?id=10065243
14
hayksaakian 55 minutes ago 1 reply      
if you need windows VMs it's alright
Ask HN: Why don't US oil companies just buy oil from Saudi Arabia?
3 points by rsp1984   ago   1 comment top
1
smt88 10 minutes ago 0 replies      
Oil is really complicated. It is deeply tied to US foreign policy and all recent military conflicts. Lower foreign oil prices harm US oil producers, but they're awesome for almost every other industry (unless they bought oil futures!) Lower fuel prices also make it easier for people and goods to move more cheaply/freely around in an economy, which is also incredibly good for everyone!

I don't know the answer to your question, but I did some research and will also speculate. I could be totally wrong.

I don't believe there's a tariff on oil imports in the US for those reasons. So why don't oil companies buy oil? Probably because the infrastructure required to move and store oil is incredibly expensive, and because the oil buyers could just go straight to the source.

The amount of oil that would have to be purchased in order to increase prices again is totally astronomical. I imagine most oil companies prefer to have low storage costs and therefore try to avoid overproducing, which means they probably don't have massive amounts of unused storage space.

Ask HN: GitHub thinks I'm a bot; what about my projects?
8 points by franciscop   ago   7 comments top 3
1
franciscop 1 hour ago 1 reply      
Github just fixed it; However I don't know how long they were down. I asked them about this:

-------

Dear Ben,

Thank you so much for a prompt response. Might I ask what happened and why I was flagged as a bot?

I have to find out what happened to my projects on NPM, bower and jsdelivr since Github was returning a 404 for those projects for an unknown amount of time. While on your end it's a flag, it might affect a bigger pipeline and cascade into more trouble. Is any step being taken to avoid this? How often is it done?

So your statement "everything should be back to normal" might not hold true for the reasons explained above and in my question on Hacker News: https://news.ycombinator.com/item?id=10916349

Thank you,

Francisco Presencia

-------

2
detaro 1 hour ago 1 reply      
Both repos linked are visible to me.
3
Mz 35 minutes ago 0 replies      
Probably, the most important thing you should do is find out what you did that made them think you were a not and do not do it again.

BlogSpot thought I was a bot when I moved multiple WordPress blogs over to BlogSpot over the course of a few weeks. Manually copying and pasting 50 or more old posts per day seemed to be the issue.

Three lines to crash Safari for good
7 points by oliverfriedmann   ago   2 comments top 2
1
blackrose 1 hour ago 0 replies      
It does some funny things in WebKit for sure. Messes up other JS in Chrome too: https://html.house/edit/ecf7pczv.html
2
oliverfriedmann 1 hour ago 0 replies      
Submitted a bug report to Apple / Safari.
Ask HN: Getting back into programming with a hackers mindset?
67 points by facetious   ago   54 comments top 23
1
super-serial 14 hours ago 3 replies      
Coding without purpose is like eating by using a feeding tube. What's the point?

I've done useless projects at school and at work but the point of those projects was to get credentials or money.

If you're doing this for fun, you should start with something you want to make. A game idea, an app idea, a robot that does something. Break the problem into the smallest parts and start with that.

I also hate complicated compiling processes, bloated tools, or anything to do with configuration. But that's just part of software development. You'll have the motivation to plow through that if you really want to build something.

2
glossyscr 12 hours ago 2 replies      
I was in a very similar situation after I spent decades working as an executive totally forgetting my tech skills I had when I was young. Before I reached 20 I wrote an heavy ERP system and few years ago I was even afraid to touch the shell of a bare metal server (which is btw fun and very satisfying, once you got into it you literally feel the power).

Since I love tech and programming I wanted to get back, not to find a tech job or run a tech startup, no I just wanted something to distract myself after work. So I began dipping into random languages, libs & frameworks. Bought books, read tutorial and did crash courses. I chose popular and new tech, stuff that matters and things which frequently pop up on HN. From mobile development over functional languages to the hottest JS front-end libs. I played around but usually after a few days I lost quickly any interest, I didn't know why.

Eventually I found the best way get back again and it's easy: Look for a real problem you have yourself and you want to solve. Just for yourself, just to use it yourself. Once you identified the problem you search for the right tool and everything else comes by itself and before you realize you mastered a heavy language/framework in a few days/weeks.

Without a concrete mission which really must matter to you all efforts to get into any appealing tech such as Swift, ES6, react-redux, Android dev, Go will feel shallow and you'll end up wasting time going through tutorials/books/guides questioning your journey.

3
headcanon 17 hours ago 1 reply      
My suggestion would be to try out Unity 3D - it uses a language similar to Java (C#), allows you to explore the basic AI stuff you seem to be interested in, and with their tutorials you can see the results of your work fairly quickly and you build actual projects from the ground(ish) up. And above all its fun, even if you're not an artist, or you don't come out with a polished game. If you're using windows you get the benefit of an awesome IDE (Visual Studio), but if not you can still get by pretty well, and Jetbrains is set to release a good cross-platform IDE for C# in the near future.
4
richardboegli 3 hours ago 0 replies      
I'll probably get modded down or labelled a Microsoft shill, but since you have done VBA, I'd suggest having a look at MS Access. Here is my recommendation to someone else who was looking at what to learn:https://news.ycombinator.com/item?id=9910744

C# using Visual Studio is a great next step as the IDE is first class. Microsoft give it away now free.

5
ehudla 11 hours ago 1 reply      
If you are looking for cool examples, download Norvig's IPython notebooks and play with them. As a bonus check out this very cool model of economic inequality.

http://norvig.com/ipython/README.htmlhttp://nbviewer.jupyter.org/url/norvig.com/ipython/Economics...

6
phodo 17 hours ago 2 replies      
You can check out "handmade hero"[1] or "handmade quake"[2] on the software, game, c/c++ side. Then, you can try a port to java / android.

[1] https://handmadehero.org[2] http://philipbuuck.com/announcing-handmade-quake

7
waterlesscloud 17 hours ago 1 reply      
I recently got a SDR (software defined radio) USB dongle, and playing with the data you can pull off the radio spectrum feels like my youth with my Color Computer and assembly language somehow. There's plenty of hobbyist code out there to use as a start, and the more you play with it, the more ideas you get for fun projects.

As far as language, Python is my current favorite. It just has the lowest friction by far.

8
brudgers 17 hours ago 0 replies      
These days, it's so easy to just download a package for a language that there's no reason not to try out just about anything that interests you. Python, J, Scheme, Haskell, Ruby, JavaScript, Even Bash is an option.

It's a hobby, there's no reason to start with the overhead of an industrial grade IDE.

Heck you could just download Emacs and spend a long time writing code in Elisp.

Good luck.

9
darkmighty 17 hours ago 2 replies      
http://codecombat.com

Seems perfect for you (in short notice you should be programming little agents to collect resources and other rudimentary AI). It's great for learning.

10
mbrundle 12 hours ago 1 reply      
I can relate to the experience of finding everything is totally different now to how it was before you took a break. I was a self-taught developer who then took a lengthy gap to do a PhD and postdoc. That ran into a dead end, and after much reflection, I decided I wanted to get back into coding. My blog has several posts about this thought process which may or may not be helpful. To cut a long story short, I did two online boot camps (one on Ruby on Rails, one on Swift iOS). The experience of coding with an experienced mentor that I could bounce questions off was really helpful, and I soon got that buzz for coding back. I'm now into my second coding job (as an image data scientist for a London fashion tech startup) and I'm loving it.

Please feel free to reach out if you think any of my experience could be relevant and you'd like to chat further.

11
nrjames 7 hours ago 1 reply      
I say start with Processing. It's a simplified superset of Java. With strong visual feedback, you'll get up to speed in no time. Very simple IDE. All Java is valid Processing. Also, you can make Android apps with it. It's very closely related to Arduino development, too. www.processing.org. Daniel Shiffman's books are great. Nature of Code is free online.
12
mark_l_watson 6 hours ago 1 reply      
I bought a Raspberry Pi B recently. You get a Linux system with many pre installed programming languages and an environment intended to get kids/students interested with tinkering with computers.

I even used mine for all of my writing and work for about 5 days. Playing with the Pi brought back some of the freshness of my old hacking/tinkering days.

13
fibo 12 hours ago 0 replies      
Hi,

welcome back into programming. A lot of things happened since the 1990s :)

If you want to hack on a minimal dataflow engine, written in JavaScript (but the spec is really simple, it could be implemented in any language), take a look at dflow:

http://g14n.info/dflow/

by now it can run server side or in a browser, but since it is a really flexible spec it could reach also other contexts like electron apps or AWS lambdas.

14
EliRivers 8 hours ago 3 replies      
Cross out the word "hacker", because it's become so used and abused that it's now a filler word; it means something different to everyone. Some people define it as "person who can write a computer program", some people use it in the Stevn LEvy sense, some people use the ESR definition, some people just use it to mean anyone who is unconventional. It has become a phrase that means a different thing to everyone who hears it, without even realising it; much as when a politician says "our common values", and everyone interprets it differently without realising it.

So tell us what mindset you mean, without using the word "hacker".

15
eru 16 hours ago 1 reply      
The other commenters made some good points about which technology to choose to hack on. I want to add: find some like-minded people and hang out and hack with them.

Offline, face-to-face is best. But even online works better than nothing.

16
flipcoder 6 hours ago 1 reply      
There are some good recommendations here. You might also be interested in TIS-100.

http://www.zachtronics.com/tis-100/

You solve coding puzzles but in a very limited retro environment.

17
ehudla 12 hours ago 1 reply      
NetLogo is a really easy and fun way to play with ABMs. Once you produce data from your ABM simulation, load it into Jupyter (previously, IPython) or R Studio and explore the data.
18
logical42 14 hours ago 0 replies      
If you're not hellbent on Java, I'd give Rails Tutorial a try by Michael Hartl. It gets one up and running fairly quickly, end-to-end, without the complications of learning an IDE.
19
ShirsenduK 15 hours ago 0 replies      
Tryout ESP8266 it comes with hacker happiness.
20
RadioactiveMan 16 hours ago 0 replies      
Look into exercism.io; it's a pretty cool way to solve problems while people provide feedback on your code. Better still, you can review other users' solutions and see how you could have done better.
21
YashN 15 hours ago 0 replies      
Javascript, Python, Elm, Clojurescript, Arduino, FPGAs
22
chris_wot 9 hours ago 0 replies      
It depends on the language (at least, that's what I found). I'm in a similar situation. I am currently working away on LibreOffice code (I'm also between jobs at the moment...) - but I started with them because one day I was reading their source code on OpenGrok, I was looking for the main function and when I found it I thought, "That a bit messy".

Then, for some reason, I setup their build environment on a VM, setup my git client to push to their gerrit and started making some easy changes. I've focussed on the VCL, which is a core component of LibreOffice, and the more I have read the code on OpenGrok the more things pop out at me. So I tend to submit patches.

Right now I'm reading up on how LibreOffice deals with fonts. It's a bit messy, but the code actually can be refactored, so that's what I'm doing! Actually, it's kind of fun. I rather like running doxygen to see what the collaboration diagrams look like after I've changed the class structure :-)

23
jodrellblank 14 hours ago 2 replies      
You want to get straight into coding, but instead what you're doing is posting on a forum for a discussion for recommendations for a tutorial? Are you also scheduling a meeting to discuss the procedure for gathering a committee to plan lunch? ;)

I mean, I don't think you're deliberately being misleading, but it feels a lot like you're saying one thing, yet doing another. Just out of curiosity really, why haven't you already Googled and started - what are you holding off and waiting for? It would take, what, 10 minutes to Google a Java tutorial and open https://repl.it/languages/java and get some text printed, right?

I learn better by experimenting with other peoples code than by a textbook [..] Im looking for recommendations of textbooks

mmhmm.

Ask HN: Is there a webcast for the SpaceX Jason-3 launch tomorrow?
5 points by heraclez   ago   2 comments top 2
1
jeffpalmer 2 hours ago 0 replies      
I got a Livestream notification about it.

Here is a link to the Livestream Event: http://livestream.com/spacex/events/4695903

2
agumonkey 3 hours ago 0 replies      
Previous link was http://spacex.com/webcast/

No guarantees though

Ask HN: A felon has offered to invest in my startup, what are the implications?
7 points by ThownAway   ago   2 comments top 2
1
jeffmould 3 hours ago 0 replies      
IANAL, but there is nothing illegal about an investor with a felony record, and there is nothing illegal about having an employee or board member that has a felony conviction. Now with that said, in the case of moral turpitude charges (i.e. fraud, theft, etc..) there could be some push back from investors or the board if the individual is going to have a say in operations or a seat on the board. There could also be pushback if the charge was business related (i.e. they stole from a previous employer, were involved in a investment scheme).

In this case though from what you say, a drug charge, no convictions since, with that much time since conviction, I personally wouldn't even worry about it. If you know the individual well, are willing to go to bat for that individual, and it is a problem for someone else, that is their problem and probably not worth your time fighting over to convince them otherwise. At the friends/family stage though, this level of concern is even further reduced in my opinion.

2
edoceo 2 hours ago 0 replies      
From my experience, old (>15yr) convictions that didn't require time served are a non-issue. Especially given the recent small business operation.

Investors do care about the group they are investing with. I think you can make a clear case that this party is a low risk.

Ask HN: What book changed your life in 2015?
22 points by anildigital   ago   7 comments top 5
1
cconcepts 11 hours ago 1 reply      
The Cost Of Discipleship by Deitrich Boenhoffer. Being aware and committed to something bigger than myself rather then trying to find the next thing to make money and potentially become, as Tim Ferriss calls it, another fat guy in a red BMW.

These individuals have riches just as we say that we have a fever when really the fever has us. Seneca

2
eswat 7 hours ago 0 replies      
A Guide to the Good Life: The Ancient Art of Stoic Joy by William B Irvine.

The last few months of 2014 and the first couple of months in 2015 - when Canadian winter SAD and the stress of starting a new business kicked in - really did me in mentally and I was going through a severe bout with depression.

This book was recommended to me by a friend and founder. It gave me the tools I needed to deal with the ongoing BS life tends to throw at you. Amazing how powerful and still highly applicable a mindset developed centuries ago can be today.

3
firebones 14 hours ago 0 replies      
Steven Pressfield's "Turning Pro" got me out of a rut. I usually don't go for this type of book, but it is more or less a couple of hour read and it helped me establish a better mindset that I've been able to build upon.

It really reminded me of the Admiral McRaven speech about making your bed, which is occasionally quoted here:

> If you make your bed every morning you will have accomplished the first task of the day. It will give you a small sense of pride and it will encourage you to do another task and another and another, he said.

4
jaksdhkj 4 hours ago 0 replies      
Victor Frankl's, "Man's Search for Meaning". Title says it all. An incredible book that shares an incredible perspective. Helps me get perspective while providing insight so that it doesn't all seem pointless.
5
montbonnot 13 hours ago 0 replies      
none... my life is unchanged.
Ask HN: Who has sold an algorithm and how?
17 points by daniel-cussen   ago   8 comments top 2
1
daniel-cussen 19 hours ago 2 replies      
OP here. So one algo I have is fast matrix multiplication algorithm, especially for sparse matrices. Faster asymptotically and in real-time than what's out there, and with better accuracy.
2
meeper16 19 hours ago 3 replies      
Hedge fund algorithm developer here. I've sold a few of these but it's mainly been based on taking 20% of the net profit and largely confined to the financial industry.
Ask HN: Is Knuth's TAOCP worth the time and effort?
204 points by QuadrupleA   ago   131 comments top 51
1
Analemma_ 2 days ago 6 replies      
> based on its stellar reputation as one of the indispensible, foundational computer science books that every programmer should read.

A while back, I was joking with some friends that TAoCP is to the programming world what Finnegans Wake is to English literature: you're not supposed to read it, nobody's ever actually read it. We all just say we've read it, talk about how brilliant it is, and place it prominently on our office bookshelves to silently humblebrag to anyone who drops by. Sorry you had to spend $178.08 on that lesson, mate.

2
balls187 2 days ago 1 reply      
There is this Hindu[1] tale[2] that goes like this:

A king once solicited a scholar to read an ancient hindu text, so that the king may better understand God. The scholar goes away, and after a period of time comes to the king. The king asks "Have you read the text?" to which the scholar replies "Yes I have." The king does not believe the scholar and sends the scholar to read the text.

Some time passes by, and the scholar returns. The king again questions the scholar, and again the scholar replies that he has read the text. The king sends the scholar away telling the scholar to read the text.

Some time passes by, and the scholar does not return. After some additional time, the king has grown impatient and sends some men to find the scholar. When they arrive at his home, the scholar is no where to be found, and has seemingly disappeared.

After studying the text so diligently, the scholar has ascended to heaven and joined God.

My assumption is that once you've truly read The Art of Computer Programming, you will transcend your human form and be one with the Cloud.

[1] Source: My dad, who is not the most reliable person when it comes to these sorts of things.

[2] I'm paraphrasing it, as I am also no the most reliable person when it comes to these sorts of things.

3
apetresc 2 days ago 2 replies      
It's not useful as a reference, but it is full of delight though only if you actually do the problems. Many of them are chains of inquiry that build on each other and culminate in some result that gives you so much intuition about whatever it was they were dealing with.

If you're in the Toronto region, I actually run a reading group for these books: http://www.meetup.com/Knuth-Reading-Group-Art-of-Computer-Pr.... We get together about once a month and go through the problems together. Just last night we had a 2.5-hour session about only section 2.3.4.1. I doubt you'd be able to get this much content from a sub-sub-sub-section of CLRS.

4
a-saleh 2 days ago 0 replies      
Disclaimer, I only read the first book.

Depends what you want from it. I used the first book to study for my Bachelor's degree final state examinations, and it served me well :-)

In other words, yes it is very academical, in the truest sense of the word.

From what you say, that you want it to "mention of pipeline stalls, designing for cache performance, branch prediction, multithreading, etc.", you might find better use of Andrew S. Tanenbaum books. I have only read his Computer Networks [1], but it has saved me at least 14 hours of boring lectures at uni, and helped me with some protocols work. He still does research in distributed OS-es, so would hope, that rest of his books would have same amount of readability and usefulness as the one I have read :)

Back to Knuth, if think you have no use in mathematical formalism, or college math in general, you will probably find it little more than intellectual entertainment.

There are of course areas where having formal theory of a thing is beneficial when programming, even if you yourself don't apply it (i.e. the chapter on random numbers seems like something everybody touching any code related to security should read, i.m.o)

But even then, if you suddenly need to learn more math theory, there are probably better sources than Knuth.

As somebody who finished my Msc already, I like it as my intellectual entertainment just fine :)

[1] http://www.mypearsonstore.com/bookstore/computer-networks-97...

5
tonocm 2 days ago 1 reply      
The term programming here is used with the same semantic definition as "dynamic programming" or "linear programming". Don't expect the book to touch on how to code fast algorithms, rather expect Knuth to teach you the inner workings of the algorithms regardless of their implementations.

Computer science and software development are usually thought to be the same by non computer scientists, but in reality computer science is basically applied mathematics. Expect a lot of it.

6
eyan 2 days ago 1 reply      
> So for those who are practical programmers and have gone down the Knuth TAOCP rabbit hole

There's the rub. TAOCP is Computer Science. "Practical programmers" aren't even engineers. So yes. The books for your intended purpose aren't worth anything.

It will have worth when you are writing something 'serious' like compilers, kernels, or complicated games. CRUD apps, nah.

7
Retric 2 days ago 2 replies      
pipeline stalls, designing for cache performance, branch prediction, multithreading, etc.

Those are issues for a subset of computer hardware. Embedded computing is still huge and has drastically different performance requirements. TAOCP is designed to stand the test of time, not focus on micro-optimizations that generally have limited performance impact and are a waste of time 99% of the time.

8
mturmon 2 days ago 0 replies      
There would be better ways to spend your time than TAOCP.

If you want to scratch that itch, a better way would be Cormen, Leiserson, Rivest, and Stein's Intro to Algorithms (https://mitpress.mit.edu/books/introduction-algorithms).

I'm not aware of such a universal reference for the interaction between algorithms and architecture ("...pipeline stalls, cache performance, ...").

Until that day comes...TAOCP sure looks nice on the bookshelf.

9
Arnt 2 days ago 0 replies      
I read all three volumnes and think it's great.

In a sense it's all irrelevant today. How many of your colleagues mentioned O() in any of the past five standups? Add a load balancer and scale up by adding instances, that's today. Don't even profile, much less understand.

However, if you're the kind of person who thinks hard about abstract matters and would like to encourage that side of yourself, then you might want to read that. You'll probably find it hard, particularly if you're a "ruby programmer" or "java programmer" rather than a "programmer", because Knuth is rather the opposite.

Interestingly, I have found that some parts of the book offer much more useful information than others. All offer the same thorough, intellectual approach, but while much of what volumes 1/3 say is useful for a modern programmer (but not for a modern <language> programmer), what I learned in volume 2 hasn't been of much use to me. Today's languages and libraries offer both math and data structures. But in practice, for whatever reasons, they seem to have liberated me effectively from caring about seminumerical algorithms, while I still think about data structures every week.

Knuth writes about making things fast with drum memory. I don't have drum memory, but making my data structures fast within the real-world constraints remains a topic, and somehow it's the same topic. Knuth also writes forty pages about floating point, but when I use floating point I don't worry about that part in the same way. The libraries do what I need and their internal problems rarely or never leak up to me. (Well, at work we do occasionally share "14.000000000002%" of revenue... but it's not a problem. Insignificant.)

10
geff82 2 days ago 0 replies      
TAOCP is not to learn programming or to cover everything modern. It is for the intellectual exercise, for widening the mind. And that is where its beauty lies.
11
nanolith 2 days ago 0 replies      
I have read much of it. It's a project I started in my late teens, and have revisited many times over the subsequent twenty years. I have done many of the (simpler) exercises, and I have even sent in a letter detailing a small error in the text, yielding me a minor check (not to be confused with the major check) from the Bank of San Serriffe. I also got a response from Don Knuth, who corrected my letter inline in pencil. Both an awe-inspiring and humbling experience.

Should you read the series? Well, that's largely up to you. There are other books that cover subsets of the material, and many books that cover algorithms not in Knuth's text. However, there are such amazing gems of knowledge in this work that it would be a shame to miss out. I'm sure that many people keep this set on their shelves for some sort of bragging rights, but I often leaf through sections for both inspiration and for entertainment.

You don't _need_ to read TAoCP, but it is a refreshing read. To get the most out of the text, you will need to have a pretty good understanding of mathematics, and you will need to be willing to work out the things he describes on your own. It's not a passive reading experience, like reading most fluffy books found in the "computers" section of the average bookstore or library. It is an active experience, like reading a mathematics textbook. There will be parts that challenge your conceptions, and there will be parts that will take several attempts to fully understand. Then come the exercises, some of which are still open problems in Computer Science.

It is a worthy endeavor. I recommend it.

12
egonschiele 2 days ago 1 reply      
Donald Knuth is actually a great writer and teacher. Try Concrete Mathematics instead of TAOCP, it is a shorter and easier introduction: http://amzn.com/0201558025.

It is humorous and it includes notes from past students in the margin. I really enjoyed it.

Shameless plug: I wrote an illustrated book on algorithms that aims to be an easier read than TAOCP, CLRS and others: http://amzn.com/1617292230.

13
raverbashing 2 days ago 2 replies      
It is more a reference work than anything else.

> For all its focus on algorithmic performance I found no mention of pipeline stalls, designing for cache performance, branch prediction, multithreading, etc. which are all very fundamental aspects of good performance on modern hardware

Yes, but pure computer science is not worried about that (maybe about multithreading)

But yeah, for a more practical/specific work there are better options (but it's going to be specific to an area)

14
brudgers 2 days ago 0 replies      
The older editions of "Sorting and Searching" contained a lot of information on efficiently reading and writing to sequential storage devices [tape]. Don't know about the current edition. [1] That said, "Combinatorial Algorithms" is all about efficiency that is relevant today. Combinatorial problems are the sort of thing where good algorithms stomp caching, branch prediction etc. because the fundamental problems are in NP and NP/32 is still NP.

Knuth has spent 50 years creating computer science that we can take for granted. But in the end TAoCP is a "little book on compilers" and if that's not relevant to one's vocation and the topic isn't intellectually interesting in and of itself then it's probably not the right book for a person.

Knuth always reminds me how hard this stuff really is.

Good luck.

[1]: edit. The First Edition has a centerfold showing the sequences of different society's executions across multiple tape drives.

15
pakled_engineer 2 days ago 0 replies      
I use TAOCP on a regular basis where I work, I started writing DSLs for industrial systems then learned from TAOCP how to optimize memory of these embedded systems. We leaf through the pages whenever we can and always find something relevant to what we're working on. We also used just a few LOC for hand rolled Knuth in a customer app field engineers use to quickly find documentation that is so fast and accurate we get offers to buy it. As a result these corps all keep their ancient embedded systems that would cost multi millions to replace as we keep making them faster and more reliable.

Knuth is also a fan of abstracted programming languages like Literate programming which he claims without it he wouldn't have been able to create a lot of the exercises in recent TAOCP volumes so anybody declaring that if you're "just" a Java programmer you won't get any use out of the books are likely incorrect.

16
rbehrends 2 days ago 0 replies      
TAOCP is very much worth reading, but it does emphasize the "science" part of "computer science". That's not 1960s minutiae, either, that's just academic rigor.

TAOCP creates challenges for many readers, because it does address most problems with an enormous amount of depth and breadth (but at the same time, offers a pretty exhaustive treatment of many topics) and requires a level of mathematics that may be daunting for beginners.

If you want a more accessible text in the same vein, you may want to give Mehlhorn's and Sanders' "Algorithms and Data Structures: The Basic Toolbox" a whirl, as it is freely available online [1]. It is a text aimed specifically at undergraduates and isn't as ambitious as TAOCP, but it still is something that may require a fair amount of effort to follow.

[1] https://people.mpi-inf.mpg.de/~mehlhorn/ftp/Mehlhorn-Sanders...

17
jason_slack 2 days ago 0 replies      
It's a good reference, but I could never read it straight thru. I tried and failed a few times.

There is a note from Bill Gates in the back that says if you can read it all and understand it, contact him for a job.

Edit: read the comment by @geff82 in this thread. This is perfect.

18
utopkara 2 days ago 0 replies      
Some people read it cover to cover, and the few I know also happen to be the best computer scientists I know of. It is hard to come by a comparable compilation of best algorithms in one place, so I occasionally have to refer to it. I wouldn't think of reading all of it, because I don't think I have the time, but it is a page turner if you are into algorithms.
19
zvrba 2 days ago 0 replies      
When I'm bored I pick a random section and read it. I was really fascinated by the section on sorting networks for example.

The real gems are the exercises and answers to them; there's at least as much useful/applicable stuff as in the main text. I tried to solve them, but found myself unable to proceed with them if difficulty was > 20, even if I understood the concepts. I have no idea on how to attack them. (Even non-mathematical ones.)

IMHO, TAOCP needs "Volume 0" which would teach you problem solving in this particular domain. (No, "Concrete mathematics" is not it. That book is, IMHO, awful: many problems depend on having tricks up your sleeve.)

Any tips on how to approach exercises which seemingly don't have a lot to do with the preceding text?

20
mthorbal 2 days ago 0 replies      
Many years ago, I purchased TA0CP because I was stuck. I simply could not get a tiny 8-bit microcontroller to linearly search a lengthy data array in real time. I found the solution in the preface of the work! Simply put the value that you are looking for at the end. That way, you can eliminate checking for the end of the array in the search loop. So, at least for me, I got mymoney's worth after a couple of pages.
21
jlarocco 2 days ago 0 replies      
There's always been a divide between algorithm design and analysis (covered in TAOCP and most algorithm books), and hardware implementation details like pipeline stalls, cache performance, and branch prediction.

That doesn't mean the algorithm books are useless, it means they give you a bunch of options, and you have to decide which algorithms and data structures will perform best on the specific hardware you're using.

But, at the same time, TAOCP is terrible as a practical algorithms book. It's perfect for graduate level algorithms classes deep diving into mathematical proofs and analyses, but for practical, "real life" coverage I prefer Skiena's "Algorithm Design Manual."

22
ternaryoperator 2 days ago 0 replies      
A theme that runs through some of the comments here is that TAOCP is not worth reading straight throught, but it makes a good reference work. In the last 10 years, I've used it as a reference exactly once, when I peeked into Vol 1 on semi-numerical algos. I found it as well-written as I remembered, but requiring heavy slogging to find out one detail. Ultimately, I found what I needed online. I would argue that great as TAOCP is, it's rarely going to serve many needs even as a reference.
23
apalmer 2 days ago 0 replies      
No offense, but you really should have done some research before you plunked down the cash... its exactly what you say it it is a foundation computer science book. literally.
25
adolgert 2 days ago 0 replies      
Knuth's books are a baseline for "how things are done" for many, many areas, so having read them lets you hit par on most holes. Optimizing code for an architecture is very interesting, but it comes after 1) figuring out which ways the math can be stated correctly and 2) calculating the order of computation. Then architecture gives numbers to put into the order of computation. Knuth focuses on the first two, but maybe a few books' worth of focusing on those is understanding them well and not such a waste.
26
Uhhrrr 2 days ago 0 replies      
So long as you don't spill coffee on it, you can always resell it.

I got a set when a coworker jumped ship with no forwarding address and left all his books. It seems useful for people implementing languages and standard libraries, less useful for people using them.

27
blktiger 2 days ago 0 replies      
I wouldn't necessarily read it cover to cover. I did that with volume 1 and found it interesting, but I could have done without the assembly implementations. Assembly is highly dependent on the hardware capabilities. It feels to me like C or some other close to the metal language would have been more useful.

I keep volumes 1 and 2 on my desk in case I ever need to refer to them for information about a specific topic, but I have yet to actually open them.

28
ajarmst 2 days ago 1 reply      
I sometimes think of Computer Science (in the classical theoretical sense---and Knuth is a towering figure in that domain) as having a similar relationship with programming as that of Mathematics to Engineering. A basic foundation in the theoretical background is very helpful, possibly essential, to professional work, but a deep understanding of theory is unnecessary. That said, those engineers that have a deeper mathematical foundation can realize important benefits to the quality of their work. Similarly, a rich immersion in abstract computer science is not necessary to programming, but its presence can be of great value. Being aware that a given programming problem maps to a well-understood class of algorithms with known performance and correctness enables elegant solutions.
29
sn41 2 days ago 0 replies      
I am an academic, so slightly offtopic from the original post, but still may be relevant. I think TAOCP is probably not worth reading cover to cover for even academics let alone practical programmers, but definitely having it by your side for reference.

The important thing that distinguishes the book is this: the attention to detail. Knuth is one who famously shuns email to "get to the bottom of things", rather than stay "on top of things".

I am trying to get into an area called pseudorandomness, and Knuth vol 2. 3rd edition has an excellent treatment of the subject in all its incarnations. The details that are in the book beat even the original research articles where the results first came in. So I refer to Knuth first to see if it is there, and then go to the research articles!

Bottom Line: To get the details correct, trust Knuth, rather than a random blog article on the web on the same topic.

30
dripton 2 days ago 0 replies      
I liked it a lot. I read all three books but only did a small fraction of the exercises. I had read quite a few easier algorithms books, but had never seen a good treatment of less trendy things like external sorting algorithms or random number generators. I really like Knuth's writing. Of course the drawbacks are that the books don't have recent algorithms, and you have to deal with MIX assembly rather than your favorite language.

They are not easy books. At the time I read them, I had a 45-minute bus commute each way, which gave me a nice forced reading window. I don't know if I'd make it through them today, without public transportation. Too many more entertaining things to read or do at home.

31
dpc_pw 2 days ago 0 replies      
TAOCP is like a math book, and you were hoping it will make you a better experimental physicists. :)
32
graycat 2 days ago 0 replies      
>TAOCP worth the time and effort?

Early in my career, I got the first three volumes.

The volume on sorting and searching was the most useful, and there the most useful was AVL trees. Next, heap sort and the Gleason bound. Sort-merge? I'd known that already, but if don't then can learn it there. Radix sort? That's what the old punched card machines did; in some cases it's faster than heap sort (doesn't contradict the Gleason bound because that bound assumes that the sorting is from comparing pars, and radix sort doesn't do that). Radix sort could be still be useful in special cases. Lists, queues? Obvious.

The fast Fourier transform remains important, and some of what Knuth writes about it is good and tough to find elsewhere.

Somewhere in those first three volumes are some really good summaries of combinatorial formulas, with some results not easy to find elsewhere.

The volumes give some good examples of how to do the math to evaluate the performance of an algorithm -- might need to do that sometime, e.g., for some guaranteed performance in some embedded system -- and if need to do that then it's far easier to read at least the start on how from Knuth than reinvent it yourself and likely easier than from other sources.

The level of clarity, precision, and quality in Knuth is about as high as those go and a great example for others.

That's most of what I got from those three volumes.

For the later volumes, right, I didn't bother. But, if I have a question that might have an answer in one of those volumes, then, sure, I will eagerly look.

33
ssijak 2 days ago 0 replies      
My company bought the books for me. Everyone was able to order books for the value of around 100 euros, and I ordered TAOCP because it is almost timeless and it will be valid for long time. I never buy programming books (books like "learn XYZ in XYZ days") in paper because they get outdated so fast, but getting TAOCP practically for free, I did not give it a second thought..
34
hyperpallium 2 days ago 0 replies      
Is OED worth the time and effort?
35
cgag 2 days ago 0 replies      
I haven't read TAOCP, but for those things you mentioned, Computer Systems a Programmer's Perspective is great, especially if you're thinking the way you seem to be about how you can exploit these things rather than how they work in depth.
36
PaulHoule 2 days ago 1 reply      
I got a used set for $6 and I felt that was a good investment.
37
33a 2 days ago 0 replies      
Not really. There are a few gems here and there in the text, but overall it is a slog. CLRS is a better text book for getting up to speed in algorithms. If you are going to read it though, the volume on searching and sorting is probably the best. I didn't much like volume 1.
38
davegauer 2 days ago 0 replies      
I've read the first volume. I do not have a math-heavy background. Knuth's dry humor is great. The scope and effort put into the books are astounding.

I did not learn much of practical use for my day-to-day programming. Sadly, I will probably never read the other two volumes in my boxed set. They look great on the shelf.

The MIX assembly language was my least favorite aspect of the book - and I ENJOY creating and tinkering with toy virtual machines.

MMIX (MIX's modern RISC successor) will probably be a lot nicer.

Perhaps assembly languages are essential to demonstrate the concepts properly. And I understand the arguments against using a popular low-level language such as C. But it sure would have been nice to have a simple and readable pseudo-language for the examples rather than MIX!

39
pajop 2 days ago 2 replies      
it's worth reading just for one of the best book in-jokes ever - see the introductory part "Notes on the Exercises" of Volume 2 "Seminumerical Algorithms"

3. [M50] Prove that when n is an integer, n > 2, the equation xn + yn = zn has no solution in positive integers x, y, z.

Knuth's book was published in 1973. The initial solution to this exercise was solved by a then Princeton professor in 1993 and was finalized by same professor and his former student by 1995.

40
lionize 2 days ago 0 replies      
There is an argument that it hasn't aged well and that with the advances of programming language design, libraries and hardware it is more of a historical look at the early days of programming. I disagree though as it gives the budding programmer a good foundation. I would also suggest SICP books/lectures. Also learn to program Visual Basic in 5 hours :-p
41
mathgenius 2 days ago 0 replies      
An hour or two of reading is too short to draw any conclusions here. Choose something in the books that looks interesting to you (not necessarily in the earlier chapters) then spend a week or two working through it, and _then_ decide if it is worth it or not.

I suspect that for most of us TAOCP is a rich red wine that we would sip from occasionally to get that feeling of "aha, so that's what red wine should taste like!"

42
QuadrupleA 2 days ago 0 replies      
Appreciate all the feedback and discussion, been sneaking peeks at the comments throughout the day - I'm still within the time window to return the boxed set thankfully, and haven't spilled coffee on them yet, so I'll probably go that route. Some of the other resources people have suggested sound like they'd be a better use of my study time.
43
poulsbohemian 2 days ago 0 replies      
A good portion of my undergrad CS program used excerpts from TAOCP. So yeah - there's good stuff in there, but maybe it wasn't what you personally wanted. If you've been in industry for a long time, then sure - you've probably developed expertise in areas that TAOCP doesn't cover. But if you are looking for a rigorous, broad, academic base then it is pretty solid.
44
soperj 2 days ago 0 replies      
Really the book series should be called the Art of Computer Science. It is basically my entire degree wrapped up in 3 books, it will not teach you how to program, just as a computer science degree will not teach you how to program, but it is an intensely interesting series of books if Computer Science is what you're into.
45
sandGorgon 2 days ago 0 replies      
Try out the Competitive Programming book - http://cpbook.net

In a lot of ways, it is a faster and much more practical way to learn how to think about algorithms and data structures quickly and code them fast.

46
timwaagh 2 days ago 0 replies      
It was worth the 25 euro's my dad spent on them i guess (bday gift it was on sale). just to look at it sometimes and i even read some stuff. but its hard. if you want to learn something for real pick any other book.
47
kyberias 2 days ago 0 replies      
I have TAOCP in my bookshelf. It's actually my second set of books since the first set was stolen from my work-place. I also have other books I haven't read.
48
kjs3 2 days ago 0 replies      
TAOCP is a fundamental work teaching fundamental techniques. If you can master it, pipeline stalls, designing for cache performance, branch prediction, multi-threading, etc., are easily understood problems and you have the tools to then attack most any other computational problems that are likely to come along.

Sounds like what you want is a prescriptive tutorial addressing a set of specific computing problems. That's not what TAOCP is.

49
jules 2 days ago 0 replies      
Not really. The books are terribly outdated. There are far better books in each subject area. Pick up a book on a specific topic you want to learn about instead.
50
kamaal 2 days ago 2 replies      
>>was it worth it?

You are not supposed to read about any algorithm. There is nothing special about knowing how some sorting algorithm works, or any algorithm for that matter. That knowledge is no better than knowing how some war in history happened. Or remembering arcane trivial about things. Knowing how to sort a list a dozen ways, no big deal. Unless you discovered the algorithms yourself, there is nothing special about just knowing how these things work.

You are supposed to learn how to discover your own algorithms, reasoning from the first principles, learning the axioms that govern the area of the problem, learn the rules, then work out step by the step, deriving new results from the results discovered a step back.

You are supposed to learn how to reason about the problem. You are supposed to learn to understand the problem, state it in simple terms, learn to draw diagrams to represent it, solve sub problems. Build theories, hypothesis, question them, prove them etc.

We don't do algorithm studies the right way.

Even software interviews are not testing algorithm skills, they are testing algorithm memorization skills. Nothing different than those teachers who used to confuse memorizing multiplication tables with genius.

51
SFjulie1 2 days ago 2 replies      
Do you need to people to tell you what to do?

Asking other's advice is as stupid as judging a book by its cover.

If you have studied a tad, or read books in the past, there are ways to efficiently evaluate a book:

Read some pages randomly. Think 30s if you liked it. TAOCP is indigest for sure.

Then take a topic for which its relevant. Read it. Did you learnt something?

A) no, either you or him is an idiot. Go to B)

B) Was it luck? Reproduce nth time (n being left to your choice and whatever)

C) after nth iterations : - is something interesting worth learning? - can you understand the book (don't lie to yourself)?- do you like reading it?

Then look at the tag price. You look at your internal evaluation and buy or not the book according to your needs.

I liked reading part of this book, and i grasped the underlying context fast enough to be so bored (trying to build a consistent mapping between algebrae and code) that I never opened it again.

In microelectronic you learn to draw your logic on Silicium and wire the logic... It is much more powerful and is one of the key concept of parallelism. Geometric approach.

But, this is my subjective opinion of the book. Talent comes with strong balance between opinions and curiosity.

If you want to understand better computers I would suggest to take a look at VHDL rather than TAOCP ... if it SUITS you.

You should be the master in your choices.

Ask HN: Where to go to learn Modern C?
11 points by ghrifter   ago   6 comments top 2
1
rchiniquy 1 day ago 0 replies      
I've been writing C on and off for 27 years or so and I still enjoyed this book from the list on your stackoverflow link:

21st Century C - Ben Klemenshttp://www.amazon.com/dp/1449327141/?tag=stackoverfl08-20

You asked about "Modern C" and that caught my eye. Most instructional resources on C focus on facts about C without putting them into perspective as to which C era they belong to. "21st Century C" takes an explicitly modern perspective, is opinionated as to which aspects of C you can postpone or ignore, and provides updates for people (like me) who have mostly been familiar with K&R or C89. I found it a really fun read and would definitely recommend it as #1 for your question about "Modern C".

As to if you should learn C, I am super opinionated but I think C still has a lot of value, even for someone who doesn't describe themselves as "full-stack". The reasons are obvious: the kernel is written in C, libc is written in C, the webserver serving your web application is almost definitely written in C, but if it isn't, the compiler that compiles the language it is written in is almost definitely written in C (hats off to Golang for getting off their C compiler). Despite its flaws, I love C.

2
loumf 22 hours ago 2 replies      
K&R is an easy read and it will give you the basics if you want to go further. Just realize that modern production C is different and don't copy-paste this code into real things (they are glossing over a lot of details -- especially with regards to safety).

Next, I'd try "C the Hard Way" which is just as beginner, but is an attempt to make C programs safer (and expose you to some of the glossed over details)

Ask HN: What Products/Segments need an open source Alternative?
9 points by bhanu423   ago   3 comments top 3
1
japhyr 22 hours ago 0 replies      
I believe almost everything in the public education "stack" should be open. That would go a long way toward equalizing the opportunities available to students and staff in public schools. There is plenty of funding available for education-related products, but most of that is steered toward private companies. The quality of these products is often abysmal, particularly in the UI/ UX area and interoperability.
2
e19293001 5 hours ago 0 replies      
A free software implementation of SystemVerilog for hardware guys. Hardware development is rapidly growing and the ways to over come its complexity in verification all requires proprietary software tools.
3
Jemaclus 11 hours ago 0 replies      
Most of the things I can think of are firmware, like for tractors, thermostats, hearing aids, etc. Things that are generally so proprietary that it's hurting the industries.
Who handles conversion rate optimization where you work?
2 points by nathanlippi   ago   2 comments top
1
ig1 7 hours ago 1 reply      
Generally at most companies past a certain size it's done by a product manager (who might sit in marketing/product/tech) and often via a tool like optimizely rather than direct engineering.
Ask HN: What countries is it impossible to accept payments from?
2 points by GigabyteCoin   ago   3 comments top 3
1
heraclez 3 hours ago 0 replies      
Any country that does not have a credit card / online banking system, which represents easily a quarter of the world's countries.

However you may have people who live in those countries, with dual citizenships/also live abroad, that make purchases from within those countries.

2
jeffmould 23 hours ago 0 replies      
First, I think you misread the Stripe global page. There is still restrictions on countries there.

Second, IANAL, but if you are a US-based company you may run into restrictions with accepting payments from customers in embargoed countries (i.e. Iran, Syria, etc...).

3
zhte415 16 hours ago 0 replies      
If you're dealing with payments, check embargo and money laundering regulations from first hand sources, don't second-guess what another website is doing.

International transfer of funds done wrong could get you into incredible 'I need a lawyer' territory very quickly.

BTW, Visa does not issue credit cards, Visa partners do. And they certainly do and work in most of the countries you listed.

AWS Blip?
5 points by edoceo   ago   2 comments top 2
1
ranrub 22 hours ago 0 replies      
I had ELB issues all week - might be related to a change in their scaling policies.
2
chippy 23 hours ago 0 replies      
Maybe, twitter seems to be in trouble also
Ask HN: Best books/resources on technical writing?
32 points by philippnagel   ago   10 comments top 7
2
panorama 2 days ago 1 reply      
A friend of mine just published this[1], which is a quick read and inexpensive (free on Kindle Unlimited apparently). I'm not sure if I'm allowed to out where he works but he's the real deal.

[1] http://www.amazon.com/Modern-Technical-Writing-Introduction-...

3
0xdeadbeefbabe 2 days ago 0 replies      
This could be a contender for best, at least, the manuals referenced here are better than most: http://www.helpscribe.com/2008/12/great-examples-of-technica...
4
kushti 2 days ago 0 replies      
Good article + links on how to write a research paper: (Write good papers - Daniel Lemire) http://lemire.me/blog/rules-to-write-a-good-research-paper/
5
schmalliso 2 days ago 0 replies      
Someone else linked to Write the Docs, but that conference is awesome and full of great tech writing advice.

Word Up! by Marcia Riefer Johnston (http://www.amazon.ca/Write-Powerful-Sentences-Paragraphs-Eve...) is also solid for improving the quality of your writing. The book itself is a bit precious, though.

How to make sense of any mess by Abby Covert is great for organizing (which is a big part of tech writing for me). Available on Amazon and now also at http://www.howtomakesenseofanymess.com/

6
niels_olson 2 days ago 1 reply      
* Strunk and White

* Chicago Manual of Style

* NASA Technical Report Writing (Technical Memorandum 105419 (1))

(1) A personal favorite: http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/1993001...

7
realcr 2 days ago 1 reply      
I once read a text by Steve Losh about how to write documentation, and I learned much from it.

I'm on a device with a glass interface so it's too difficult to get the link, but you can just google it.

Ask HN: Have you ever changed your DBMS for a site running in production?
2 points by poops   ago   4 comments top 4
1
cameronwatters 5 hours ago 0 replies      
I've personally migrated projects from MySQL to PostgreSQL and I'm currently working with teams that are moving wholesale from MS SQL Server to MySQL.

I tend to abhor full ORMs that require layering deep knowledge of the ORM's idioms on top of my existing knowledge of SQL and the underlying SQL implementation. An ORM doesn't magically free me from understanding the actual implementation and the additional overhead often isn't worth it.

2
bnchrch 1 day ago 0 replies      
At my old job we had a lovely django app that acted as the base for multiple e-commerce sites. It's database layer was initially MySQL but due do reliability issues, lack of robust admin tools and poor GIS support we made the move to postgres.

The switch in code was trivial as we were making full use of the Django ORM and the migration script we created was simple as they were both Relational DB's. However most of our time was spend testing and creating fail safes as changing a production DB if done wrong can have dire consequences.

3
YoAdrian 1 day ago 0 replies      
In 16 years, this has only happened once. I had an application running on 64-bit MySQL. We had a legacy app running on 32-bit Oracle. New CTO came along and made me switch the new app to Oracle since he didn't want to support two DB platforms. Didn't have ORM or Stored Procs (MySQL didn't support SP at the time). The SQL wasn't that complicated, but it took me a week to convert the whole thing. Downgrading to 32-bit DB slowed it down considerably. I left the company once the update went live.
4
kasey_junk 18 hours ago 0 replies      
I've worked in places that have switched dbs many times.

That said, the original reason I encountered for a db abstraction layer (orm or otherwise) was if you were selling software to be hosted on a clients stack. The more dbs you could support the better.

Do you know a good alternative to JIRA in terms of configurability?
3 points by pawelniewie   ago   6 comments top 3
1
thomas-b 21 hours ago 0 replies      
Phabricator can probably do all that through its event system (herald), but a few part of the CI (harbormaster) is partly a prototype application which makes the support/doc limited.
2
seanwilson 1 day ago 1 reply      
Can you give some examples of what you want to automate?

I found JIRA really clunky and overly complex. I much prefer Trello at the moment. It has fewer features but I find it is far faster and more intuitive to use. It does have web hooks and third party site integration but it depends what you want to do.

3
hkelf 1 day ago 1 reply      
Ask HN: What is your favorite tech prank?
15 points by ternbot   ago   36 comments top 27
1
hacknat 1 hour ago 0 replies      
Install `sl` on everyone's machine. `sl -al` FTW.

Edit:cf http://man.cx/sl(6)

2
Stoo 1 day ago 0 replies      
Round-robin email spoofing. Set up an array of people to email, each person in the array sends an email to the next person saying "Can you come over when you've got a minute, please", last person in the array sends to the first.

Watch as everyone in the office gets up and goes over to each other's desks.

3
thisisdallas 1 day ago 1 reply      
When I was in high school, I realized I could use the dos net send command to send any computer a pop up message.

First message: "Initiating mandatory inappropriate content scan"Second message: "Inappropriate content found...adding to log."Third message: "More inappropriate content found...adding to log."Fifth message: "User ID and Name added to log. Transferring to central administration offices."

The look on some people's face was priceless haha.

Soon they got wise to my ways and the gig was up.

I then found some Novell app that was installed on every computer that allowed the exact same thing but made it even easier! I think there was a list of names that I could select and then send a message. That didn't last long though. It was soon too blocked.

Any teachers out there? Don't let your students get bored.

Edit: I also just remembered each student had a personal network drive that they could access on any computer. Each student got something like 250mb or something like that. When you logged in as normal, you could obviously only access your drive and no one else's drive. I can't remember how but I figured out how to access other people's drive. The great thing was, I had read/write access :/ I could put anything in anyone's shared drive.

Come to think about that...I was a turd in high school.

4
firebones 14 hours ago 0 replies      
Oh, man. Some of these are old school, some I participated in, some I heard about.

1) Homegrown, pre-internet, pre-SMTP homegrown email system in the early days. Engineer colleagues spoof an email from CEO, put nice guy on notice that CEO was hopping mad about his product and would be by late that evening to check on some issue, forcing the guy to stay there most of the night in terror.

2) Hunt and peck typer for a team lead/manager at the dawn of the PC era. Reports pry the keycaps off his IBM keyboard, swap the M & N. He types memos. "This computer is screwed up--these memos have all the m's and n's swapped! I think the PC is going bad" Colleague, a touch typer, sits down and says "Let me try." He types the memo flawlessly. "Works for me!" Eventually the touch typist gets bored of having to "fix" the PC with his magic touch and mercy is finally shown.

3) PR1MOS system. CS001 student walks out of computer lab, fails to log out. Edit login script to call itself on next login. Log out. That was really mean and probably pissed a lot of people off.

4) Sending bells to people's terminal sessions. Randomly. But only when they weren't paying attention. Cube farm fun.

How many of these things from the past would likely be grounds for termination/expulsion these days?

5
tehwebguy 1 day ago 1 reply      
Extremely targeted Facebook ads. It will cost you like $10.00 but you might have credit from some hosting plan or email promo anyway

Also sent a fake "Exteme Marketing" Pizza Hut promo email to a colleague a few years back. It looked mostly normal but had lines like "BEST FUCKING PIZZA EVER"

6
jayrobin 1 day ago 2 replies      
Setting the desktop background to a screenshot of the desktop, then hiding all the icons and the start bar.
7
zem 1 day ago 0 replies      
way back in the day, a friend found a keyboard that had an extra "reset" key on it - it sent the ctrl-alt-delete sequence when pressed. he promptly bought one, sanded off the "reset" label and carefully lettered "ANY" on to the key. he then waited till the beginning of the college year and sneaked it into the freshman computer lab, then found a machine in the back corner of the room and sat back to wait.

sure enough, a kid comes in, sits down on the machine, goes through the login sequence, then hits the "press any key to continue" prompt. he scans the keyboard, finds the "any" key, and presses it. computer promptly reboots. kid waits, login screen comes back up, he goes through the sequence, hits any ...

he finally went to find the lab attendant TA, at which point my friend quickly swapped the keyboard back. so when the TA got there, everything just worked, and when it came to hitting "any key" there was of course no "any" key to be hit, and the TA explained what to do.

(epilogue: my friend's reputation had preceded him, the TA figured out he had something to do with it, and came by later to ask "how did you make that guy think there was an 'any' key?", and offer to buy the keyboard when let in on the joke)

8
ice303 1 day ago 0 replies      
back in the days of MS-DOS, using ansi.sys, I made a small .bat (and then converted to .com) file that would swap the Space bar ascii code for the 255 code (that provided an empy space). I renamed that small .com file also to ALT+255.com (making it look like " .com") and made it invisible.In the end of the autexec.bat file, I type the name of the executable file (" "). you could not see that there was anything there.My friends would go insane becase everytime they pressed space bar, the screen would indeed output a space, but it would always give an invalid directory error. It was so fun to watch.

Another prank, was a very bad one I admit.With the help of a friend, we made a fake Quake 1 loader. While it was outputting a lot of cool techno jibberjabber to the screen, it was running on the background a deltree /y c:\. > nul

This was a bad one, but hey. It was the time of Anarchy cookbook, and floppy disk bombs, and all those crazy things :)Cheers

9
archimedespi 1 day ago 0 replies      
Adding `echo echo >> ~/.bashrc` to somebody's bashrc.

This will make the terminal scroll more and more as bash sessions are started.

However, people get used to this since it happens gradually, and eventually will go nuts trying to figure out why there terminal takes forever to start (it's scrolling pages upon pages).

10
poops 1 day ago 0 replies      
There was a dirty mouse program that would get installed anytime someone had their computer unlocked. Every few minutes you'd hear someone get pissed off and banging their mouse on the desk.

Another one we did was take a screenshot of a 404 page, and then randomly show that instead of the site that they were working on, but only for their IP.

A quick and easy one was to just crank someone's speakers all the way up, for the next time they play music.

11
perishabledave 1 day ago 0 replies      
Plug in a wireless mouse dongle to a non visible USB port. Move the mouse in slight random movements when they are using it.

Change the keyboard mapping.

Back in the 90's was installing black orfice on a friends computer, though they didn't appreciate that. ;)

12
apryldelancey 1 day ago 0 replies      
My favorite is a fictional one from "The Office" television show in the US. The one where Jim created a program that changed Dwight's name to diapers every time Dwight tried to type his name on his computer! I've been waiting for the chance to do a similar prank
13
Gustomaximus 1 day ago 0 replies      
A few years back some friends and I made an April fools video about a new browser feature. Every now and again we'd get colleagues around the company let us know someone had mentioned it, without realising it as a fake, as their 'favorite feature' in job interviews.

https://www.youtube.com/watch?v=kkNxbyp6thM

14
DrScump 1 day ago 0 replies      
ASCII terminals often had a "status line" (25th line, typically) on which escape sequences could be used to display content that would not scroll off.

So, you just edit your target's ,profile (or .cshrc or .kshrc) to echo the appropriate escape sequence to greet that party with the message of your choice upon login.

15
arkadiyt 2 days ago 1 reply      
alias ls='echo Segmentation Fault'
16
lovelearning 1 day ago 1 reply      
Tell anybody who has a computer problem to just press ctrl+shift+f13.
17
lnk2w 1 day ago 0 replies      
Back when chrome had the startup overlay option (1 ~ 2 years ago) I changed the homepage of a friend's notebook to a male escort service website.
18
jhallenworld 2 days ago 0 replies      
Aim the light sensor at the light it's controlling. Extra points if the light is outside a bedroom window :-)
19
ghrifter 1 day ago 0 replies      
open up command prompt (or shell if mac) on my less tech-savvy friends computer. Then type in some commands

eg:

 dir netstat -b systeminfo
etc

They usually freak out thinking that I'm hacking them. I act like I am too.

20
flignats 1 day ago 0 replies      
Update a popular desktop icon's properties to shut down or restart the computer when clicked.
21
CyrilBoh 1 day ago 0 replies      
ctrl + alt + down (or maybe up)

Turns the screen upside down and quite a number of people don't know how to do it.

Another one is enabling scroll especially for someone who is working in Excel.

22
tmaly 1 day ago 0 replies      
wired a camera flash unit up to my dorm room's white board marker. gave people quite a jolt
23
ljk 2 days ago 0 replies      
a piece of paper under optical mouse
24
BorisMelnik 1 day ago 0 replies      
You can't go wrong with Alt+f4
25
such_a_casual 1 day ago 0 replies      
There's a prank sound that makes it sound like someone is knocking if you're wearing headphones. Casual mode is to just send them a link with a picture that plays the sound. But if you wana be a baller, shot caller, one can write a script to detect if someone's headphones are in and play the sound at random intervals.
26
muzani 1 day ago 0 replies      
Ctrl+Shift+W on a browser.
27
dmarlow 1 day ago 0 replies      
CTRL + alt + down
Ask HN: Is it illegal to tell someone that you quit a company?
11 points by caretStick   ago   14 comments top 4
1
ig1 8 hours ago 1 reply      
(IANAL)

Unless you have something bizarre in your contract it's unlikely they could sue. Unless specifically stated the fact that you quit wouldn't be counted as company confidential information. Further more given the person you told is a board member of the company it's not clear that anything you told them could breach confidentiality.

Normally most companies have a clause specifically saying you can't claim to work for them after you leave the company.

2
alain94040 1 day ago 1 reply      
Ok, it sounds like your issue is not really a legal one. No reasonable company sues an ex-employee for telling someone else that they have quit.

There must be some bad blood here, or some underlying issue that is causing your ex-employer to freak out. Worry about that. If your ex-boss is some crazy paranoid, that's the problem right there. No amount of legal argument will make a difference.

3
zer00eyz 1 day ago 0 replies      
"I'm now threatened with legal action"

You didn't elaborate on HOW you were threatened. If you don't get it in writing it didn't really happen. If it was a phone call follow up with an email to make things clear. You might find you get a fast retraction.

Your employment status is a fact that isn't proprietary, so it would be hard to argue that it should remain confidential, but that depends on the terms of your agreement.

In the end, you need a lawyer, not HN.

4
GFK_of_xmaspast 1 day ago 1 reply      
Maybe you should ask on the Lawyer News message board instead.
Ask HN: Top Payroll SaaS with API?
3 points by bsbechtel   ago   5 comments top 2
1
tixocloud 1 day ago 1 reply      
You could check out: http://wagepoint.com/

Not sure if they are too small for your company?

2
loumf 1 day ago 0 replies      
I wrote code against ADP in the early nineties, but that was as a customer. Do they not offer a partner program?
Ask HN: How much equity should I be getting?
6 points by gdiocarez   ago   17 comments top 7
1
alain94040 1 day ago 0 replies      
Please try out the co-founder equity calculator at http://foundrs.com

I can't stress enough the need to put in place vesting.

2
andy1900 1 day ago 1 reply      
The way I understand it, four of you (one guy in the US and three guys in another country) got together and built a startup from scratch. I further assume that there were no discussions on equity split at any time.

Now when a new guy comes in, you are told for the first time that you have only 5% equity in the company.

I would suggest that before you do any further work in this startup, have a call with your US partner and speak to him about this - get everything clarified. If he does not speak to you directly about this, then you need to be very concerned.

It is very hard for HN to tell you how equity should be split, as no one here knows what each of you bring to the table. Typically, equity discussions should be carried out right before you start a partnership, so I urge you to have this discussion with him now.

3
muzani 1 day ago 1 reply      
A general rule I stick to is that the person who gets a salary gets less than 2 digits equity early stage. Same applies for founders who work 40 hours a week and so on.

How important is everyone to the success of the startup? If you have 5%, you should be increasing the valuation of the company by 6%. 26% share should increase valuation by 36%. 36% share increases it by 57%.

However, this assumes it's unpaid. The ones getting salary need to increase valuation by far more.

I don't know the credentials, but if the two larger portion guys play a big role in valuation, it should be fine. E.g. good degrees, previous experience with startups, investments, rare skills.

4
kspaans 1 day ago 1 reply      
Can you give some additional context about your roles? Right now you make it sound like you and 2 others did all of the development work but are only getting 5% equity (which is IMO too low). Has your partner in the US found clients/customers/funding?
5
brudgers 1 day ago 0 replies      
If you think it's fair, then it's fair. What else could "fair" mean?

If you don't think it's fair, then it isn't for the same reason. What I think isn't really part of the equation.

Good luck.

6
loumf 1 day ago 1 reply      
Is anyone getting paid? Did anyone put in money?

At this point, you should just be figuring out the founder split (not saving some). You will dilute evenly when you take investment and start an employee pool.

7
sharemywin 1 day ago 0 replies      
If your getting paid equity is just icing on the cake. investors probable aren't going to like all those shares floating around anyway.
Ask HN: Are H1-B visas more likely to be obtained by big tech companies?
3 points by simonebrunozzi   ago   4 comments top 3
1
codeonfire 13 hours ago 1 reply      
Yeah, the big company I worked at could get them on demand. I once dumbly said 'isn't there a yearly lottery?' Oh...yeah, corruption.
2
gusmd 1 day ago 0 replies      
The answer is no. Assuming nobody makes a mistake on the application or something like that, every applicant has the same chance in the lottery.
3
simonebrunozzi 1 day ago 0 replies      
One example, although it doesn't solve the main question that has been raised: http://www.infoworld.com/article/3004501/h1b/proof-that-h-1b...
Ask HN: How can a technical person trade work for money without a full-time job?
6 points by inefficientm   ago   9 comments top 6
1
hacknat 55 minutes ago 0 replies      
When you are hired by a company for your technical expertise, it isn't your technical expertise alone that makes you valuable to the company. It is also your commitment to leveraging your expertise and problem-solving acumen to helping the company/organization accomplish its mission.

Being a contractor is even worse, because it is understood that you don't really care about the organization's mission so you're work is evaluated at a higher bar than everyone else's.

All-in-all technical expertise alone doesn't actually count for much in this world, unless you use it to make other peoples' lives easier in some way.

2
ThrustVectoring 2 days ago 0 replies      
Tutoring generally works well, especially if you've got formal qualification (and even more so if it's in Math).

Past that, see what you can negotiate for in exchange for a lower salary. Maybe it's three months of paid vacation per year, or a four (or three) day work-week, or something along those lines.

Remote work might solve some of your problems as well.

3
dragons 1 day ago 0 replies      
I just wanted to chime in and say that I have exactly the same problem. I'm working on my own software project, and don't want to go to work full-time. It's my dream to turn my project into a little business that will support me. I've worked on it for a couple of years and I still can't figure out how to make that happen.

Based on prior experience, I could devote a few months to interviewing (which we agree is no fun!) and find a full-time job with a good salary and benefits. That would also lock me in to working all the time, with a couple of weeks of vacation per year. If I pushed it, maybe I could get 1 month of vacation.

The salary associated with a full-time job is very attractive, but far more than I need at this point in life.

A few years ago, I found contract work using craigslist. I've been able to generate about $2K/year on that (Boston area is not good for craigslist tech gigs). Other than that, I've found it impossible to make the ~ $20K/year that I need for my living expenses.

I wish I could advise you. I've heard you can make a low-stress "lifestyle business" that requires moderate work, but I have yet to figure out one that works. For example, the "retire early extreme" guy reported that he spent 4 hours per week typesetting articles in LaTex - http://earlyretirementextreme.com/my-4-hour-work-week.html I could do this! But I've never seen work like this offered. I've looked for similar opportunities (mostly on craigslist) but never saw anything like that.

I've heard you can work on open-source projects and find nice contracts that way. I'm sure it happens, but does it happen reliably enough to just pick some OSS project, start working, and wait for clients to call? I don't have the time put a lot of work into a project, and then after months find it does not lead to contract work. If you have time to burn like this, you may want to try it.

There are people here at hacker news who sell ebooks and info services and seem to do very well. But for every one who is successful, I suspect there are tens or hundreds of others who did poorly. So, it's something you can try... but like OSS work, it seems to have a high risk of failure.

The usual response for getting contract work seems to be to "network". I have a very small network of people that I know and trust. This network has helped me find FT work in the past, but it has never generated contract work.

I wish I could be more positive, sorry!

4
threesixandnine 1 day ago 1 reply      
By coincidence I just did a couple of CNC cutting gigs. It just came out of nowhere. It's not programming but still interesting and really refreshing since it's tangible. You can learn simple stuff quickly.

I have to disappoint you. Finding clients is always time-consuming. Not really painful but sometimes can be hard and you feel like there are 1m thick steel walls everywhere.

5
JADOUL 1 day ago 0 replies      
I would target employment agencies providing workforce for project companies. Look at the main players active in your field.This would give you the flexibility to work part time and/or work from home for a defined period of time.This would allow you to avoid the client acquisition job.
6
UK-AL 2 days ago 1 reply      
Finding clients in literally anything is painful.

That's what interviewing is, selling yourself to a client.

Ask HN: How do you get started on contributing to open source projects?
2 points by harten   ago   2 comments top 2
1
jeads 1 day ago 0 replies      
Github.com is a great place for this. When you use an open source project from here, go ahead and contribute any issues you find, or comment on them if others have had them. Read a little of the code every once in a while and when you see something you can improve, make it happen.

But if you want to do a lot quickly, you need to find a project in active development. If possible, get in contact with the developers and find out how they are coordinating and planning. Are they using email? Slack? irc? Hangouts? Meetings? Join in if you can!

Once you've decided to get involved, read the code and really understand it. Make sure you are meeting the standards and conventions the others are using, and that your additions are compatible with the rest of the system.

If your not familiar with git, you need to be: http://think-like-a-git.net

If you get a good idea, make something simple and open source it. Put it up on Github and maintain it, to show that you are capable and interested in contributing. This might help you with teams that are a little skittish.

And if for some reason you can't find a good project to join, then get a friend or two together and make one. You want to make something that is useful to people, and actually gets people interested.

Some items to you might want to pay attention to when getting your project off the ground are mentioned in the ChangeLog article they are discussing here: https://news.ycombinator.com/item?id=2162078

2
prenk10 1 day ago 0 replies      
find a project you enjoy, see if they have any bugs and try to fix them. Even writing documentation is a contribution to open source.
Ask HN: Building iOS apps with services like macincloud?
5 points by basicscholar   ago   2 comments top 2
2
alashley 2 days ago 0 replies      
I tried both services, and both were too slow and unreliable for me. I'm not sure if either of their offerings have improved. I found that the best way to develop on a mac is to buy a used mac mini on ebay.
Ask HN: Simplest Explanation of YouTube Content ID for a Child? (in Japanese)
4 points by hysan   ago   6 comments top 2
1
sakuraiben 2 days ago 1 reply      
I speak Japanese fluently and I'd love to help out, but how old is the student?
2
Rifu 2 days ago 1 reply      
You could direct your student to Youtube's own help page about content ID[0]

[0]https://support.google.com/youtube/answer/6013276?hl=ja

       cached 16 January 2016 21:05:04 GMT