It’s Time to Cut the Cable
Since a few years I am trying to get away from the Cable Providers a little bit at a time. Initially I started using MythTV to get ride of the Commercials but unfortunately it takes way too much time to keep up to date, MythTV dropped the support for my TV card and it did not accomplish my goal. When the new AppleTV started to be sold I decided to dump MythTV and use AppleTV instead. Then I moved ahead and signed up for Netflix.
As of now I still need a Cable Provider because my kids want to see their shows and my wife want to see the local news. That said I am hoping that Netflix can ramp up their streaming offerings where eventually I can cut the cable and fire my Cable Provider. It is not only the money but I don’t see what service they actually provide to me that justifies the amount I pay. I know they need to pay royalties but then they don’t pay anything to PBS stations. They intentionally create the packages so that I have to buy way more than I actually need and they don’t want to provide a la carte selection of channels. Soon, I hope, the time will come where I can tell them to go to hell and take their outdated, consumer unfriendly system with them.
Since my kids took over the TV I did rarely watch any TV. Not only did all the TV series I was somewhat interested in either die or got so unbelievable stupid that I found playing games way more interesting. I think our family can live without the local news but my kids and my wife need to be able to watch their shows and they should either be easier to access or they should cost no more in total than the cable company.
Netflix streaming is not there yet but I hope it will be soon. That said considering that streaming plus 3 DVD out at the same time costs only $20 per month it still would save us $60 per month if we would ditch the Cable Provider. That would mean I could either buy some movies from iTunes or an entire series season from iTunes per month.
Well, I guess that my Cable Provider’s future in our home is in serious jeopardy and might be cut short soon.
– Andy
Halo Reach: Exodus with nearly All Skulls On On Legendary
Through the Halo Reach Daily Challenges I rediscovered the site of Tyrant which has a nice video walkthrough of Halo Reach with all Skulls on. This week the weekly challenge is to do Exodus with all but the Blind skull on. This makes it easier to handle because one knows the health status, sees the reticle and one sees the status of the jet pack, active camouflage or armor lock. Tyrant’s walkthrough is done with Blind on so it is easier to do in the challenge. So if you want to know how to beat it then use Tyrant’s walkthrough and I am not going to repeat it here. That said I want to give some additional hints that you maybe miss if you just look at Exodus.
When you start Exodus with all but Blind skulls on then you want to keep the following in mind:
- If you die, and you will, you can quickly hit Menu and select Save and Exit. If you restart the game you jump back to the last checkbox without having died
- If you die and you missed that short window (a few seconds) and the mission restarts you have to shut off the XBox otherwise you save the game when the mission starts. That said you loose any progress from the last saved checkpoint.
- In order to prevent to loose too much in the case you missed the Save and Exit time frame you should Save and Exit the game from time to time. This is also important if you start a new segment and you might end up in a situation w/o ammunition or other very difficult situation where the only way out would be to shut off the XBox.
- If you never tried this you might want to do it without Iron skull on because then you don’t need to Save and Exit too many times which speeds up the process a little bit.
- Be patient, make your shots count, crouch often and early. It is advisable to adjust your settings so that you can toggle between crouching and standing instead of keeping the stick pressed. But then again you need to adjust your muscle memory to avoid sticky situations.
- Conserve your ammo. “Count” the shots it takes to take out an enemy. This is important for high-value weapons like the DMR, the needler etc.
- Take cover early and often and peek just over the cover to take the shots. The shield only replenishes with melee and health only recovers 3 bars on each side from the lowest settings.
- In order to replenish you health with a Health Pack you need to have reduced health. You can stand in from of a HP and shot an overcharged Plasma gun or you can throw a grenade at a wall but just don’t die with that. Then you can pick up a HP while you have reduced health. Note: that the HP also replenishes the shield.
Now when you playing Exodus this is what you should consider:
- At the beginning get up to catch the Magnum rounds and then move quickly down the boardwalk. You don’t want to wait too long because the Skirmisher in the first fight would leave and you would need to use you Magnum rounds to fight the suicide Grunts right afterwards. If you kill on Skirmisher you can use its Plasma gun to kill the Grunts w/o using any Magnum rounds.
- After you called the Elevator on the Traxus tower head back to the first Kiosk and hide behind it. If you are lucky all brutes including the ones with the Gravity Hammer pass you by. But then they are a pain in the neck to find. If that happens stay on the lower level and use the sniper rifle to look for them. Also listen for any sound they make. If you hear them but cannot see them head back to the Kiosk and start all over again. Be aware that they throw grenades like crazy so you don’t have much time to kill them if they are close. The sniper rifle is pure gold to take them out. The second one with the Gravity Hammer maybe come down as well but can also be stuck near the Elevator. Slowly move forward until you know where he is.
- To fly from the New Alexandria root top to the landing pad on the other side I used the following tactic. Use long burst to go high (so hight that your are out of bounds) rather than short bursts but don’t empty the jets before you reached the other side.
- After you killed the big Kahuna inside the landing pad building you need to jump / jet up to the 3rd level immediately. Beside the fly over that was the point were I died the most times and there is no Checkpoint there until you finished off all the enemies.
- Here I would suggest to save the rockets for the Brute with the Gravity Hammer. Take out all the enemies inside the building and as many as you can take out on the landing pad. Make sure there is no Grunt around with the Fuel Rod Gun which would be a deadly mistake. If the Brute with the Gravity Hammer is the only one left inside the building take the Rocket Launcher and jump down to the second level. Expect some other enemies and if kill them or jump back up. If it is clear then engage the Brute and kill it with the Rocket Launcher (2 rockets should be enough). Then jump back up to the 3rd level and evaluate where the rest or your enemies are. BTW there is some ammunition on the other side of the building behind the 2nd crate. Not sure what happens when you jump out there so I wouldn’t try it until you are out of ammunition.
- Anytime you need to run quickly after you activated a button (calling the Elevator or activating the second Anti-Air canon) you should Save and Exit the game. If you get stuck but hit an checkpoint you might be stuck there forever and that would suck.
- Finally on the last run I was in a tight spot because after I activated the 2nd anti-air gun I lost some precious time. So when I came to the stairs I did not use the Moongoose to go up the stairs but exited at the bottom, activated the Active Camo and then hit up the stairs. If not the Grunts might see you can kill your Active Camo making you an easy target. When you are up to the table make sure you activate the button. If you activate it then the screen with get dark immediately otherwise you missed that and you need to retry right away.
Have fun and Enjoy that Challenge
– Andy
Unit Tests with iOS and XCode4
Since nearly 1 year I am developing iPhone applications but until last week I never found time to write and run unit tests even though in XCode4 it asks you if one want to include unit tests into the App. But it was just a question of time until I have to start using it. So one of my Apps started to fail over and over again because the web service calls either changed or just did not work. This became very tedious because I had to go through a ton of log files to figure out what didn’t work. Thus it finally was time to invest the time to create the unit tests so that the API is tested with little effort and I have a quick result on what is broken.
As usual the road to bliss was plastered with stepping stones, pitfalls and some frustrations which made it more difficult that expected but it did not prevent me from reaching my goal. These are the steps I had to take to make it work:
- If not already done create a new file of type Object-C test case class
- To begin with write a simple no-op test method with a NSLog statement so that you know when it is executed
- Go to the Project Configuration, select the test target, select all on the top and look for the group Unit Testing. There you set Test after Build to Yes.
- On the top left select the XXXTest schema and click on run
- To check the log please go to the log navigator (command-7) and select the top most log entry
- Inside there you look for Run custom shell script, select that row and hit the staple icon on the right. This will open the log view below.
- Now you can see if the test was executed
So far we made the test execute but if we try to test any of our classes we probably fail with a linker error. This is because XCode4 per se does not add any regular classes into the test environment except we already did that when adding the class to XCode. That said we can do that easily:
- Go back to the project configuration
- Select the test target
- Click on Build Phases
- Select Compile Sources
- Now we can add any implementation class file that we need to run the test. Please don’t add headers to this list (.h files)
- We might to repeat this a few times until we get all the necessary classes in
Now we can start writing tests that uses the classes we have. For now I only tested non-UI classes and I had to go ahead and use a switch in some of the classes to not use UI components otherwise the test would fail. I am not sure if there is a way to test UI components in the unit tests. On the bright side this forces developers to separate UI and service code more thoroughly which is not a bad thing either.
Cheers – Andy