"Remember" is a dangerous word to use here. Memory is fragile, fallible, and stored in ambulatory meat, which is inclined to wander off between releases. Store these use cases in automated tests that run automatically on every commit. And make sure the tests clearly express the intent of the requirement, so that when somebody eventually breaks the test, they can quickly get the purpose. (If not, they'll be inclined to just delete the test.)
Mind you Apple also completetly fscked up the OSX calculator RPN mode a few version back. Some intern went in an seems to have 'fixed' it to require parenthesis.
Perhaps they 'fixed' it since, but I trashed it anyway, now I use the real HP-16C on the desk.
Typical of modern software design practices: hide everything that might confuse the imbeciles that want to use your software. No radians, no hex, no binary, no settings. "Can't let the user change something, they may change it!"
Anything emulating a particular handheld calculator will also be better than the trashy default calculator applications that are just a steaming pile of skeuomorphism.
wtbob@wtbob:~$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
obase=16
17281580835365214242
EFD4823541245822
Twenty-four years and it's still working just fine!
Getting old is weird. I catch myself thinking of records released in 2005 as "new". (Even though I buy actual new music every week or two, and still remain relatively on top of modern music.)
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
2015 - 1991
24
I use python as a calculator all the time as well since longs have no limit.
$ python
Python 2.7.10 (default, Jul 14 2015, 19:46:27)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> hex(17281580835365214242)
'0xefd4823541245822L'
Just for fun, I've tried that with the OSX calculator (in El Capitan, in case that matters).
When I paste the number in the article (17281580835365214242) into it, it shows as 9223372036854775807. Typing it by hand does the same, when you enter the last digit it transforms into that number, which is 0x7FFFFFFFFFFFFFFF in hex.
Funnily enough, if I paste the hex value (EFD4823541245822) and transform it to dec, it shows as the correct number, the one you can't paste or type.
So, the OSX calc looks broken too, in an even weirder way.
edit: Forgot to mention this was in programmer's view. As far as I can tell, other modes work fine.
It seems that all calculator GUI apps bundled with any OS are in some way broken. I also find many of them inconvenient, for example the OS X calculator doesn't clear when I press the backspace button (I just figured out that the C key does this...).
I just messed around with it, and it appears to treat the 64-bit word as signed, and refuses to go past 0x7FF... So I figured I'd do some subtraction, but that just always answers with the same 0x7FF... value. Weird indeed, that it allows you to access everything above 0x800... in hex mode, but not in decimal mode.
That's certainly unusual behaviour, since the parent says you can convert the value from hex to dec and it will show the correct unsigned decimal value.
One thing programmer mode really needs is a signed/unsigned option when converting between bases.
I can recommend SpeedCrunch. Free and open source, comes in an installer free (USB/portable) version, and as for checking the value of the number in the topic, simply type hex(17281580835365214242). It supports Windows as well as OS X.
I adore SpeedCrunch. I don't have fancy large number requirements but I love the interface. It works on Linux too, though I think it's an old version in the Ubuntu repository so you might prefer to download the source instead.
SpeedCrunch is great too, it was originally inspired by the WinXP PowerCalc - probably the best calculator from Microsoft: http://dan.hersam.com/2010/11/10/powercalc-in-windows-7/ (SpeedCrunch still lacks the graph rendering part, though has other features and improvements)
The biggest surprise to me is why this wasn't caught during testing - especially since testing a relatively simple app like a calculator is often used as an example of how to do testing: try the biggest numbers, smallest numbers, zero, and some values in the middle. There's emphasis on testing the extrema, since that's where bugs (like this one) are most likely to appear.
I should also mention there's another suitable replacement, the free Microsoft Calculator Plus:
It's got a horrible early-2000s skin but you can turn that off easily; otherwise it works just like the old one with a few extra features (which I personally don't find too useful.) It's strange they didn't just ship Windows with some variation of that. Ever since I was caught by the modality "feature" (decimal points and trig functions don't work in "programmer mode"!?) I've replaced calc.exe with Calculator Plus.
From the License Agreement: [1]
Installation and use. you may install and use the Software on a single computer, such as a workstation, terminal or other device, residing on your premises that is running a validly licensed copy of either Microsoft Windows XP or Windows Server 2003.
I've been told before that it's not breaking the law, just the agreement between you and the company, which could result in a civil, but not criminal case :-)
It's not just Windows. I have an enormous investment in iPhoto -- lots of curated albums with comments. iPhoto won't run in newer versions of MacOS, and Photos won't run in older ones. So I'm looking at an event horizon: once I upgrade past Mavericks there's no going back, and as long as I'm on this side of the horizon there is no way for me to know if Photos is going to successfully import my photo albums or not.
This has happened before. When Apple dropped support for Rosetta after Snow Leopard I lost the ability to run a wide variety of useful applications. I still fire up Snow Leopard in a VM now and then just to run one of those apps. (BTW, running Snow Leopard in a VM is a non-trivial thing to do because Apple's license specifically prohibits it, and Parallels enforces that restriction.)
Couldn't you try importing your iPhoto library in a VM or on another machine? I realise the situation you find yourself in is less than ideal, but there are solutions.
Yes, of course two machines would "solve" the problem. But that's an awfully expensive solution to what should never have been a problem in the first place.
As an Aperture/iPhoto/Lightroom user, there _is_ a perfectly viable way to test this out. First, find your iPhoto library, then copy it to an external drive. then, attempt the iPhoto upgrade. iPhoto libraries are self-contained, as are aperture libraries, so you can very easily duplicate folders. I suggest you run a library rebuild through iPhoto before copying it, and if you want to be extra sure, I also suggest moving it with a utility that can tell you if certain files have errors while copying. In the past, I have found Ditto to be pretty good for this.
I did this recently, as every few months I take a complete copy of my aperture library and migrate it to an external drive which I keep off-site at a friends house. He, in turn keeps his library at mine. The overall point is that iPhoto > photos is fairly trivial to test it out, and see how it works for you. (PS. this is even easier if you have enough space to just duplicate the drive in-place. If you do that, though, I still recommend library rebuild before duplicating.)
The data is not the problem, the application is the problem. I'm running iPhoto 8. I tried upgrading to 9 when it came out and it was a disaster. Now iPhoto is gone from the app store so I can't upgrade any more. iPhoto 8 won't run on El Capitan (I had to hack it to even run under Mavericks). So now my only options are Mavericks + iPhoto 8 or El Cap + Photos. Those are mutually exclusive options.
[EDIT] I actually considered moving to Lightroom, but the only way you can buy it is as a subscription so that doesn't actually solve my problem. The whole point here is that I want to be able to access my photos 30 years from now, and I don't want to have to pay rent to Apple or Adobe for the privilege.
Edit: FYI, the Lightroom database is SQLite. Also, if you do go with Lightroom, enable the side car feature to also keep the metadata along side the photo:
Yeah, my wife has a few dozen databases in apple works (she'd been using it since it was Claris works on the old Mac OS). There is no upgrade path from apple, and just got a new macbook this fall; our only option is to export as a TSV, import into bento and recreate all the forms from scratch :(
When you update your iPhone, you can't "unupdate" it, Apple after a while always deletes the certificate of all versions that aren't the current, and the installer always check the certificate before installing (this also means you cannot install iOS without internet).
Xcode, also checks the iOS version, and its own version, some versions of Xcode are tried to specific iOS versions... thus if you keep updating your iOS, you will have to update your Xcode.
For some reason, completely unknown to me, Xcode is ALSO tied to OSX version, For example Xcode 6.3 requires a OSX version more than Xcode 6.2, despite having no huge differentes between the two and Xcode 6.3 don't requiring any new OS capabilities that Xcode 6.2 didn't already used anyway.
But every time you update OSX and Xcode, not only they sometimes explicitly require a new machine model, but they also get increasingly more inefficient, using more and more RAM and CPU to do the same things.
Since right now, I am very low on money, this means I am stuck using Xcode 6.2, and trying to not misclick anything when I plug the testing devices and iTunes nag me to update them... because if I allow them to get updated, I will have to upgrade Xcode, OSX, and the entire machine, and right now sometimes I can't afford even food, affording a entire machine (specially with our currency getting completely broken and being only 25% valuable as it was supposed to when designed, comapred to USD).
And this is why I mentioned ram in first place... The 6.2 Xcode already needs 6GB to run, this already killed one disk drive (because it is constantly swapping when I am using Xcode... the drive could not handle the strain of writing constantly all the time and broke down), I am using now a already damaged drive (someone gave me a drive with theirs that on Windows don't work anymore due to excessive amount of "bad blocks", the drive still work with *nixes for some reason, so I am using it, since I can't afford a new drive anyway).
FYI, I just upgraded my MacPro1,1 from Snow Leopard to El Capitan (very non-trivial requiring a custom boot file.) I wanted to run a bunch of music software that never got past PPC, so I needed to keep Snow Leopard around. It turns out the easiest solution is to buy Snow Leopard server from Apple. Parellels and Fusion allow it to be virtualized, and it can still be purchased new from Apple for $20. Because I bought it right around Black Friday, I got it with free two day shipping. You have to call them as its not on the online store, and it helps to know the part number, but it's still for sale.
On the otherside Windows Live Photo Gallery has no vendor lock-in (maintains the file metadata) and is a superb photo management application that was introduced with Vista (similar to iPhoto/Photos/Lightroom). It stays in low maintainance mode since its Vista days (moved to Live apps bundle) and it would have a better home in the open source community. Given that Microsoft recently open sourced the related Live Writer software, there is a small hope: https://news.ycombinator.com/item?id=10706044
There is no app store version of iPhoto. You may have an old version that you downloaded before Photos was released, and it may run on El Capitan. But I'm actually running iPhoto 8, so I am completely hosed. I can't even upgrade to iPhoto 9 any more (not that I would want to, but still...)
See if you can dump all of the files that iPhoto uses to store all of this data, then write (or ask someone to write) some software that is capable of reading them. Make it open source too, do the world a favor :)
If I were going to go to all that effort I'd probably just go ahead and write my own photo manager app so I won't have this problem any more. Apple clearly has no respect for their users any more, so I have no confidence that if I do invest the effort to move to Photos that I won't end up in exactly the same situation in another five years.
- Inconsistently slow to load, sometimes "instantly" sometimes seconds.
- Cannot double click to edit a previously entered formula
- History is terrible now (not in-line, instead a different "tab" hiding the data entry controls).
- Copy/paste sucks. Cannot copy out a formula.
I understand programmers being conservative with data types, but in a freaking calculator if you're trying to save memory by not making everything 64 bit or better then you're incompetent.
In the store (https://www.microsoft.com/en-us/store/apps/windows-calculato... ) it says "Approximate size 3.07 MB - 5.79 MB", on my installation it says "368 KB" in the settings app and all "%ProgramFiles%\WindowsApps\Microsoft.WindowsCalculator*" directories are about 5 megabytes together.
RAM usage exceeds 47 megabytes with about 5 or 6 calculator windows open.
Yes, I meant ram usage. Specifically Working Set jumping above 46MB at the start of calc, and Private bytes hovering around 30MB, all for small one window app.
It makes one wonder, 47MB of what? I don't have Win10 so can't easily find out, but for comparison I do happen to have an old version of Mathematica which is command-line only, and it's a little over 7MB (considered huge at the time - it needed 6 floppies!) I doubt the Win10 calculator has anywhere near the functionality of Mathematica.
XP's calc.exe, which doesn't have all the annoying bugs mentioned in the article, is 112KB.
The worst thing is that they got rid of all the "worksheets" that the Windows 7 calculator shipped with. I'm looking at houses now, I sorely miss the mortgage payment worksheet that was built into the Windows 7 calculator.
Because then we can sell fancier software calculators?
Penny Arcade has some great quotes, but re: porting scarcity to virtual goods being 'like if the first thing God decided to create was AIDS' is my favorite.
And I regularly get mocked by my coworkers for having an HP calculator on my desk right next to my notebook. "You know windows has a builtin calculator"
There's seems to be an emulator for everything these days. This is not the point. A physical calculator (and not a touch-screen app on a tablet) has something that the surrogate doesn't.
For one thing it does not require you to do GUI context switching. It does not compete for mouse (or keyboard) with the other tens of open programs. I find this invaluable.
On the other hand, touch screens take away tactile feedback. This gives the same bland taste as the soft power-off switches.
I honestly have never run into problems involving such large numbers or at least numbers of digits, but FWIW, I really like SpeedCrunch when I need a calculator, if only because it maintains a history of inputs and results across sessions.
Still, if that used to work on older versions of calc.exe, and then they went and broke it, that is just plain stupid.
My favorite is open the "About Internet Explorer" box. Now try and select the version number. You can't. So if you want to submit a bug report to Microsoft, which needs a version number, you have to carefully manually tediously type in that 20 digit or so string.
A cool little known feature about the old Win95 (Win32API) dialogs and error messages was: one could press Ctrl + C to copy the text content.
Sadly the devs who created Windows NT, the Windows shell, Office in the 1989-1998 era all retired. And the overall high product of Microsoft products went downhill.
In 2006 with the Longhorn and WinFS debacle it was already clear that dotNet wasn't fast enough for desktop usage. Up to Windows 7 there were no dotNet desktop included, everything was in the good, trusted and fast C++. Now with development partly transfered to Microsoft India and another CEO you get a mess of UX/UI/privacy that is Win10 and WinRuntime. All the old programs with an old code base are still okay or goodm but I can't stand their newer development (written from scratch apps). Maybe it's a culture clash, maybe their QA process is wrong, maybe their vision.
This has nothing to do with Windows NT vs new versions of Windows. In Windows 7 & above you can do the same thing but it's literally only for error messages.
It should be common knowledge that Win 2000, XP, 2003 Server, Vista, 2008 Server, Win7, Win8, 2012 Server, Win10 (and XBox-OS, WinPhone8/10, HoloLens-OS, Azure cloud) are all NT based and just an incremental new version.
Not related to calculator but the Skype for business application refuses to send anything over 800 characters to the other party. Whenever I run into this (mostly while copy pasting chunks of code or long URLs to colleagues), I curse the engineers/product owners who put that stupid limitation. I mean WTF were they thinking when they put it in there anyway ? It's not a frigging SMS for crying out loud.
PS: One can right click and send the same message as a story and get upto 8k in length but that just shows how stupid the entire workflow is.
108 comments
[ 3.1 ms ] story [ 70.6 ms ] thread"Remember" is a dangerous word to use here. Memory is fragile, fallible, and stored in ambulatory meat, which is inclined to wander off between releases. Store these use cases in automated tests that run automatically on every commit. And make sure the tests clearly express the intent of the requirement, so that when somebody eventually breaks the test, they can quickly get the purpose. (If not, they'll be inclined to just delete the test.)
Perhaps they 'fixed' it since, but I trashed it anyway, now I use the real HP-16C on the desk.
23*pi/180
The Win10 calc app still takes a second or two to start up: https://www.reddit.com/r/windows/comments/3ng3f4/windows_10_...
The old Win7 calc can still be downloaded from the Win10 store: http://www.thewindowsclub.com/use-new-windows-10-calculator
I always keep an old Derive 6 around, it's still be best CAS and it's syntax compatible with the good old TI 89/92+/Voyage calculator devices. screenshot: https://upload.wikimedia.org/wikipedia/sl/9/9f/Derive_zaslon...
And the old WinXP PowerToy Calc is still good too: http://dan.hersam.com/2010/11/10/powercalc-in-windows-7/
edit: I can math
I've set up Win-P to launch a python terminal with math pre-imported for that purpose.
When I paste the number in the article (17281580835365214242) into it, it shows as 9223372036854775807. Typing it by hand does the same, when you enter the last digit it transforms into that number, which is 0x7FFFFFFFFFFFFFFF in hex.
Funnily enough, if I paste the hex value (EFD4823541245822) and transform it to dec, it shows as the correct number, the one you can't paste or type.
So, the OSX calc looks broken too, in an even weirder way.
edit: Forgot to mention this was in programmer's view. As far as I can tell, other modes work fine.
One thing programmer mode really needs is a signed/unsigned option when converting between bases.
https://bitbucket.org/heldercorreia/speedcrunch
I should also mention there's another suitable replacement, the free Microsoft Calculator Plus:
https://www.microsoft.com/en-us/download/details.aspx?id=216...
It's got a horrible early-2000s skin but you can turn that off easily; otherwise it works just like the old one with a few extra features (which I personally don't find too useful.) It's strange they didn't just ship Windows with some variation of that. Ever since I was caught by the modality "feature" (decimal points and trig functions don't work in "programmer mode"!?) I've replaced calc.exe with Calculator Plus.
Woo, Breaking the law. https://www.youtube.com/watch?v=L397TWLwrUU
1. http://imgur.com/bfOKbIf
This has happened before. When Apple dropped support for Rosetta after Snow Leopard I lost the ability to run a wide variety of useful applications. I still fire up Snow Leopard in a VM now and then just to run one of those apps. (BTW, running Snow Leopard in a VM is a non-trivial thing to do because Apple's license specifically prohibits it, and Parallels enforces that restriction.)
I did this recently, as every few months I take a complete copy of my aperture library and migrate it to an external drive which I keep off-site at a friends house. He, in turn keeps his library at mine. The overall point is that iPhoto > photos is fairly trivial to test it out, and see how it works for you. (PS. this is even easier if you have enough space to just duplicate the drive in-place. If you do that, though, I still recommend library rebuild before duplicating.)
[EDIT] I actually considered moving to Lightroom, but the only way you can buy it is as a subscription so that doesn't actually solve my problem. The whole point here is that I want to be able to access my photos 30 years from now, and I don't want to have to pay rent to Apple or Adobe for the privilege.
http://protogtech.com/adobe-lightroom/adobe-lightroom-6-perp...
Edit: FYI, the Lightroom database is SQLite. Also, if you do go with Lightroom, enable the side car feature to also keep the metadata along side the photo:
http://help.adobe.com/en_US/lightroom/using/WS638E3AC9-A04C-...
When you update your iPhone, you can't "unupdate" it, Apple after a while always deletes the certificate of all versions that aren't the current, and the installer always check the certificate before installing (this also means you cannot install iOS without internet).
Xcode, also checks the iOS version, and its own version, some versions of Xcode are tried to specific iOS versions... thus if you keep updating your iOS, you will have to update your Xcode.
For some reason, completely unknown to me, Xcode is ALSO tied to OSX version, For example Xcode 6.3 requires a OSX version more than Xcode 6.2, despite having no huge differentes between the two and Xcode 6.3 don't requiring any new OS capabilities that Xcode 6.2 didn't already used anyway.
But every time you update OSX and Xcode, not only they sometimes explicitly require a new machine model, but they also get increasingly more inefficient, using more and more RAM and CPU to do the same things.
Since right now, I am very low on money, this means I am stuck using Xcode 6.2, and trying to not misclick anything when I plug the testing devices and iTunes nag me to update them... because if I allow them to get updated, I will have to upgrade Xcode, OSX, and the entire machine, and right now sometimes I can't afford even food, affording a entire machine (specially with our currency getting completely broken and being only 25% valuable as it was supposed to when designed, comapred to USD).
And this is why I mentioned ram in first place... The 6.2 Xcode already needs 6GB to run, this already killed one disk drive (because it is constantly swapping when I am using Xcode... the drive could not handle the strain of writing constantly all the time and broke down), I am using now a already damaged drive (someone gave me a drive with theirs that on Windows don't work anymore due to excessive amount of "bad blocks", the drive still work with *nixes for some reason, so I am using it, since I can't afford a new drive anyway).
- Also won't take in 17281580835365214242.
- Inconsistently slow to load, sometimes "instantly" sometimes seconds.
- Cannot double click to edit a previously entered formula
- History is terrible now (not in-line, instead a different "tab" hiding the data entry controls).
- Copy/paste sucks. Cannot copy out a formula.
I understand programmers being conservative with data types, but in a freaking calculator if you're trying to save memory by not making everything 64 bit or better then you're incompetent.
[1] https://en.wikipedia.org/wiki/GNOME_Calculator
In the store (https://www.microsoft.com/en-us/store/apps/windows-calculato... ) it says "Approximate size 3.07 MB - 5.79 MB", on my installation it says "368 KB" in the settings app and all "%ProgramFiles%\WindowsApps\Microsoft.WindowsCalculator*" directories are about 5 megabytes together.
RAM usage exceeds 47 megabytes with about 5 or 6 calculator windows open.
XP's calc.exe, which doesn't have all the annoying bugs mentioned in the article, is 112KB.
You can resize calculator window to be wider, so history and memory tabs will became sidebar.
1. Switch to Engineering mode.
2. Paste your number
3. Press MS button to save your number
4. Switch to Programming mode
5. Restore your number from memory
Penny Arcade has some great quotes, but re: porting scarcity to virtual goods being 'like if the first thing God decided to create was AIDS' is my favorite.
For one thing it does not require you to do GUI context switching. It does not compete for mouse (or keyboard) with the other tens of open programs. I find this invaluable.
On the other hand, touch screens take away tactile feedback. This gives the same bland taste as the soft power-off switches.
Still, if that used to work on older versions of calc.exe, and then they went and broke it, that is just plain stupid.
It's ridicolously fast and lightweight for the amount of features it contains, and it's also free and open source.
Madness.
Sadly the devs who created Windows NT, the Windows shell, Office in the 1989-1998 era all retired. And the overall high product of Microsoft products went downhill.
In 2006 with the Longhorn and WinFS debacle it was already clear that dotNet wasn't fast enough for desktop usage. Up to Windows 7 there were no dotNet desktop included, everything was in the good, trusted and fast C++. Now with development partly transfered to Microsoft India and another CEO you get a mess of UX/UI/privacy that is Win10 and WinRuntime. All the old programs with an old code base are still okay or goodm but I can't stand their newer development (written from scratch apps). Maybe it's a culture clash, maybe their QA process is wrong, maybe their vision.
It should be common knowledge that Win 2000, XP, 2003 Server, Vista, 2008 Server, Win7, Win8, 2012 Server, Win10 (and XBox-OS, WinPhone8/10, HoloLens-OS, Azure cloud) are all NT based and just an incremental new version.
PS: One can right click and send the same message as a story and get upto 8k in length but that just shows how stupid the entire workflow is.