I see a lot of comments on here calling these benchmarks artificial and fake or whatever, but can we take a moment to think about the power of these devices that we have in our pockets? They're pushing more pixels and flopping more teras than our top of the line gaming pcs were 10 years ago. And they fit in our pockets. Couple this with the fact that these devices are getting faster and smaller and battery life is still improving generation over generation.
Slashdot has always been a tinkerer's haven and relatively anti-apple, but their year over year feat of pushing the envelope is impressive. Honestly, all the competition really needs to get the lead out. There's more engineers not at apple than at apple and they're sitting on ass.
So stop blaming Apple for taking the talent or improving on what's there. And stop treating this shit like some religious war. You don't need to bash something to make yourself feel better about what tech you use. Different people value different things. Chill the fuck out and be happy you're around for all this amazing tech, from Samsung, huawei, apple, and the future underdogs that wil become the next number one. Shit is only gonna get better, maybe you can be a part of it. Do your best work and make the world a better place.
A lot of people are spewing a lot of well-founded hate at the node platform, but the comments are missing a lot of substance.
Node is just ok. What it is amazing at is doing lots of asynchronous IO, and has some libraries that make this pretty easy (i.e.: async). When all you need to do is read files and hit APIs and write files it's great.
Now node has a lot of shortcomings. For one, it's really not that fast when doing actual processing. If you need to do any kind of remotely complex calculations, including things like html template rendering (handlebars), data structure transformations or even like zipping/unzipping, it's slow as a dog. And since data calculations aren't IO, async operations actually start to slow you down. AND, unless you explicitly do things in an async manner, your whole node process will lock up and only that one task will execute, which can cause all kinds of latency issues with your app.
One can argue that ruby, etc suffer from the same fate and that's why you have multiple processes running. But because of node's async nature, if you are using a web framework like express, each process will potentially be handling multiple clients. And process that's processing will cause those clients to get slower responses and any crash will kill all of those clients.
There is also the mess that is npm, where it becomes very easy to have a 700MB dependency directory which SUCKS to deploy to multiple servers.
That's just my experience as a node Dev for the past 18 months.
I read a book a while back called "the disappearing spoon" where it discussed how earlier semiconductors used gallium, but were failure prone due to the heat (gallium has a very low melting temperature). Silicon was a godsend and once that was used, it changed semiconductors forever.
My first thought after reading the summary was "oh no! Not this again!" But the "nitrade" may make a huge difference. Hopefully this is the case.
I used marklogic when I worked at a previous job and after learning how it worked and understanding it better, it made our jobs incredibly easy. It just had a serious learning curve.
Marklogic is a nosql db, that uses XML for its object format and xquery for its query language. This thing is NOT mongodb. It actually works really well and allows for complex data modeling with the ability to do joins and have transactional isolation in making changes to the data as well as a really solid content processing framework with pipelining and all that jazz.
Now, I can't imagine a reason for using marklogic, or any non-relational db for a project like this. The only clue is that marklogic has a lot of government contracts; mostly for the military. So maybe that's why it was used. But the fact that they chose a database system that they weren't experts in for a project that had so much visibility speaks volumes on how mismanaged this whole project was.
When I was in 4th grade, we had those Atari workstations where we'd pop in a cartridge and do typing tutors. We also learned Logo, which at the time, I didn't equate with programming. In 6th grade, I had a class where we'd write BASIC on PCjrs and that's where I became totally enamored with the fact that I could have the computer do what I wanted. Even though the extent of the class was just drawing graphics to the screen, we learned a little about `for` loops and I was able to do some basic colour-cycling animations. Years later, I moved on to QBasic, then x-basic (which became REALBasic), then C, perl, and other more modern languages.
I wish there was something as simple as BASIC, but as accessible as HTML/Javascript for today's generation. I think C would make a better first language, but being able to build things with graphics is far more engaging than just commandline apps that need to be compiled. Something with low-levelish access (like BASIC's peek and poke, etc) and access to files, but also able to be publicly displayed would be a huge win.
the thing with node is that it can handle things that your server can't necessarily handle. Things like websockets and server sent events. If you were to build a site that needed websockets for real-time feeds using traditional technologies (like php + apache), you'd wind up with apache having n open connections with n instances of your application loaded into memory. The power of node.js is the fact that a single instance of the app will stream content to an arbitrary number of clients with a single instance. It does this through the reactor pattern (http://en.wikipedia.org/wiki/Reactor_pattern) and an event loop; the same mechanism that nginx uses to outperform apache (newer versions of apache have been adding support for this, I believe).
It's funny because people seem to have a lot of hate for node (myself included), yet don't have the same level of hate for similar technologies like python's Twisted or Ruby's EventMachine. Personally, I'm a bigger fan of Erlang/Elixir for this type of thing as it scales a lot better and takes better advantage of hardware. An 8-CPU system doesn't require 8 instances of node to take full advantage of the hardware.
disclaimer: I haven't had coffee yet and I hate node.
So, it appears that this is outlawing attaching a camera to your kite, to a model rocket, to an arrow... many forms of amateur photography are basically becoming misdemeanor offenses. so if one decides to start their iphone recording and throw it up into the air to see what they can see, or throw their recording ipad like a frisbee in the park, if either captures images of a place or person who didn't give express permission to photograph, you could be charged.
If I decided to do this, I would need to operate my LAN like every node was bare on the internet. I've got fileservers with guest access (for, you know... houseguests), web services, my invoicing system, and a whole slew of other personal services. The thought of open wifi on the LAN kinda scares me from a security perspective.
Given that the majority of people out there aren't security conscious, there are all kinds of implications for keeping default router settings/passwords.
When I was staying in the Oakwoods in Burbank, CA for work (long-term housing, like... for months), I could see every machine on the LAN and all of the windows machines had read-only filesharing on, so I was able to loot up on all kinds of raunchy porn that people downloaded from limewire. One guy even had a bunch of tax documents in a shared folder. This included a PDF of the lease on his lexus, and some credit card statements. Another guy had 8GB of photos of his kids and family.
Shit can be dangerous out there if you're not careful.
When it comes to the Creative Suite (especially Photoshop and Illustrator), Adobe has been really good about actually giving you value for your money. Sure they break compatibility, but that's because they give you new features that you actually use all the time. The bad thing about these features is that techniques that retouchers used to charge $100/hour for and work on a photo for 14 hours now takes someone who has zero experience 20 minutes to accomplish, so it's ruining the industry... but at the same time, the quality of work and amount of work you can accomplish in a given amount of time has increased dramatically.
Some examples of valid compatibility-breaking features:
* gradient mesh (illustrator)
* transparency (illustrator)
* support for more than 99 layers (photoshop)
* layer groups/ folders (photoshop)
* embedding fonts (photoshop/illustrator)
* effects (photoshop/illustrator)
* artboard size (illustrator)
Many of these features are older. I haven't used the suite extensively since CS3 when I was a certified expert in photoshop and illustrator. I'd been using photoshop since version 2.5 and illustrator since version 7, so I've seen the evolution of the products and they are incredibly impressive. I'm constantly amazed at what they've been able to do with these programs.
Things like Office are a different story. I'm not aware of any specific features that they've added in any recent versions. MS changes their file formats with every new version of their package and doesn't seem to be adding any additional features beyond user interface (which is no excuse for breaking compatibility).
this guy is hitting the nail on the head
on
The Web We Lost
·
· Score: 1, Insightful
From what I see, though, one of the big issues is that when you get to be the size of Facebook or Twitter, it HAS to be about making money. Who is going to pay for your servers and who is going to pay your employees who work on the site full-time? Once you hit critical mass, in order not collapse under your own weight, you need to protect your monetary interests and that means closing off access to competing services.
Now, in the past, this wasn't as much of an issue because people actually paid for things and/or the advertisements covered costs. Today, the bottom has fallen out of the advertising market and no one wants to pay for anything anymore. I have friends that think Flickr's $25/year pro account is a rip-off. I think that's a *steal*.
The ecosystem of the web today is full of freeloaders and "entrepreneurs" who are trying to make a quick buck (via VC or getting bought, primarily) rather than trying to build awesome new products that people would actually want to pay for. No one wants to build companies anymore, they just want to build windfalls.
I really liked internet time. It was great because I had a widget in my menubar that showed the @time and when I met people in chat rooms, it was easy to synchronize...
I've spent the better part of the last year trying to bring this back. Not to use as a primary time-telling device, but as a way of easily synchronizing across timezones, mostly for IRC/IM and teleconference meetings.
I also think we need to completely kill daylight savings (as many people are suggesting). It is definitely time to do that worldwide.
A very large problem with this forcing of real names is when the sites in question have blacklists for certain names. I have a friend who's real, birth certificate name is "Aragorn" (his parents are HUGE LOTR geeks) and facebook does not allow that name, so he goes by Aragor. It's incredibly annoying to me, but he doesn't really care that much. facebook wants him to send a copy of his driver's license as proof so they'll allow him to use the name.
I'm just glad that they let me use Spike. I mean, it may not be on my birth certificate, but it's the only name I use. It's on my bank accounts (BofA doesn't seem to care), credit cards, cell phone, work ID, everything. My parents have called me that since before I was born and it's all anyone calls me.
docs were read. mass-googling was done. I'm talking about apple's utilities... `networksetup` in the instance of the LOM and the network port bonding. There's no consistency in the docs about what they mean by "Service Name" which is what they call the "interface." However, there are 2 names for the interface... the user-specified one ("Ethernet 2") and the bsd name ("en1"), but the docs call them both the servicename. The only way I was able to figure out which gets used where is by trial and error.
in many cases, apple has provided their own tools that completely replace the standard toolset. hdiutil and networksetup are 2 prime examples.
another thing I forgot to bring up is ipmitool which mostly works unless you try to do serial-over-lan (sol) connections; it's completely unusable and you have to go to sourceforge and build your own ipmitool to do that stuff.
I mean, I'm not an OSX n00b. Typically I'm a linux engineer, but I've been OSX on the desktop since the developer previews and the server I've had running at home for a while and I've done contract server set up on versions going back to jaguar... the thing is that this is the first time that I've had to do seriously low-level shit (building a large xserve infrastructure with customized management and deployment tools) and it's like running into a concrete wall headfirst every time a new task comes down the pipe.
Apple has no real interest in the enterprise market.
And this is terrible news.
Content providers for apple MUST provide video files in Apple ProRes fileformat which is ONLY able to be encoded using apple's tools which only run in OSX. I don't know how apple expects large content producers to encode high-volumes of videos for them without the xserves. MacPros are not an option as they are not enterprise ready (single PSU, no management port, they're HUGE and must be de-"racked" in order to swap drives, etc). MacMinis are not suitable for this as they don't have enough CPU/RAM. The xserves weren't even that great, but they were the right form factor.
Apple's been seriously fucking up with regard to the enterprise lately. I've been running into issues with their commandline admin utilities --they don't give access to everything that you can do with the GUI. You can't configure which port to use for management from the CLI (the docs say you can, but it doesn't work), it renames your interface when you bond network interfaces by appending " Configuration" to the name, which doesn't happen in the gui... and now, 10.6.6 doesn't properly image using System Image Utility (http://support.apple.com/kb/TS3665)
Now, they're bundling OSX Server into OSX Lion. Who knows whether they'll continue to support ALL of the non-home user features of server like OpenDirectory. WTF.
apple's mobileme has had this since at least 2003. It was the one feature (but not the only reason) that has kept me from migrating my email over to gmail or other provider. They have an email aliasing feature which allows you to not only create new aliases for your main account, but you can choose what address is in the reply-to field in Mail.app or through the web app.
This has been great since I signed up for MobileMe (then,.Mac) in 2000 when I was 19 and used spike666 as my moniker, and was able to use a more professional name when the time came without needing to create a separate account.
I really wish gmail would add that. There's no way to change my google account's login (according to their faq) and I'm not about to get a new account and lose my entire search history and everything else that's tied to that account.
I would use an email address on one of my domains, but after having the same email address for 11 years, it's kinda hard to switch.
So this also proves that, ultimately, this list of passwords was not properly hashed.
People jump up and down and scream that SHA1 and MD5 are broken, but if properly used, they still offer significant password security. One trick is to use salts when storing passwords in the database.
that increased the amount of time required to brute-force the password significantly. Also, the use of a database of hashes is largely worthless since each password in the list would have a completely unique hash. for the sake of brute-forcing the data, short passwords don't matter (on the other hand, brute-forcing login to the application is not affected). Having a different salt for each password makes the time spent on each other password completely worthless once the cracker gets to the next item in the list.
to improve that, we can say... hash the result 1000 times in a row. For someone trying to brute force the hash, they would spend 1000x the CPU resources creating the hash. It's mostly not a big deal to run that hash 1000 times when creating the information for the database or authenticating the user.
of course, SHA1 and MD5 are still broken when it comes to file integrity checking (when it comes to tampering) since there are documented collisions. For this case, cryptographic signatures are where it's at. You can guarantee that not only was the file not tampered with, but also that the person who supplied the signature was who they say they were. Gotta love public key encryption.
The worst thing is that, when it comes to upgrading their browser, their assumption IS valid. They shouldn't HAVE to install a 3rd party browser. I'm not saying that there shouldn't BE 3rd party browsers, but the browser that comes with your OS should at least work properly.
One of my semi-techie friends saw those Chrome commercials and said to me "you told me that google was NOT a browser, but look, it is! You don't know what you're talking about!" I seriously think that it's a conspiracy to confuse consumers lately. Between confusing branding (Motorola Droid vs HTC Droid Incredible vs Android OS vs "Droid Does" and this whole 4G thing) and confusing metrics that are difficult (if not impossible) to explain to non-technical users (4MP vs 8MP camera, it's possible that the 4MP takes better pictures... and the difference between 4" and 5" display, when the 4" has higher pixel dimensions). And don't get me started on the difference between a fast internet connection, fast network connection, fast computer and fast browser.
So now you have uninformed users throwing terms around that they think they understand, you've got companies leveraging these misunderstandings to sell overpriced, sub-par electronics, and all these inexpensive electronics that you buy every year that are incompatible with each other (chargers, data cables, etc).
Keep consumers in the dark and confused so you can sell them whatever you want.
Although I still feel that way, I've been forced on several occasions to make things look and function in IE (8 or newer only, luckily). One customer hounded us to get their site working in 6, and after we spent a week building a system to detect the browser and output different HTML and were only 1/2 done, they changed their minds.
It's sometimes difficult for non-technical customers to understand that each version of IE is a different beast and requires you do do much of the front-end work over again for each version.
If it was up to me, I'd just say that we don't support IE, but a good chunk of windows users on the public internet have not installed an alternate browser. I just don't get it.
DRM-free, too. Although they won't play on the likes of the 360. Luckily I have my machine connected to my TV so I can watch Hulu/AdultSwim/Southpark/iTunes shit.
I think iTunes "rentals" are full of DRMs, but I don't see any value in that, especially since I have the netflix.
My old Nokia fell out of my pocket whilst riding the roller coaster (Medusa) at Six Flags. It fell about 30 feet onto the sidewalk and the only issue with it was that the casing kinda split a little and the bottom 4 rows of pixels on the screen stopped functioning. I stuck some tape on the thing and it kept chugging along for about another 6 months before finally failing.
I have a feeling that this part hype, part inept programmers who don't actually understand SQL, or database optimization.
This is part of the problem... similar to PHP, most people learn some examples that teach some bad habits right off the bat (sticking SQL in your view, etc) because it's so easy to get started, but you've gotta get a grasp on the tech before you can do anything big.
Also, I feel that one of the root causes of the hype is that SQL and RDBMSs in general don't solve all your problems and sometimes get in the way of your application design. Between rigid schema definitions and the SQL language that has a bit of a learning curve when you start dealing with nested queries and handling shards/partitions/etc, I think that's the reason we're starting to see more non-RDBMS databases.
At work, we had a project that we started building on MySQL, but was falling short because we were constantly making schema changes. We begun to build a system where we could have arbitrary attributes attached to arbitrary objects, but then our queries were getting REALLY nasty. We discovered MarkLogic which is an XML database server and uses XQuery to query the data. We were ingesting around 100MB of XML a day, and we needed to be able to handle just about any XML that went into the system. MarkLogic was a natural fit since we needed to put XML in and we wanted XML out most of the time.
We're still using MySQL for tracking the ingestions and managing the frontend to the system (which is built on Rails), but having XQuery at our fingertips has been a godsend.
There's a lot to be said about new technologies that solve needs and get around shortcomings of the more ubiquitous technologies, but, as with anything that people see as a solution, it's not a silver bullet. You've gotta be careful not to get trapped in "everything looks like a nail" syndrome.
It really depends what kind of service(s) you're launching on the cloud. If you're building generic infrastructure to cover some area of the market that AWS doesn't cover well or at all, then you may be in for a rude awakening in the future. This doesn't mean that such a service should not be built, it's just that one should realize what kind of risks are involved when developing something like that.
There are plenty of services that build on top of AWS that will probably be safe from competition well into the future. Those include services that are very specific such as Heroku's Rails app hosting, which will actually benefit from additions such as this MySQL instance type and the price cuts of EC2.
Also, when building apps that essentially turn you into a reseller of AWS services, although there may come a time when amazon starts competing directly with you, you've got your app built. If you built it properly, it should not be difficult to re-wire your backend to utilize some other service or build your own cloud infrastructure. If you're big enough and have the necessary capital, it may actually be a cost savings to do such a thing.
I see a lot of comments on here calling these benchmarks artificial and fake or whatever, but can we take a moment to think about the power of these devices that we have in our pockets? They're pushing more pixels and flopping more teras than our top of the line gaming pcs were 10 years ago. And they fit in our pockets. Couple this with the fact that these devices are getting faster and smaller and battery life is still improving generation over generation.
Slashdot has always been a tinkerer's haven and relatively anti-apple, but their year over year feat of pushing the envelope is impressive. Honestly, all the competition really needs to get the lead out. There's more engineers not at apple than at apple and they're sitting on ass.
So stop blaming Apple for taking the talent or improving on what's there. And stop treating this shit like some religious war. You don't need to bash something to make yourself feel better about what tech you use. Different people value different things. Chill the fuck out and be happy you're around for all this amazing tech, from Samsung, huawei, apple, and the future underdogs that wil become the next number one. Shit is only gonna get better, maybe you can be a part of it. Do your best work and make the world a better place.
A lot of people are spewing a lot of well-founded hate at the node platform, but the comments are missing a lot of substance.
Node is just ok. What it is amazing at is doing lots of asynchronous IO, and has some libraries that make this pretty easy (i.e.: async). When all you need to do is read files and hit APIs and write files it's great.
Now node has a lot of shortcomings. For one, it's really not that fast when doing actual processing. If you need to do any kind of remotely complex calculations, including things like html template rendering (handlebars), data structure transformations or even like zipping/unzipping, it's slow as a dog. And since data calculations aren't IO, async operations actually start to slow you down. AND, unless you explicitly do things in an async manner, your whole node process will lock up and only that one task will execute, which can cause all kinds of latency issues with your app.
One can argue that ruby, etc suffer from the same fate and that's why you have multiple processes running. But because of node's async nature, if you are using a web framework like express, each process will potentially be handling multiple clients. And process that's processing will cause those clients to get slower responses and any crash will kill all of those clients.
There is also the mess that is npm, where it becomes very easy to have a 700MB dependency directory which SUCKS to deploy to multiple servers.
That's just my experience as a node Dev for the past 18 months.
I read a book a while back called "the disappearing spoon" where it discussed how earlier semiconductors used gallium, but were failure prone due to the heat (gallium has a very low melting temperature). Silicon was a godsend and once that was used, it changed semiconductors forever.
My first thought after reading the summary was "oh no! Not this again!" But the "nitrade" may make a huge difference. Hopefully this is the case.
Marklogic, afaik, is the only acid compliant nosql solution that exists.
I used marklogic when I worked at a previous job and after learning how it worked and understanding it better, it made our jobs incredibly easy. It just had a serious learning curve.
Marklogic is a nosql db, that uses XML for its object format and xquery for its query language. This thing is NOT mongodb. It actually works really well and allows for complex data modeling with the ability to do joins and have transactional isolation in making changes to the data as well as a really solid content processing framework with pipelining and all that jazz.
Now, I can't imagine a reason for using marklogic, or any non-relational db for a project like this. The only clue is that marklogic has a lot of government contracts; mostly for the military. So maybe that's why it was used. But the fact that they chose a database system that they weren't experts in for a project that had so much visibility speaks volumes on how mismanaged this whole project was.
When I was in 4th grade, we had those Atari workstations where we'd pop in a cartridge and do typing tutors. We also learned Logo, which at the time, I didn't equate with programming. In 6th grade, I had a class where we'd write BASIC on PCjrs and that's where I became totally enamored with the fact that I could have the computer do what I wanted. Even though the extent of the class was just drawing graphics to the screen, we learned a little about `for` loops and I was able to do some basic colour-cycling animations. Years later, I moved on to QBasic, then x-basic (which became REALBasic), then C, perl, and other more modern languages.
I wish there was something as simple as BASIC, but as accessible as HTML/Javascript for today's generation. I think C would make a better first language, but being able to build things with graphics is far more engaging than just commandline apps that need to be compiled. Something with low-levelish access (like BASIC's peek and poke, etc) and access to files, but also able to be publicly displayed would be a huge win.
the thing with node is that it can handle things that your server can't necessarily handle. Things like websockets and server sent events. If you were to build a site that needed websockets for real-time feeds using traditional technologies (like php + apache), you'd wind up with apache having n open connections with n instances of your application loaded into memory. The power of node.js is the fact that a single instance of the app will stream content to an arbitrary number of clients with a single instance. It does this through the reactor pattern (http://en.wikipedia.org/wiki/Reactor_pattern) and an event loop; the same mechanism that nginx uses to outperform apache (newer versions of apache have been adding support for this, I believe).
It's funny because people seem to have a lot of hate for node (myself included), yet don't have the same level of hate for similar technologies like python's Twisted or Ruby's EventMachine. Personally, I'm a bigger fan of Erlang/Elixir for this type of thing as it scales a lot better and takes better advantage of hardware. An 8-CPU system doesn't require 8 instances of node to take full advantage of the hardware.
disclaimer: I haven't had coffee yet and I hate node.
So, it appears that this is outlawing attaching a camera to your kite, to a model rocket, to an arrow... many forms of amateur photography are basically becoming misdemeanor offenses. so if one decides to start their iphone recording and throw it up into the air to see what they can see, or throw their recording ipad like a frisbee in the park, if either captures images of a place or person who didn't give express permission to photograph, you could be charged.
that's all nutso to me.
If I decided to do this, I would need to operate my LAN like every node was bare on the internet. I've got fileservers with guest access (for, you know... houseguests), web services, my invoicing system, and a whole slew of other personal services. The thought of open wifi on the LAN kinda scares me from a security perspective.
Given that the majority of people out there aren't security conscious, there are all kinds of implications for keeping default router settings/passwords.
When I was staying in the Oakwoods in Burbank, CA for work (long-term housing, like... for months), I could see every machine on the LAN and all of the windows machines had read-only filesharing on, so I was able to loot up on all kinds of raunchy porn that people downloaded from limewire. One guy even had a bunch of tax documents in a shared folder. This included a PDF of the lease on his lexus, and some credit card statements. Another guy had 8GB of photos of his kids and family.
Shit can be dangerous out there if you're not careful.
When it comes to the Creative Suite (especially Photoshop and Illustrator), Adobe has been really good about actually giving you value for your money. Sure they break compatibility, but that's because they give you new features that you actually use all the time. The bad thing about these features is that techniques that retouchers used to charge $100/hour for and work on a photo for 14 hours now takes someone who has zero experience 20 minutes to accomplish, so it's ruining the industry... but at the same time, the quality of work and amount of work you can accomplish in a given amount of time has increased dramatically.
Some examples of valid compatibility-breaking features:
* gradient mesh (illustrator)
* transparency (illustrator)
* support for more than 99 layers (photoshop)
* layer groups/ folders (photoshop)
* embedding fonts (photoshop/illustrator)
* effects (photoshop/illustrator)
* artboard size (illustrator)
Many of these features are older. I haven't used the suite extensively since CS3 when I was a certified expert in photoshop and illustrator. I'd been using photoshop since version 2.5 and illustrator since version 7, so I've seen the evolution of the products and they are incredibly impressive. I'm constantly amazed at what they've been able to do with these programs.
Things like Office are a different story. I'm not aware of any specific features that they've added in any recent versions. MS changes their file formats with every new version of their package and doesn't seem to be adding any additional features beyond user interface (which is no excuse for breaking compatibility).
From what I see, though, one of the big issues is that when you get to be the size of Facebook or Twitter, it HAS to be about making money. Who is going to pay for your servers and who is going to pay your employees who work on the site full-time? Once you hit critical mass, in order not collapse under your own weight, you need to protect your monetary interests and that means closing off access to competing services.
Now, in the past, this wasn't as much of an issue because people actually paid for things and/or the advertisements covered costs. Today, the bottom has fallen out of the advertising market and no one wants to pay for anything anymore. I have friends that think Flickr's $25/year pro account is a rip-off. I think that's a *steal*.
The ecosystem of the web today is full of freeloaders and "entrepreneurs" who are trying to make a quick buck (via VC or getting bought, primarily) rather than trying to build awesome new products that people would actually want to pay for. No one wants to build companies anymore, they just want to build windfalls.
I really liked internet time. It was great because I had a widget in my menubar that showed the @time and when I met people in chat rooms, it was easy to synchronize...
for those of you not in the know: http://en.wikipedia.org/wiki/Swatch_Internet_Time
I've spent the better part of the last year trying to bring this back. Not to use as a primary time-telling device, but as a way of easily synchronizing across timezones, mostly for IRC/IM and teleconference meetings.
I also think we need to completely kill daylight savings (as many people are suggesting). It is definitely time to do that worldwide.
A very large problem with this forcing of real names is when the sites in question have blacklists for certain names. I have a friend who's real, birth certificate name is "Aragorn" (his parents are HUGE LOTR geeks) and facebook does not allow that name, so he goes by Aragor. It's incredibly annoying to me, but he doesn't really care that much. facebook wants him to send a copy of his driver's license as proof so they'll allow him to use the name.
I'm just glad that they let me use Spike. I mean, it may not be on my birth certificate, but it's the only name I use. It's on my bank accounts (BofA doesn't seem to care), credit cards, cell phone, work ID, everything. My parents have called me that since before I was born and it's all anyone calls me.
In "Rant," there's a character who purposely gets bitten by spiders in order to get the proper erection. Life imitating art, again?
docs were read. mass-googling was done. I'm talking about apple's utilities... `networksetup` in the instance of the LOM and the network port bonding. There's no consistency in the docs about what they mean by "Service Name" which is what they call the "interface." However, there are 2 names for the interface... the user-specified one ("Ethernet 2") and the bsd name ("en1"), but the docs call them both the servicename. The only way I was able to figure out which gets used where is by trial and error.
in many cases, apple has provided their own tools that completely replace the standard toolset. hdiutil and networksetup are 2 prime examples.
another thing I forgot to bring up is ipmitool which mostly works unless you try to do serial-over-lan (sol) connections; it's completely unusable and you have to go to sourceforge and build your own ipmitool to do that stuff.
I mean, I'm not an OSX n00b. Typically I'm a linux engineer, but I've been OSX on the desktop since the developer previews and the server I've had running at home for a while and I've done contract server set up on versions going back to jaguar... the thing is that this is the first time that I've had to do seriously low-level shit (building a large xserve infrastructure with customized management and deployment tools) and it's like running into a concrete wall headfirst every time a new task comes down the pipe.
Apple has no real interest in the enterprise market.
And this is terrible news.
Content providers for apple MUST provide video files in Apple ProRes fileformat which is ONLY able to be encoded using apple's tools which only run in OSX. I don't know how apple expects large content producers to encode high-volumes of videos for them without the xserves. MacPros are not an option as they are not enterprise ready (single PSU, no management port, they're HUGE and must be de-"racked" in order to swap drives, etc). MacMinis are not suitable for this as they don't have enough CPU/RAM. The xserves weren't even that great, but they were the right form factor.
Apple's been seriously fucking up with regard to the enterprise lately. I've been running into issues with their commandline admin utilities --they don't give access to everything that you can do with the GUI. You can't configure which port to use for management from the CLI (the docs say you can, but it doesn't work), it renames your interface when you bond network interfaces by appending " Configuration" to the name, which doesn't happen in the gui... and now, 10.6.6 doesn't properly image using System Image Utility (http://support.apple.com/kb/TS3665)
Now, they're bundling OSX Server into OSX Lion. Who knows whether they'll continue to support ALL of the non-home user features of server like OpenDirectory. WTF.
apple's mobileme has had this since at least 2003. It was the one feature (but not the only reason) that has kept me from migrating my email over to gmail or other provider. They have an email aliasing feature which allows you to not only create new aliases for your main account, but you can choose what address is in the reply-to field in Mail.app or through the web app.
This has been great since I signed up for MobileMe (then, .Mac) in 2000 when I was 19 and used spike666 as my moniker, and was able to use a more professional name when the time came without needing to create a separate account.
I really wish gmail would add that. There's no way to change my google account's login (according to their faq) and I'm not about to get a new account and lose my entire search history and everything else that's tied to that account.
I would use an email address on one of my domains, but after having the same email address for 11 years, it's kinda hard to switch.
So this also proves that, ultimately, this list of passwords was not properly hashed.
People jump up and down and scream that SHA1 and MD5 are broken, but if properly used, they still offer significant password security. One trick is to use salts when storing passwords in the database.
password: 'foo'
salt: '2010-11-16T08:39:05Z - some_random_string$#@!'
password-hash (md5): 14e80778512f578a5fe263abe4b58e9c
that increased the amount of time required to brute-force the password significantly. Also, the use of a database of hashes is largely worthless since each password in the list would have a completely unique hash. for the sake of brute-forcing the data, short passwords don't matter (on the other hand, brute-forcing login to the application is not affected). Having a different salt for each password makes the time spent on each other password completely worthless once the cracker gets to the next item in the list.
to improve that, we can say... hash the result 1000 times in a row. For someone trying to brute force the hash, they would spend 1000x the CPU resources creating the hash. It's mostly not a big deal to run that hash 1000 times when creating the information for the database or authenticating the user.
of course, SHA1 and MD5 are still broken when it comes to file integrity checking (when it comes to tampering) since there are documented collisions. For this case, cryptographic signatures are where it's at. You can guarantee that not only was the file not tampered with, but also that the person who supplied the signature was who they say they were. Gotta love public key encryption.
...you insensitive clod!
8 commands. period. no more, no less. Super maintainable, cross platform and...
bah, who am I kidding?
The worst thing is that, when it comes to upgrading their browser, their assumption IS valid. They shouldn't HAVE to install a 3rd party browser. I'm not saying that there shouldn't BE 3rd party browsers, but the browser that comes with your OS should at least work properly.
One of my semi-techie friends saw those Chrome commercials and said to me "you told me that google was NOT a browser, but look, it is! You don't know what you're talking about!" I seriously think that it's a conspiracy to confuse consumers lately. Between confusing branding (Motorola Droid vs HTC Droid Incredible vs Android OS vs "Droid Does" and this whole 4G thing) and confusing metrics that are difficult (if not impossible) to explain to non-technical users (4MP vs 8MP camera, it's possible that the 4MP takes better pictures... and the difference between 4" and 5" display, when the 4" has higher pixel dimensions). And don't get me started on the difference between a fast internet connection, fast network connection, fast computer and fast browser.
So now you have uninformed users throwing terms around that they think they understand, you've got companies leveraging these misunderstandings to sell overpriced, sub-par electronics, and all these inexpensive electronics that you buy every year that are incompatible with each other (chargers, data cables, etc).
Keep consumers in the dark and confused so you can sell them whatever you want.
Although I still feel that way, I've been forced on several occasions to make things look and function in IE (8 or newer only, luckily). One customer hounded us to get their site working in 6, and after we spent a week building a system to detect the browser and output different HTML and were only 1/2 done, they changed their minds.
It's sometimes difficult for non-technical customers to understand that each version of IE is a different beast and requires you do do much of the front-end work over again for each version.
If it was up to me, I'd just say that we don't support IE, but a good chunk of windows users on the public internet have not installed an alternate browser. I just don't get it.
How about movies?
DRM-free, too. Although they won't play on the likes of the 360. Luckily I have my machine connected to my TV so I can watch Hulu/AdultSwim/Southpark/iTunes shit.
I think iTunes "rentals" are full of DRMs, but I don't see any value in that, especially since I have the netflix.
My old Nokia fell out of my pocket whilst riding the roller coaster (Medusa) at Six Flags. It fell about 30 feet onto the sidewalk and the only issue with it was that the casing kinda split a little and the bottom 4 rows of pixels on the screen stopped functioning. I stuck some tape on the thing and it kept chugging along for about another 6 months before finally failing.
I have a feeling that this part hype, part inept programmers who don't actually understand SQL, or database optimization.
This is part of the problem... similar to PHP, most people learn some examples that teach some bad habits right off the bat (sticking SQL in your view, etc) because it's so easy to get started, but you've gotta get a grasp on the tech before you can do anything big.
Also, I feel that one of the root causes of the hype is that SQL and RDBMSs in general don't solve all your problems and sometimes get in the way of your application design. Between rigid schema definitions and the SQL language that has a bit of a learning curve when you start dealing with nested queries and handling shards/partitions/etc, I think that's the reason we're starting to see more non-RDBMS databases.
At work, we had a project that we started building on MySQL, but was falling short because we were constantly making schema changes. We begun to build a system where we could have arbitrary attributes attached to arbitrary objects, but then our queries were getting REALLY nasty. We discovered MarkLogic which is an XML database server and uses XQuery to query the data. We were ingesting around 100MB of XML a day, and we needed to be able to handle just about any XML that went into the system. MarkLogic was a natural fit since we needed to put XML in and we wanted XML out most of the time.
We're still using MySQL for tracking the ingestions and managing the frontend to the system (which is built on Rails), but having XQuery at our fingertips has been a godsend.
There's a lot to be said about new technologies that solve needs and get around shortcomings of the more ubiquitous technologies, but, as with anything that people see as a solution, it's not a silver bullet. You've gotta be careful not to get trapped in "everything looks like a nail" syndrome.
It really depends what kind of service(s) you're launching on the cloud. If you're building generic infrastructure to cover some area of the market that AWS doesn't cover well or at all, then you may be in for a rude awakening in the future. This doesn't mean that such a service should not be built, it's just that one should realize what kind of risks are involved when developing something like that.
There are plenty of services that build on top of AWS that will probably be safe from competition well into the future. Those include services that are very specific such as Heroku's Rails app hosting, which will actually benefit from additions such as this MySQL instance type and the price cuts of EC2.
Also, when building apps that essentially turn you into a reseller of AWS services, although there may come a time when amazon starts competing directly with you, you've got your app built. If you built it properly, it should not be difficult to re-wire your backend to utilize some other service or build your own cloud infrastructure. If you're big enough and have the necessary capital, it may actually be a cost savings to do such a thing.