36 karma · joined December 17, 2009
There are other companies, but few in the computer / consumer electronics business.
I think the key is that most companies treat design as an afterthought, or an expense. It's completely irrelevant to most users, but look at most PC laptops - they have a nice, glossy lid and front bezel. But the bottom cover seems like a minefield of stickers, covers, fan openings and screws. There is no design there. The design job ended with the obvious, visible parts.
Again, completely irrelevant to most users as they will never look at the bottom cover. But it speaks a lot about how these companies think about design - and why Apple is still the only company with a unibody laptop design.
With the old Powerbooks and MacBook Pros, the hinges on the top of the lid would extend magnetically just before the lid closed. These are the small gems that makes you smile when you're interested in product design.
I haven't found minimalism to impact usability myself, but there's clearly some instances where they have given the user a task of figuring someting out. For instance, a friend of mine never figured out that the top button on his iPhone locked the screen until I told him.
- You can't change the battery
- It doesn't support 3D glasses and 4K cinema resolution
- No 20MP camera with flash and replacable lens
- There is no noticeable lag when running applications in the background, so it's actually not "true multitasking". You can't run 100 apps in the background.
- Can't install apps without jailbreak (or dev license)
- Doesn't have a nanoSD card
- No USB portIt's surprising how few people realize that the built-in apps (Mail, iPod, SMS etc) run perfectly in the background. The lack of multitasking is limited to 3rd party apps, which helps explain why most iPhone users never complain too much about the lack of real multitasking.
- For hosting the PBX yourself without learning Asterisk or FreeSWITCH, I can recommend Askozia PBX, which is based on m0n0wall: http://www.askozia.com/
I've also used FreePBX-based systems like TrixBox CE, which are more full-featured and more customizable, but might take more effort to upgrade.
- For reliable faxing, make sure your VoIP provider supports the T.38 protocol and get an ATA (analogue adapter) that supports it. You can then set up T.38 passthrough in your PBX.
- For equipment, I'd recommend going with one of the "known" brands. I've used Linksys SPA9xx and Snom phones, but read forums to see what people recommend for the PBX you choose. Keep in mind that a lot of the buttons and features on the phone might not work "out of the box", depending on the PBX you choose. I'd stay away from no-name brands unless you have tried them yourself or have very good recommendations.
That being said, I this is a good thing - other companies may be forced to out-innovate Apple and pay as much attention to detail as they do, and maybe these companies will attract all the talent they need to make it happen.
Then again, people writing angry comments are rarely the kind of people who will take the time to reflect on what they read.
They both return Proc objects though, so I wonder if it is possible to "convert" them.
Can you shed some light on the difference? I always thought that lambda is simply a synonym for proc - has this changed in more recent versions?
I don't know why you're having a problem passing around foo = lambda {|x,y,z| x+y+z }.
I admit that having to explicitly call a proc using .call or .[] is less pretty than the python equivalent, but it's hardly a big problem.
Having used both Python and Ruby extensively I've concluded that both languages are very nice and usable. They both have their warts and shortcomings, but after Python added closures I really haven't had many "darn, I hate [Ruby|Python] because of shortcoming X".
Edit: As noted elsewhere, there IS in fact a difference between Proc.new and lambda/proc, Though I've personally never used Proc.new.
The problem is, I think that in engineering and other skilled work, the ones that are interested in their area of work regardless of whether they get paid well or not tend to be more skilled and do a better job. The same can be said for airline pilots (to put it simply, don't become an airline pilot if you want a safe job with a good salary, become an airline pilot if you LOVE flying).
So for a company looking to hire people, if a candidate will accept more interesting work for a lower salary, that is a good indicator that they CARE about the work they do. Someone who is only more interested in the salary and less interested in what they do _might_ be the ones that are happy with doing the bare minimums.
The other side of the problem is that most people think they are above average intelligent, and therefore most people will feel underpaid if they are not paid above average.
If you really love your job and you can do it by running your own business, that's often the best option. As an employee you are only making other people rich in exchange for some economic stability.
Then again, unless you want to make a given function/input combination into a resource, you might be better of with a less RESTy approach.