News for hackers. Stuff that matters.
Re:Redis for win32 and the Microsoft patch by skrebbel on Friday December 09, 2011 @07:39AM (#3333504)
Antirez makes the point that linux has won the SW deployment war. And, really, it hasn't, with the possible exception of web startups. A lot of software isn't standard SaaS web stuff, and a lot of software won't for a long time, for all kinds of practical reasons.

Antirez, if you could try and imagine how Redis could be used in different environments (inside devices, as a component in 'end-user' business software, and so on), you might see why 'deployment' and 'servers' and 'the cloud' is not at all the only area where Redis might shine. It's your project so your choice, but don't neglect industries and areas simply because those involved in it aren't so represented among your twitter followers!

Re:Redis for win32 and the Microsoft patch by joelthelion on Friday December 09, 2011 @08:05AM (#3333543)
>Antirez, if you could try and imagine how Redis could be used in different environments (inside devices, as a component in 'end-user' business software, and so on), you might see why 'deployment' and 'servers' and 'the cloud' is not at all the only area where Redis might shine. It's your project so your choice, but don't neglect industries and areas simply because those involved in it aren't so represented among your twitter followers!

This is how you go from a great, focused project to a buggy and bloated one-size-fits-all project that gets gradually abandoned and replaced by a new fad.

Re:Redis for win32 and the Microsoft patch by regularfry on Friday December 09, 2011 @09:09AM (#3333715)
What, like SQLite?
Re:Redis for win32 and the Microsoft patch by regularfry on Friday December 09, 2011 @09:17AM (#3333736)
It would be interesting to know why that comment merited a downvote.
Re:Redis for win32 and the Microsoft patch by beagle3 on Friday December 09, 2011 @10:05AM (#3333906)
It's been my experience recently that there are a lot more downvotes, some of them seemingly random; I hope we haven't enter redditesque territory, where people downvote everything except their own post, giving themselves an effective initial +2 score. For the record, I've +1 your original comment, even though I disagree with it:

SQLite is awesome, really really awesome. It is also not a good example -- part of the reason Redis works so well is that it capitalizes on Unix process management (in a way that was apparently intended when Unix process management was evolved, but has for some reason been unpopular and long forgotten). SQLite was never in that position.

Re:Redis for win32 and the Microsoft patch by koenigdavidmj on Friday December 09, 2011 @11:32AM (#3334312)
>where people downvote everything except their own post, giving themselves an effective initial +2 score

Maybe do something similar in spirit to Slashdot's old policy that you can not moderate and comment in the same thread. Perhaps here that policy would ban you from downvoting posts in a thread if you commented in that thread?

[deleted]
Re:Redis for win32 and the Microsoft patch by stingraycharles on Friday December 09, 2011 @10:28AM (#3333999)
For what it's worth, I understood the comment the way it was intended in the first place. SQLite is an example of a high-quality codebase, and is available on multiple platforms. He could just as well have said "what, like SQLite, postgresql, and numerous other projects?".

The keyword here is "What", which you conveniently left out of the quote. It demonstrates the author's confusion.

Having said that, (written) language is a very error prone method of communication, even more so on an internet forum .

Re:Redis for win32 and the Microsoft patch by beagle3 on Friday December 09, 2011 @10:28AM (#3334001)
There's this thing called "Sarcasm".

Unfortunately, the grandparent forgot that Sarcasm Does Not Work On The Net (old timers would recognize the SDNWOTN acronym. It really should be known better).

Back in '94, most sarcastic posts would get this reply as a first reply, which also served as a hint to other readers whose sarcasm detector failed to be triggered.

Re:Redis for win32 and the Microsoft patch by typicalrunt on Friday December 09, 2011 @11:40AM (#3334349)
Yes, the Interwebs make it difficult to spot sarcasm, but another thing people need to realize is that some cultures don't have sarcasm to the same extent as in Western countries (UK, US, Canada).
Re:Redis for win32 and the Microsoft patch by regularfry on Friday December 09, 2011 @11:02AM (#3334164)
I had presumed it was blindingly obvious from SQLite's reputation that my sarcasm wouldn't need signposting. Evidently I was wrong.
Re:Redis for win32 and the Microsoft patch by lreeves on Friday December 09, 2011 @09:32AM (#3333778)
Probably because it's just snark without providing any evidence that SQLite has become buggy and bloated. You added nothing to the discussion.
Re:Redis for win32 and the Microsoft patch by regularfry on Friday December 09, 2011 @09:51AM (#3333860)
I was making the reverse point: SQLite provides an excellent experience on Linux, OS X and Windows, and has consistently done so for as long as I can remember. It is, as far as I'm concerned, the perfect counterexample to joelthelion's argument.
Re:Redis for win32 and the Microsoft patch by lreeves on Friday December 09, 2011 @09:52AM (#3333865)
Oh okay, maybe the downvote was because you didn't make that clear :-)
Re:Redis for win32 and the Microsoft patch by drzaiusapelord on Friday December 09, 2011 @10:05AM (#3333909)
Err, the point is that you can have Win32 ports without becoming "bloated and buggy."

I run Apache on Win32 all the time. Is that bloated and buggy? As well as php (well, no worse than on linux) and mysql. Postgres runs on windows as well. Then of course we have crossplatform darlings like Firefox, Libreoffice, etc.

Re:Redis for win32 and the Microsoft patch by beagle3 on Friday December 09, 2011 @09:01AM (#3333684)
Could you help me imagine how Redis can be used inside devices, or as a component in 'end-user' business business software? (unless it employs a "server").

Redis does one small thing and does it amazingly well -- an in-memory database with persistence and some very useful operations (such as FIFO lists) that do not need roundtrips.

That does not make sense inside a device unless you have ridiculous amounts of RAM to spare (which has never been the case in my experience).

Similarly, it makes very little sense in an "end-user" business software, unless there are _multiple_ processes needing access to the same in-memory data. And that (to me) means a "server" is going to appear sooner or later.

Really, unless you run it on a "server", then sqlite with properly set cache parameters is almost surely a better choice, and works on Win32 since 2002 or so.

Where it makes sense to deploy Redis, looks to me like antirez is right and Unix has won. And even though Redis likely works on iOS and Android out of the box, it makes no sense to do so, at least not at this point.

Re:Redis for win32 and the Microsoft patch by skrebbel on Friday December 09, 2011 @11:44AM (#3334371)
> Could you help me imagine how Redis can be used inside devices, or as a component in 'end-user' business business software? (unless it employs a "server").

Not all devices are phone-like end-user devices.

I can imagine a machine that produces something. It is full of sensors and actuators, plus logic that uses sensor input to compute what the actuators most be doing. Typically one would store some recent sensor + actuator decision data in RAM to calculate averages, do all kinds of computations, etc.

Storing the same data in Redis instead gives you all that, but persistence for free. That's great, because it means developers / maintenance people / support people can always get a decent dump of what recently happened, without much overhead or extra work. The memory is the log. Elegant!

Computer systems that control factory processes, such as SCADA and MES systems, often have to deal with large amounts of data coming in from many different machines. Most vendors therefore wrote what they call a "real-time database", even though it is not really real-time, just fast. Redis would be a great substitute for such a database.

A high-performance multifunctional office printer has a large memory of jobs sent to it by many different people; print jobs, scan jobs, and so on. These often incorporate fair amounts of data, but the data processing speed requirements are very high because the printer is so ridiculously fast. I imagine that right now the entire job data structure is effectively held in memory and hand-persisted just in case the printer fails; people wouldn't want to lose their print jobs, would they? Persisting data that must be held in RAM for performance reasons. Hmm, where have I heard that before?

I'm not saying Redis is the ideal choice for these particular cases. I'm just quickly braindumping some examples.

I must admit I can't come up with a great end-user business SW example right now though. Maybe I was off the mark there.

That said, as more business applications are moving to the web too, Redis would be very much applicable there. Many organisations (think offices, services sector) have their entire custom-built internal IT systems based on Windows. Much of this is probably a relic of the vendor lock-in practices that MS was very effective with a decade ago, but they're still there and as MS keeps supplying excellent dev tooling, it's unlikely to go away any time soon. Imagine a team of 10 sysadmins for a 3000 person company all highly skilled in administering Windows systems. Moving such people to Linux "just" to administer a Redis installation is impractical, and the company will rather disregard Redis for other options.

Re:Redis for win32 and the Microsoft patch by beagle3 on Friday December 09, 2011 @12:27PM (#3334563)
All these cases you describe are stand alone systems and could equally well be running Linux, or running it in a virtual machine.

I should have asked "inside devices running windows , or as a component in 'end-user' business software running windows " I thought that was implied given the context.

Specifically about printers - they're not that fast that sqlite or postgres can't deal with them. Really. redis is for the 50MB/sec pushing-things-around speed. Fastest printers are at the 10MB/sec, which MSSQL, PosgreSQL and SQLite handle perfectly well. Also, redis is about lots (hundreds of millions) of small items. printers are about few (thousands) of large items.

> Computer systems that control factory processes, such as SCADA and MES systems, often have to deal with large amounts of data coming in from many different machines. Most vendors therefore wrote what they call a "real-time database", even though it is not really real-time, just fast. Redis would be a great substitute for such a database.

They should pay for a "real" in memory databsae if they can pay for windows. TimesTen, Sybase IQ, Kx. Yes virginia, there are consequences to using the proprietary eco-system.

> Imagine a team of 10 sysadmins for a 3000 person company all highly skilled in administering Windows systems. Moving such people to Linux "just" to administer a Redis installation is impractical, and the company will rather disregard Redis for other options.

You're spending $1M/year in sysadmin salary alone here - probably $1M/year more on hardware and other licenses. Shell out $50K for TimesTen and be done with it. Or pay someone (possibly even antirez) who'll produce a windows port. If it's not worth $50K to this company, it's not worth even a single minute of antirez' time.

Re:Redis for win32 and the Microsoft patch by skrebbel on Friday December 09, 2011 @01:08PM (#3334764)
all these devices could run Linux, yes. All webapps could run on Windows, too. But as POSIX won the webapp server war, Windows won the expensive machine war.

also, you seem to very much want me to demand that antirez codes a windows port, for free, pronto. i never asked for anything like that. i was, and still am, only referring to antirez's conclusion that POSIX is the 99.99% platform for all places where Redis could the best fitting option. I was hoping for him to slightly adjust that conclusion. What he does with it afterwards is entirely up to him.

Re:Redis for win32 and the Microsoft patch by beagle3 on Friday December 09, 2011 @02:14PM (#3335089)
> Also, you seem to very much want me to demand that antirez codes a windows port, for free, pronto.

I apologize for implying that if I did. That was not my intention.

Re:Redis for win32 and the Microsoft patch by skrebbel on Friday December 09, 2011 @07:06PM (#3336290)
Oh! I appreciate the apology. Very much, in fact. Also, if you felt I was rude back to you at some point, please know that I did not intend for that either.

(offtopic) Really, it's this stuff that keeps me on HN. The ability to shake hands and move on is quite seldom on internet forums.

Re:Redis for win32 and the Microsoft patch by skrebbel on Friday December 09, 2011 @12:56PM (#3334695)
wth did i deserve those downvotes for?
Re:Redis for win32 and the Microsoft patch by nknight on Friday December 09, 2011 @11:53AM (#3334419)
> I'm not saying Redis is the ideal choice for these particular cases. I'm just quickly braindumping some examples.

Exactly. You're inventing weird use cases that only half-fit Redis's properties, instead of carefully considering the design and architecture of your application.

Software that attempts to solve all problems becomes Emacs.

Re:Redis for win32 and the Microsoft patch by skrebbel on Friday December 09, 2011 @01:00PM (#3334718)
sorry for not perfectly designing an application from the ground up on an internet forum. people said they could not imagine use cases for Redis outside the web cloud stuff. i gave some examples in an attempt to help people's imagination.

a decent response to my post would be to explain why Redis fits web/cloud only and why its design is a misfit for other areas by nature.

Re:Redis for win32 and the Microsoft patch by nknight on Friday December 09, 2011 @01:26PM (#3334828)
You're fundamentally asking the wrong question. First you figure out your design, then you use the right tools to implement it.

Redis may or may not be an appropriate tool for any particular design. I've solved a lot of problems with it, but my employer still has Oracle and MySQL databases that are unlikely to ever go away. I've also solved a lot of problems with Python on Ubuntu, but some of our infrastructure uses Windows and C#.

You've got a hammer and you're searching for nail-like objects. You need to put down the hammer, and figure out whether you even have nails in your project.

Re:Redis for win32 and the Microsoft patch by skrebbel on Friday December 09, 2011 @06:54PM (#3336246)
One addendum: I see you and beagle3 involved in another argument with angersock, which is getting quite emotional. I have the feeling you two may be accidentally spilling some of that emotion over to responding to me. Could that be the case?

I really feel like I've been getting a fair amount of fire here for writing things that I feel aren't that offensive or stupid. I can see that you may disagree, but I can't see where the heat comes from.

Re:Redis for win32 and the Microsoft patch by nknight on Friday December 09, 2011 @07:18PM (#3336324)
Thank you for letting me know that you're someone who is going to try and psychoanalyze me instead of having a civil debate, I'll avoid discussions with you in the future.
Re:Redis for win32 and the Microsoft patch by skrebbel on Saturday December 10, 2011 @05:14AM (#3337353)
Aiii, caught by the troll. I'll admit, you won.
Re:Redis for win32 and the Microsoft patch by skrebbel on Friday December 09, 2011 @06:47PM (#3336224)
There's absolutely no need to teach me software engineering 101, and I'm not sure why you feel the need to be so condescending.

When I design a new piece of software, you can be sure that I'll find my nails before I choose my hammer. When discussing whether hammer X fits nail Y, please pardon me that I try and consider that in detail before I dismiss the hammer at all.

This entire thread is about whether it makes sense to support Redis on Windows. This discussion, in it's very essense, is a "we've got a hammer (Redis) that could be changed so it can be used on some more nails (db/persistence problems on Windows)". I list some Windows-heavy situations in which Redis may be an excellent hammer indeed. You respond by lecturing me. What's up with that?

Once more, to avoid the standard anti-MS downvote: I'm not demanding a Redis port. I'm not claiming Windows is superior. I'm not claiming to some "right" to get good software for free on my chosen platform. I'm only pointing out that more than the 0.01% of Redis users that antirez quotes in his blog post could prefer Windows, for good reasons.

Re:Redis for win32 and the Microsoft patch by regularfry on Friday December 09, 2011 @11:08AM (#3334187)
It might make sense for end-user business software if that software ever has to be run offline.
Re:Redis for win32 and the Microsoft patch by beagle3 on Friday December 09, 2011 @11:27AM (#3334282)
>> Really, unless you run it on a "server", then sqlite with properly set cache parameters is almost surely a better choice, and works on Win32 since 2002 or so.

> It might make sense for end-user business software if that software ever has to be run offline.

I'm sorry, I'm entirely unimaginative -- but I can't think of a use case for an "end-user" offline Redis server (regardless of O/S) that is better served by redis' sweet spot than by a local sqlite or postgres install. Can you help me here?

Re:Redis for win32 and the Microsoft patch by regularfry on Saturday December 10, 2011 @04:23AM (#3337310)
If you already have an app developed which uses redis, and want to provide an offline version, it's much less work to run a local redis than to rewrite the storage backend. Yes, it might have made sense to just use sqlite from the beginning, but we don't always have the luxury of perfect future requirements knowledge.
Re:Redis for win32 and the Microsoft patch by bad_user on Friday December 09, 2011 @11:16AM (#3334226)
Then Redis is not a good option anyway.
Re:Redis for win32 and the Microsoft patch by regularfry on Saturday December 10, 2011 @04:24AM (#3337311)
It may have looked like it was from the initial requirements. Requirements change.
Re:Redis for win32 and the Microsoft patch by buff-a on Friday December 09, 2011 @08:17AM (#3333566)
He perhaps should have said Posix, or "not-windows". "Redis is written in ANSI C and works in most POSIX systems like Linux, BSD, OS X and Solaris without external dependencies." [1]

So I think if you stack IBM, Oracle, HP, and everyone else Redis runs on without modification, his point stands.

[1] http://redis.io/topics/introduction

And, really, it hasn't, with the possible exception of web startups

Hello!!! You are posting this comment where??? And have you heard of this little web startup named facebook? They use linux apparently. Zynga? Linux. Oh, yeah, Google, they use Windows, right? Amazon. And the largest company in the US, Apple, they use windows too, yeah?

Oh. You mean those other, giant, windows-using companies we're reading about daily in the Wall Street Journal.

Re:Redis for win32 and the Microsoft patch by wulczer on Friday December 09, 2011 @09:06AM (#3333705)
Yeah, those other companies like Walmart, UPS, Boeing... you know, the ones based outside of Silicon Valley, deeply entrenched in the real world.
Re:Redis for win32 and the Microsoft patch by lreeves on Friday December 09, 2011 @09:35AM (#3333791)
What is the incentive to the Redis developers in expanding their target audience to include enterprises, which generally demand a vastly different feature set?
Re:Redis for win32 and the Microsoft patch by thinkdevcode on Friday December 09, 2011 @10:29AM (#3334005)
I totally disagree as I work in a large enterprise that is a Microsoft shop and I would love to run Redis for some of our up and coming projects.
Re:Redis for win32 and the Microsoft patch by buff-a on Saturday December 10, 2011 @01:26AM (#3337118)
Why? Why don't you use Microsoft SQL Server? I mean, your company decided that for sound economic reasons, Microsoft is the way to go. You did read all those reports that even though linux is free, it has a much higher TCO than Windows. Why do you think the same is not true of Redis? I think you are one of those malcontents that is not aware of economic reality. Sure, Redis can probably do on one box what will take months of tuning several SQL Server boxes. But that's the great lie of linux. It just looks easier to begin with. Much better to just pay Microsoft, and have a technology monoculture. It keeps staff costs down too.
Re:Redis for win32 and the Microsoft patch by thurn on Friday December 09, 2011 @10:01AM (#3333892)
How far do you need to go down the list of top websites by traffic before you hit a site running on a Windows stack that isn't owned by Microsoft? Quite a long way, I believe. Probably more than 50.
Re:Redis for win32 and the Microsoft patch by lt on Friday December 09, 2011 @10:19AM (#3333961)
There's more to software development than websites.
Re:Redis for win32 and the Microsoft patch by riffraff on Friday December 09, 2011 @10:23AM (#3333972)
wasn't ebay on a MS stack? I'm reasonably sure it's in the top 50 (especially if you consider the various google.* and yahoo.* as single properties).
Re:Redis for win32 and the Microsoft patch by buff-a on Friday December 09, 2011 @08:12PM (#3336502)
Do you have any data on that?

I only have two data points: I've contracted for two Fortune 10 companies. Both companies had Windows on the Desktop. But their Big Data / Big Iron was linux and solaris. Indeed the license managers (FlexLM) that authorized software for those desktops? Solaris.

Needless to say both of these companies were outside silicon valley.

So do you have data on that? Just doing some googling it seems that Walmart started out as an IBM shop, more recently Oracle and HP are mentioned. Are walmart buying Microsoft licenses to run Oracle on the HP boxes? I mean, they could be, but I think it would be unreasonable to assume that is the case.

Re:Redis for win32 and the Microsoft patch by burgerbrain on Friday December 09, 2011 @12:14PM (#3334503)
1) Amazon is not Silicon Valley.

2) I am rather interested to hear what you mean by "deeply entrenched in the real world". Are Google's and Amazon's profits somehow not real?

Re:Redis for win32 and the Microsoft patch by wulczer on Friday December 09, 2011 @12:30PM (#3334575)
The parent of the post I responded to argued that Linux has not "won the software deployment war". I happen to agree with that and I believe that throwing out a few examples of technology companies that do deploy their software on Linux is not a convincing argument.

The way my GP alleged that no big companies use Windows as a platform came off as snarky and represents what I think is a skewed, SV/web-startup centric point of view.

Re:Redis for win32 and the Microsoft patch by skrebbel on Friday December 09, 2011 @12:04PM (#3334455)
> Hello!!! You are posting this comment where???

Apparently, posting on Hacker News now means "you're supposed to disregard the entire world except web firms, or else you don't belong here"? Come on, man.

Re:Redis for win32 and the Microsoft patch by Duff on Friday December 09, 2011 @08:18AM (#3333570)
I think that outside of larger enterprises with EA's, Microsoft is losing traction. So it's broader than just web startups.

But inside of many big corporate and government environments, Windows rules the roost. I think there's a good reason for that -- Microsoft enterprise stuff usually works. In big orgs, Linux/Unix is associated with "big iron" , "big dollar" nightmares from Oracle, CA, etc.

Re:Redis for win32 and the Microsoft patch by Mavrik on Friday December 09, 2011 @09:47AM (#3333845)
Huh... you're kinda wrong. Microsoft has never been stronger in server market and it's one of the platforms where their penetration is growing.
Re:Redis for win32 and the Microsoft patch by Duff on Friday December 09, 2011 @10:28AM (#3334002)
Yeah... in enterprises. They are displacing big-iron Unix, just like I said.
Re:Redis for win32 and the Microsoft patch by riffraff on Friday December 09, 2011 @10:25AM (#3333983)
I am not saying it's true or not, but do you have data points?
Re:Redis for win32 and the Microsoft patch by llambda on Friday December 09, 2011 @08:34AM (#3333608)
> Antirez, if you could try and imagine how Redis could be used in different environments

It's this shortsightedness in the leaders of open source endeavors, of all kinds, that can be a deterrent to outsiders. Not that it's wrong or bad to do something the way you want because it's your project and needs to fit your needs, however that said if it's to see wider adoption you have to look beyond what it is now. If a project is to be more than a personal project then it needs to take into account needs that are more than your personal needs. If the best course of action is to develop two independent projects, then so be it, but it would be foolish to dismiss the whole Windows ecosystem if one wants to see a project more widely adopted (although maybe that isn't any kind of priority, it depends on your perspective and harkens back to the frustration some people have with one personality leading a project).

Re:Redis for win32 and the Microsoft patch by skrebbel on Friday December 09, 2011 @07:03PM (#3336276)
In all honesty, I think antirez is a great example when it comes to open source developers who take into account needs that are more than his personal needs.

In fact, the linked article even underlines this: he perceived a user need for a Windows port, took it very much into account, and carefully wrote a blog post about why he chose not to go down that path.

I may believe that some assumptions in that blog post are too strong, but I very much think that even writing the blog post shows that antirez cares very much about stuff he's not personally helped by.

So calling antirez "short sighted" because of this is, well, IMHO, a bit beside the mark.

Re:Redis for win32 and the Microsoft patch by skrebbel on Friday December 09, 2011 @12:05PM (#3334460)
I said "linux" where I should've said POSIX. Sorry about that mistake.
Re:Redis for win32 and the Microsoft patch by slig on Friday December 09, 2011 @08:04AM (#3333541)
How dare he neglect the poor industrie? He really should stop the development of new features and start worrying about porting and maintaining his software to range of different environments.