10 Second Summary
- Open Google Chrome on your computer. The Chrome icon looks like a colored ball with a blue dot at the center. You can find it in your Applications folder on a Mac, or on the Start menu on Windows.
Go to the Chrome web store. Type chrome.google.com/webstore in your browser’s address bar, and hit ↵ Enter on your keyboard. The Chrome Web store will open up to the Extensions category.
Find the Hide Twitter Guff extension on the web store. You can use the search bar in the top-left corner, or browse the extensions library and manually find this extension on the store.
- If you prefer Firefox over Chrome, Hide Twitter Guff is also available as a Mozilla add-on.
- Click the blue + ADD TO CHROME button. You will have to confirm your action in a new pop-up window.
5. Click Add extension in the pop-up. This will install the Hide Twitter Guff extension, and add it to your browser. A bird icon will appear in the upper-right corner of your browser.
- Hide My Guff automatically blocks all ads and promoted Tweets whenever you’re viewing your Twitter feed on Chrome.
- If you switch to a different browser, you will see promoted Tweets on your feed again.
- If you currently have Twitter open in your browser, clicking this button will automatically open Hide My Guff’s settings page in a new tab.
- Hiding it will remove the Who To Follow box from the top-right corner of your feed.
- Hiding it will remove the Trends box from the left-hand side of your feed.
- You may have to refresh Twitter after saving your settings to see the changes.
At Build 2017, Microsoft CEO Satya Nadella said, “The user experience is going to span all of your devices. That multi-device experience is what now needs platform capability.”
A big part of this is connecting your smartphone to your PC. Not only does this let you seamlessly move from web browsing on the phone to the Windows 10 PC, but it also enables the Cloud Clipboard, which will let you copy from one device and paste to another.
Since Windows 10 is considered a service rather than a set software products, more cross-device capabilities will be added on the fly. The first to appear is Continue On PC. How does it work? Simple. You’re browsing on your smartphone—on any browser and on either Android or iOS—and you just send the current page to your Windows 10 PC, where it opens automatically to that same page.
Continue on PC is just a taste of the multi-device cloud services promised by what Redmond terms the Microsoft Graph, which EVP for Windows and Devices Terry Myerson describes as “…an intelligent fabric that helps connect dots between people, conversations, projects, and content within the Microsoft Cloud–ensuring experiences flow seamlessly between Windows, iOS, and Android devices.”
1. Start at Settings
2. Phone Settings in Windows 10 Fall Creators Update
Here’s the Phone settings dialog. Note that you’ll be able to continue more than just browsing from phone to PC. In particular, email and other apps will also be able to make the jump from phone to PC. To get going, click on the Add Phone button. Of course, before you can do that, your PC needs to be signed into a Microsoft account.
3. Link Your Phone
The add phone dialog, as you might expect, asks for your smartphone number. Fear not, though, the number isn’t saved and is just used to send you an SMS with a link.
4. SMS Message
Here’s how the message sent to my iPhone looked, before and after previewing the iTunes App Store entry.
5. Continue on PC App
Connect to PC is the app that makes it all happen. A four-screen tutorial shows you how to complete setup.
6. Add to Share Sheet
Open the Share sheet from any app, press the More … button. Then find Continue on PC and slide its slider so that it’s green.
7. Sign In
When you first try to share to Continue on PC, you see this page for signing into the same Microsoft account that you use with your PC. You’ll only have to do this once.
Now you can send the current web page (or other app) to the linked PC. Note that you get a choice to open the item immediately or to send a notification to the PC’s Action Center. A lot of apps don’t work with Continue on PC, including Apple native apps like Photos. But any browser works, as do the Flickr and the Soundcloud apps, for example.
It’s pretty cool to launch something remotely from your phone on your PC!
Last week, Apple was left red-faced after it was discovered a bug in macOS High Sierraallowed anyone to gain root access to the system without a password. The company quickly released a security patch to fix the problem, but it also needed updating with an advisory because it could prevent file-sharing on the Mac. Now another problem has been identified, and it allows the root bug to be reactivated.
As Betanews reports, it turns out when Apple released the security patch it assumed Mac owners would apply everything in the correct order. Assuming never ends well and so further clarification was required from Apple as to how to go about applying the patch.
The patch assumed your Mac is already running macOS 10.13.1, but that isn’t the case for everyone. Some users applied the patch while running 10.13.0. Everything seems fine afterwards, but then the 10.13.1 update gets installed and the root bug is reintroduced. User wouldn’t realize this and Apple didn’t state that would happen.
Another oversight from Apple is assuming everyone would reboot their Mac after applying the security patch. If you don’t, apparently the patch isn’t applied properly and your Mac is still vulnerable.
In order to ensure your Mac is fully protected, be sure to upgrade to macOS 10.13.1 first, apply the security patch, and reboot your machine. if you have already gone through the update process and now aren’t sure if it worked or not, there’s an easy way to check. Simply visit the Apple support page for the update and follow the steps there using the Terminal app to confirm you are secure.
Apple’s AirPods have always struck me as peculiar. Not just because of the shape, which is definitely odd, but the fact that so many owners rave about their $159 earbuds, despite admitting to mediocre sound. Surely the most important feature of any headphones sold for that price is the quality of the audio?
Nevertheless, I bought a pair at the urging of several of my colleagues. Now I get it. The AirPods experience is simply delightful in ways that fiddly Bluetooth headphones have yet to achieve. They’re so lightweight that I forget I’m wearing them and they make Siri surprisingly useful. The battery also lasts forever (in wireless terms), thanks to the clever charging case that also doubles as an iPhone stand.
But the sound… I had to do something about the sound.
Vlad Savov, our resident headphone expert, will be the first person to tell you how important fit is when it comes to audio. Remember, he’s the guy that unlocked the sound of an $1,800 pair of earphones using nothing more than some tips he scavenged from the bottom of a drawer. Since the AirPods are notoriously leaky due to their open-air design, that got me to thinking: what if I could close the air gap to simultaneously block ambient noises while increasing the bass response? That’s when I found this video on the PoltergeistWorksYouTube channel:
Looks easy, doesn’t it? So I tried it. The surgery lasted about 20 minutes, but the result… the result would have been worth two hours of work. My AirPods now have bass!
I wasn’t able to find white foam covers that could be delivered to my home in Amsterdam, so I settled for black which cost me just a few bucks per dozen. They look fine as the foam disappears into the ear — not that you could really make the AirPods look any worse. The black foam is also transparent enough under direct LED lighting that I could still mark the sensor locations using my daughter’s pink sparkly nail polish. I then used a disposable lighter to heat the business-end of a tiny screwdriver meant for eyeglass repair (about 60 seconds for each hole). I wasn’t able to burn the sensor holes as cleanly as the video, having to repeat the process a few times on all but one of the holes, but I was ultimately able to achieve the desired result without my fingers getting too burnt (though the tip of my thumb used to ignite the lighter is still numb 12 hours later).
The better sound, especially at the low end, is remarkable. And the better seal in my ear makes my hacked AirPods far more enjoyable in the gym where my aggressive music tastes have to compete with music playing on the loudspeakers, and the grunts and clanking of the human machinery all around. My colleague Dan Seifert who runs The Verge reviews program hacked his AirPods last week as well. Now he says that he doesn’t have to crank his AirPods as loudly on the train.
Sure, there are plenty of aftermarket tips you can buy for just a few dollars that achieve similar results. However, none of those products — usually made from a flexible silicone — fit inside the AirPods case. That means they have to be constantly taken on and off in order to charge the buds. The hacked foam covers, however, fit inside the charger case with only a slight resistance felt when closing the lid.
Like most hacks, the results aren’t flawless. Both Dan and I have experienced times when the foam slips to obscure the sensor openings, thus defeating functions like auto pause when removing an AirPod from an ear. Features like double-tap for Siri or to advance tracks are unaffected by the hack.
All this makes me wonder why, nearly a year after the AirPods went on sale, we still can’t buy a retail version of these foam covers with precision cutouts for the AirPods’ sensors. “I’d buy a four-pack in a heartbeat instead of dealing with this DIY crap,” said Seifert in his adorable surly style. And you know what? As satisfying as do-it-yourself is, I’d have to agree.
Your laptop, phone or tablet offers the perfect medium for watching movies and other media on the go. When you’re at home, however, your big-screen TV rules the roost for a good reason. Why make do with squinting at your mobile’s cramped display when you can – with the help of our guide – hook it up to your telly, wirelessly or with cables? Read on to discover everything you need to know.
How do I connect my mobile or laptop wirelessly?
These days, it’s easier and cheaper than ever to connect to your TV wirelessly, eliminating the need for any unsightly (and awkward) trailing cables. If your flat-screen TV is a smart model with support for DLNA media streaming, then you can send movies, photos and other media files directly to it without the need for any additional hardware – just locate the right app on your TV to receive the content.
You’ll then need a suitable app for your laptop or mobile that allows you to send or stream content using DLNA. There are simple, relatively unsophisticated solutions such as AllCast for iOS and Android – this lets you display locally stored media as well as media hosted on another local DLNA server or in the cloud via supported services (including Dropbox, Google Drive and Instagram).
If you’re serious about streaming media, then a full-blown media server solution is worth considering:Kodi is an open-source solution that offers basic media server capabilities and works on everything except non-jailbroken iOS devices.
Alternatively, take a look at either Plex or Emby. While Kodi bolts on basic server features to its fancy looking front end, these put the media server front and centre. Install the desktop server component to stream content from your laptop, or purchase the appropriate mobile app if you want to use it with your phone or tablet.
What wireless device can I plug into my TV to stream media and mirror my display?
If your TV isn’t smart enough – or you want to be able to mirror your device’s display on your TV – then you’ll need to purchase a smart box. There are two main choices here, both of which plug into your TV via a spare HDMI port. If you’re exclusively wedded to the Apple ecosystem, then the Apple TV 4K allows you to stream media as well as mirror your MacBook or iOS mobile’s display on the big screen.
Alternatively, Google’s Chromecast is cheaper, and works across a wider range of devices –Windows, Linux and Android as well as Mac and iOS. You can stream media from your mobile using a range of supported apps, and you’ll be pleased to learn that both Emby and Plex are supported.
Chromecast works on laptops via the Chrome web browser and Google Castadd-in. Once installed, click the Cast button to the right of the Address Bar to choose what to cast and where. By default, the contents of the current tab will be sent to your TV, so if you’re looking to stream media you can do so by accessing your server’s web-based UI through this tab – it’s 127.0.0.1:32400/web/ in the case of Plex for example. Any media you subsequently play back on this tab will then appear on your TV.
Click the down button to the right of ‘Cast this tab to…’ and you’ll see two further options: ‘Cast this tab (optimise for audio)’ is for playing music through your TV, while ‘Cast screen/window (experimental)’ is there should you wish to mirror all or part of your laptop’s display. Once selected, you can choose to display a selected application window or your entire desktop on your TV.
What do I need to physically connect my laptop to my flat-screen TV?
If you’d prefer to go down the cabled route, all flat-screen TVs offer at least one HDMI port, as do practically all non-Apple laptops that have been manufactured in the last eight years – HDMI is the best solution as it supports both audio and video (HD and beyond). All you need therefore is an HDMI cable to connect the two.
You could spend a small fortune on expensive HDMI cables, but the truth of the matter is that for HD video transmitted from your laptop, any HDMI cable will do. You can buy perfectly functioning, gold-plated cables for under £5 (and as little as £2) from the likes of Screwfix, Maplin or Amazon.
How do I connect my MacBook to my flat-screen TV?
The latest MacBook models require a USB Type-C adapter to connect them to your TV. Apple provides a Digital AV Multiport Adapter, but if you want a simple USB-C to HDMI connection at HD quality, you can get away with a more affordable Anker USB-C to HDMI Adapter.
MacBook Airs and MacBook Pros ship with Thunderbolt ports that double up as Mini DisplayPorts. This allows you to skip right past adapter to simply having a USB-C to DisplayPort cable. Just make sure it supports 4K resolutions like the Cable Matters USB-C to DisplayPort.
What cables do I need for older laptops and TVs?
If you don’t need HD video – you’re connecting up to an older CRT television, for example – then the best option is to use the S-Video port. It doesn’t provide High Definition (HD) quality, and only carries the video signal, so you’ll also need to hook up a separate audio cable – typically from your laptop’s 3.5mm headphone jack – to the audio inputs on your TV.
Your TV will need one of two things: either separate S-Video and phono audio ports, typically found on the front of the TV, or a SCART socket found on the back. You’ll then need to purchase an S-Video cable of suitable length along with a separate audio cable. If necessary, purchase a SCART adapter to connect both sets of cables to your TV.
What’s the alternative to S-Video?
As analogue technologies become depreciated, modern laptops increasingly ship without an available S-Video port. If this is the case, you’ll need to use the laptop’s VGA port instead. This is a practical solution if your flat-screen TV has a VGA port included – a standard VGA cable coupled with an audio cable (see above) will be sufficient. You may even be able to view HD content this way.
If you’re trying to hook up to an older analogue TV, however, then it becomes less feasible. You’ll need an expensive VGA to TV Converter box that costs almost as much as a budget HD Ready 19-inch TV with the required VGA port built into it.
How do I connect my laptop to my TV?
Connecting your laptop to your TV with the right cable is often only half the battle. You also need to switch your TV to the correct input, plus configure your laptop or MacBook to re-route its display through the TV. This may happen automatically, but if it doesn’t – or you want to configure the display differently – read on.
PC laptop users should be able to cycle through the available display options using a special function key in conjunction with the [Fn] button. Keep pressing this to cycle between laptop display only, TV only, and laptop and TV together. Alternatively, right-click the desktop in Windows 7 or 8 to select screen resolution; from here you’ll be able to manually detect and select your TV’s display.
MacBook users can configure the display via System Preferences: select Displays followed by the Arrangement tab (click Detect Displays if it’s not present). Tick Mirror Displays to put your TV perfectly in sync with your MacBook’s display as opposed to acting as an extension of it.
QR codes can be used for a lot of things – website links, coupons, tickets, and contact information, just to name a few – and scanning them using your iPhone or iPad couldn’t be easier.
Apple has built QR Code recognition into its camera app, which means all you need to do is open it up and point it at the code in question.
You’ll then get a notification appear on screen, promoting you to action the link the QR code points to – a quick tap on this and you’ll be taken to the desired location, usually within the Safari web browser.
How to scan a QR code on iPhone and iPad
Step one: Open up the camera app on your iPhone or iPad
Step two: Hold the device’s camera up to the QR code
Step three: No need to hit the shutter button, your iOS device will automatically recognize the QR code and provide you with an on-screen notification. (Make sure you have mobile signal or you’re connected to Wi-Fi.)
Wallet app can scan QR codes on iPhone and iPad
There’s also a built-in QR reader in the Wallet app on iPhone and iPod. To access the scanner, open the app, click on the plus button at the top of the “Passes” section, then tap on Scan Code to Add a Pass.
From here, you can scan QR codes for coupons, boarding passes, tickets, and loyalty cards, but only for the specific things that Wallet considers “passes.”
If you try to scan any other QR code, you’ll get an error message.
If you don’t fancy either of the above two methods, you can also head to the App Store where you’ll find a wide selection of free QR code reading applications.
A pretty major security flaw has been found in macOS High Sierra, which allows people to log into a Mac running the latest operating system by simply using ‘root’ as a user name, and not having to enter in a password.
Worst of all, logging in with this account gives the user full admin rights, which means they can change system settings, and potentially wreak havoc on the Mac.
Update: Apple has now released a fix for this update, so you should implement it immediately. To do this open up the Mac App Store and click on ‘Updates’. Select the security update (2017-001) then click ‘Update’. You may also want to follow the steps listed below to make sure you have a root account with a password you have set.
How to change the root password in macOS High Sierra
First of all, open the Apple menu by clicking the Apple icon in the top-left hand corner of the screen, then click on ‘System Preferences’.
From there, click on either ‘Users & Groups’ or ‘Accounts’. You should see a padlock icon. Click it, then enter in the name and password for your administrator account. Click ‘Login Options’ then ‘Edit’.
Next, click ‘Open Directory Utility’, then click the padlock icon in the window that appears. You’ll need to enter in your administrator name and password again, then open the menu bar in Directory Utility and click on ‘Edit’ then ‘Change Root Password…’
Now, choose a password for the root user account. It’s worth making this an easy to remember – but hard to guess – password. The root user account is an incredibly powerful account, so you don’t want most people being able to log into it.
Using a VPN is a great way to unlock websites and maintain your online privacy, but even the very best services are likely to reduce your internet speeds.
Some level of performance hit is to be expected. A VPN is routing your traffic through an extra server, maybe half way around the world, and encrypting and decrypting it along the way. That’s very likely to slow you down.
Individual services might have additional problems of their own. If you sign up for a budget VPN with a huge number of users, overloaded servers and no spare bandwidth, speeds are going to suffer.
You don’t simply have to live with this state of affairs, though, and there are ways to boost the initial performance levels you might see with a VPN. And to that end, we’ve put together eight ideas that could help you squeeze out a little extra speed from your VPN connection.
1. Choose another server
Connecting to your nearest server will usually offer the best performance, but there are occasional exceptions. If your server is in a popular location, such as London, it could be overwhelmed by traffic from other users, and you may get better speeds from other locations.
Don’t trust your client to choose the fastest server, either. Many VPN apps have ‘Quick Connect’ buttons which claim to pick the best server for you, but we’ve seen these make spectacularly bad decisions, including connecting our UK test location to the US rather than Europe.
The best approach is to test servers in your current location and several neighbouring countries. Don’t be put off by your client showing higher ping times or latency – that doesn’t necessarily mean download speeds will be lower.
For example, we’ve found that cities in the Netherlands or France will typically show twice the latency of our closest UK locations, yet download speeds can be almost identical, and occasionally faster. Even Swedish servers have been good alternatives to the UK with some providers.
There are no fixed rules and your experience may be different, but try a few nearby servers anyway. You might be surprised at the results.
2. Refresh your system
If speeds are notably worse than unusual with several servers, the problem could be closer to home.
Check your network traffic. Do you have any other apps using your internet connection, or are other devices connected to your router? Close down or pause whatever you can. The more bandwidth they’re hogging, the less is left for you.
Give your system a thorough refresh and reset, too. Close down your router and devices (that’s a full shutdown where you close all open applications, not just turn the device off). Restart your router and wait for 60 seconds, then restart your devices. This may free up some RAM and restore a few system resources, perhaps improving your speeds.
3. Switch protocol
VPN clients and servers communicate using a protocol which defines how the devices connect, and the level and type of encryption used.
Most servers use the OpenVPN protocol for its strong security and high performance, and this should be your first choice in most situations. Check your client settings and if you can select a protocol, choose OpenVPN.
OpenVPN may be restricted or throttled on some networks, and if that’s the case, switching to an alternative may solve the problem.
L2TP/IPSec is probably your second-best option. Its 256-bit encryption does a reasonable job of keeping you safe, although it does have some potential security issues .
SSTP is a highly secure protocol developed by Microsoft. It’s closer to OpenVPN in security terms and unlikely to be much faster, but if it’s an option with your client (and it usually isn’t) you might want to give it a try.
PPTP is your simplest choice, but it’s also extremely insecure, with a host of security issues leaving it vulnerable to hackers. The protocol might help with simple tasks, like streaming YouTube on the library Wi-Fi, but don’t use it for online banking, shopping or anything where there’s any need for security or privacy.
4. Tweak protocol settings
If your chosen protocol isn’t delivering the speeds you need, tweaking its settings could help.
OpenVPN can run over the TCP or UDP protocols. UDP is the simplest and would be our choice for performance. But TCP’s built-in error correction improves reliability. If you’re having connection problems, switching to TCP could make sense.
By default your OpenVPN client will connect to a server using port 1194. That normally works without any issues, but some networks might block or throttle that port, reducing performance.
If your client allows it, try switching to port 443. That’s relatively safe as it’s the default port for HTTPS, and most networks will leave it alone.
Some VPNs try to address these issues with their own protocols. VyprVPN says its Chameleon protocol “scrambles OpenVPN packet metadata to ensure it’s not recognizable via deep packet inspection” and that it’s “ideal for users worldwide experiencing VPN blocking and speed issues related to bandwidth throttling.”
These technologies are often complex, adding extra layers to OpenVPN’s 256-bit protocol and reducing performance for most users. But they can make a huge difference for users on networks that are attempting to block or throttle VPN use, and they’re well worth trying.
5. Use a wired connection
Wi-Fi is hugely convenient, but speeds can be unpredictable, especially when your neighbour’s wireless networks all start competing for the same channels.
If you have the option, try using a wired connection. There’s less contention for bandwidth, the maximum speed will probably be higher and performance should be more consistent, too.
Having both wired and wireless connections can cause odd network access issues in a small number of situations, for example if they have different DNS settings. If you experience any problems, try temporarily disconnecting from your wireless network for just long enough to run any wired tests.
6. Try split tunneling
By default most VPN clients send all network traffic through the encrypted tunnel. That’s simple and ensures there’s no chance of any identity leaks, but it could also be an unnecessary drain on your VPN bandwidth. If you only need a VPN to unblock a video streaming site, for instance, why route your browsing, email and everything else through the same connection?
Split tunneling gives more control over the applications that use the VPN tunnel. At its simplest, you could pipe your browser traffic through the VPN to facilitate site unblocking, while allowing everything else to use your regular connection. Reducing VPN traffic may improve speeds, while allowing other apps to work outside the tunnel reduces the chance of conflicts (you won’t have local network access blocked while the VPN is active, for instance).
If you’re interested, check your VPN client to see if there’s split tunneling support. ExpressVPN, ibVPN, PureVPN, Ivacy and a few others all allow the feature, although they implement it in very different ways. PureVPN’s is one of the simplest implementations, as this blog post explains.
7. Use a different client
Using a VPN provider’s own client is the quickest and easiest way to get started, but these apps are often very basic and they won’t always give you the best results.
OpenVPN is the most powerful option, giving you access to many features and settings you won’t find in bundled apps, but it’s also more complicated as you’ll have to set it up manually. Check your VPN provider’s support site to see if it has any setup guidance, or explore OpenVPN clients for Android, iOS, Windows and more.
SoftEther is a highly configurable open source client with a host of innovative features. VPN providers are less likely to have setup guides for this, but experienced users won’t take long to figure it out. Take a look at this HideIPVPN page to get a feel for what’s involved.
8. Try another VPN
Stuck with poor performance, no matter what you do? Maybe the problem isn’t your current VPN, but your device, network, ISP or something similar.
One way to test this is to try another VPN. This won’t always tell you much, especially if the new VPN is already slower than the first, but if you’re suffering with extreme problems – can’t connect here, sluggish speeds there – it may give you a clue as to the cause.
Some VPNs make life simpler by allowing users to sign up without any credit card details at all. CactusVPN gives you 24 hours for free, ideal for some quick testing.
If you need more time, consider a service like ProtonVPN Free. Speeds can be decent for a free service, and if nothing else, it’s handy to have around as a free backup.
Just one warning here: some VPN clients can become confused if you install multiple VPNs on your system. Sometimes VPN providers include a Repair option to reinstall their drivers, but if that doesn’t work you may have to reinstall the full client to get it working.
If you read just one of these best programming books this year you’ll be a step ahead of nearly everyone around you. That’s because, according to Steve McConnell, the author of Code Compete, one book is more than most programmers read each year.
Back in 2008 author, blogger, software engineer and creator of Trello made this bold statement:
Programmers seem to have stopped reading books. The market for books on programming topics is minuscule compared to the number of working programmers. Instead, they happily program away, using trial-and-error. When they can’t figure something out, they type a question into Google.
Does this sound like you?
While search engines and community forums like Stack Overflow are indispensable, there’s no way you can obtain the same depth of knowledge and perspective as you get from reading books.
The best types of programming books are ones that don’t just tell you how, but explain the why behind it. They don’t just teach you about specific languages or how to code, but how to think. They stand the test of time and will help you become a better programmer, whether you are just starting out or have been in the industry for 30 years.
Without further ado, here is the list of the top 8 best programming books to read if you want to set yourself apart and become a coding powerhouse.
1. Coders at Work: Reflections on the Craft of Programming
If you’re curious about life as a programmer than Coders at Work is the book for you. It’s packed with interesting interviews from 15 accomplished programmers and computer scientists including Joshua Bloch, Peter Norvig, Donald Knuth, Ken Thomson, and Jamie Zawinski. The author, Peter Seibel (a programmer turned writer), got interviewees to open up about the famous projects that they worked on and the inspiring stories behind them. Coders at Work gives a peek into what makes some of the greatest programmers tick and how they think. Definitely a must read!
2. Code Complete: A Practical Handbook of Software Construction
Steve McConnell’s Code Complete is considered to be the encyclopedia of practical coding and a must-read for any professional programmer. And, it’s easy to understand why – it’s a massive piece of literature at 900-pages, but each chapter is packed with suggestions and techniques to improve everyday programming and construct code that is readable and easier to manage. McConnell has a knack for presenting his material in a story format that makes the book easy to read and even entertaining. No matter what level you’re at, Code Compete will undoubtedly change the way you think about and write code.
TIP: If you don’t have time to read the book in its entirety, flip to the last three chapters since it serves as a resource guide. From there, you can read through whichever chapters you want information on. Skip the Kindle edition and opt for the print copy since chapters are easier to reference.
3. The Mythical Man Month
The premise of this book is built on the fact that computers change, but people don’t. The Mythical Man Month is a programming classic that discusses the human elements of software engineering. Even though the book was written 30 years ago (first published in 1975) it’s stood the test of time. Why? Because building things, including software, has been as much about people as much as hit has been about materials or technology. If you’re aspiring to become a project manager, this book will help you understand things that can go wrong in software development and will give you practical advice or working with, organizing and managing teams.
4. Don’t Make Me Think, Revisited: A Common Sense Approach to Web Usability
If you’re going to read a book on usability make it this one! Don’t Make Me Think is a great resource for any web developer who want to create websites, mobile sites or mobile apps that are much easier to use. The book is loaded with helpful information that’s presented in a clear and concise way that could be understood by both technical and non-technical audiences alike.
5. The Pragmatic Programmer: From Journeyman to Master
Another oldie, but goody, that continues to stand the test of time. The Pragmatic Programmer is a collection of lessons and recommendations for software developers. The book contains a set of numbered tips, about 70 of them, which are collected on a single tear-out card situated in the back of the book. The tips alone might seem obvious, but they contain some surprising dimensions that will help strengthen your programming career and hone your craft!
6. Clean Code: A Handbook of Agile Software Craftsmanship
Poorly written code can bring a project to its knees, which is why developing great code is so important! In Clean Code, “Uncle Bob” Martin shares tips and examples on how to create better code. The book dives into the principles and best practices of writing clean code, and also presents increasingly challenging case studies presented that challenges readers to think about what’s right with the code, and what’s wrong with it. While examples in Clean Code are given in Java, but is applicable to nearly all programming languages.
TIP: Read Clean Code after getting through Code Complete since it deals with some of the same topics but at a higher level.
7. Programming Pearls
This is a classic book for newbies that teaches the basics of solving problems. If you work through the problems on your own (without looking ahead) you’ll learn a lot and be a much stronger programmer with a deeper understanding of algorithms and algorithm design.
8. Cracking the Coding Interview: 150 Programming Questions and Solutions
This is one of the go-to books for programming interviews if you’re looking to land a gig at a top company such as Amazon, Apple, Facebook, Google or Microsoft. As the title suggests, the book contains 150 programming questions that you might encounter at interviews, and then breaks down how to solve them. The remainder of the book focuses on non-coding aspects of the interview process such as interview prep, resume prep, behavioral prep, etc. Definitely one of the best programming interview books out there. Another good prep book is Introduction to Algorithms , which is considered to be the “bible of algorithms.”
9. Soft Skills: The Software Developer’s Life Manual
For most software developers, coding is the fun part. The hard parts involve dealing with clients, peers, and managers, staying productive, achieving financial security and so on. This book covers everything-else-apart-from-coding ranging from career, to personal branding, blogging, learning, teaching, finances, and even fitness and relationships.
Bonus Book: Zero Bugs and Program Faster
The author of Zero Bugs spent two years researching every bug avoidance technique she could find. This book contains the best of them! It includes useful tips and techniques, and presents information in an easy-to-digest way and brought to life with stories and metaphors that make it a really enjoyable (and memorable) read.
Have any other “must read” books that you would add to the list? Share!