Tag: Google

  • How AI will transform Learning and Hiring in Software Development

    How AI will transform Learning and Hiring in Software Development

    The era of Google

    I remember my time as a student back in 1999: a new search engine, Google, was starting to edge out AltaVista and Yahoo — both of which dominated the Internet search landscape throughout the 90s. It was an exciting time for Computer Engineering, as open-source software like Linux was gaining traction in Enterprises. Microsoft and the Java ecosystem were also equipping us with powerful IDEs like Visual Studio, JBuilder, and IntelliJ with features like code completion. Yet, despite these advancements, we still relied heavily on books as primary sources of information. Exams were still handwritten, even for coding: we memorised library functions and syntax, despite having access to the Internet and some fairly advanced tools.

    Our schools insisted on handwritten code and taught us programming using Notepad instead of IDEs. At the time, student laptops were underpowered, and IDEs were huge memory and CPU hogs, running painfully slow. Despite the inconvenience, students like me made every endeavour to set them up, knowing the efficiencies they offered.

    Today, this all sounds ridiculous. With modern IDEs, who would memorise hundreds of function calls or API structures? I actively work across multiple programming languages and frameworks and use countless DevOps tools and certainly can not memorise everything; perhaps it’s age, but it’s nearly impossible to keep all these details in my head.

    The rise of AI

    Twenty-five years on, the world is vastly different, but education systems still lag in adapting to technological shifts. Educators remain cautious about how AI impacts academic integrity and the assessment of written or coding assignments. While AI use isn’t necessarily discouraged, it’s also not fully encouraged; students are however already using AI, much as we once turned to Google and IDEs in place of traditional textbooks.

    For Software Development, AI coding assistants are here to stay, yet they’re unlikely to replace Software Developers soon — especially those who leverage AI-enabled tools. There are stories of startups built by non-technical founders using AI-generated code, but the actual efficacy of purely AI-driven development remains unproven. 

    So, what should we teach students, and how should we evaluate professionals?

    Educational institutions and hiring managers must rethink how they assess skills in this new landscape.

    Developing Strong Fundamentals

    AI models today, especially large language models (LLMs), are not infallible. They can produce erroneous or nonsensical responses. Strong foundational knowledge enables students and professionals to evaluate AI outputs critically and refine prompts to achieve the desired results. From my experience with students using AI-generated code, those lacking fundamentals struggle to interpret the code correctly and often can’t integrate it with existing codebases. For instance, AI models can generate verbose scaffolding or unnecessary details that may disrupt the intended functionality. Without solid fundamentals, these additional complexities create confusion instead of clarity.

    Cultivating Critical Thinking

    Critical thinking is crucial for discerning when and how to use AI solutions effectively. Humans bring valuable contextual knowledge to problem-solving — something not easily available to AI. Tackling complex real-world problems often involves navigating nuances such as geographical, cultural, and political factors. As a simple example, a form with “first and last name” fields may not be culturally appropriate in some countries, especially in parts of Asia where such naming conventions are uncommon. While an AI model might “know” this in theory, it often requires a user’s insight and critical thinking to specify it in an AI prompt when generating a form.

    Mastering Communication

    Although AI can generate well-structured text, effective communication remains a uniquely human skill. Communication goes beyond words to include emotional intelligence, empathy, and cultural sensitivity. AI may one day grow up with us and learn every little bit of detail of our lives (it is a scary thought, but absolutely possible future) but it won’t easily replicate the nuances of face-to-face interactions, emotional cues, or the subtleties involved in team dynamics. Communication skills, therefore, remain vital for collaborating with others and expressing complex ideas in ways that are both clear and motivating.

    Conclusion

    As we move forward, Software Developers will still need to synthesize large amounts of information before even engaging AI. We may no longer need to memorise every technical detail or write every bit of code, but we’ll still need a robust foundation to understand, prompt, and critically evaluate AI-generated responses. AI is reshaping learning and hiring, but the fundamentals of understanding, thinking critically, and communicating effectively will remain core competencies in software development for the foreseeable future.

    This article was also posted on Medium.com:
    https://medium.com/@detach8/how-ai-will-transform-learning-and-hiring-in-software-development-642e3d678cc5

  • IPv6 over IPv4 (6to4) all up and working

    Yes, I’ve set myself out to learn IPv6. I thought it was simple – or at least with my understanding of IPv4. I was completely wrong! IPv6 has a much more complicated addressing scheme and “rules”. It requires a change of mindset for a start. The worst part? Getting it all to tunnel through IPv4 when you’re running dynamic IP.

    Anyhow, I’ve got my Linux (CentOS 5) box working and my home network is now “IPv6 ready” (hooray!) but I’m still tweaking the settings so I’ll update the technical stuff later.

    Some little bits about IPv6 I’ve learnt so far is that DHCP servers aren’t really required anymore. Interfaces can self-assign an IP based on their MAC address and this will be almost certainly unique (since MAC addresses are unique). Even in a controlled network, the interface would assign it’s own address.

    Meanwhile, here’s my traceroute to ipv6.google.com. 😀

    traceroute6: Warning: ipv6.l.google.com has multiple addresses; using 2404:6800:8005::63
    traceroute6 to ipv6.l.google.com (2404:6800:8005::63) from XXXX:XXXX:XXXX:1:217:f2ff:fe40:3848, 64 hops max, 12 byte packets
    1  XXXX:XXXX:XXXX:1::1  0.534 ms  0.392 ms  0.410 ms
    2  2002:c058:6301::1  199.142 ms  199.858 ms  199.485 ms
    3  2001:470:0:13b::1  201.157 ms  200.728 ms  198.965 ms
    4  2001:504:d::1f  197.870 ms  199.858 ms  199.927 ms
    5  2001:4860::1:0:21  290.454 ms  203.619 ms  264.787 ms
    6  2001:4860::1:0:77d  220.451 ms  220.804 ms  436.060 ms
    7  2001:4860::1:0:75  511.964 ms  511.896 ms  320.166 ms
    8  2001:4860::1:0:16  703.447 ms  399.187 ms  624.945 ms
    9  2001:4860::2:0:119c  511.687 ms *
    2001:4860::2:0:119b  529.863 ms
    10  2001:4860:0:1::e3  403.409 ms  517.593 ms  400.969 ms
    11  * * *

    Hop 11 seems to have packet filtering and dropped my traceroute.

    I’ve also masked my internal LAN IP to XXXX:XXXX:XXXX otherwise somebody could connect back to my LAN segment. I haven’t had time to figure out the firewall yet. But you can say this is the beauty of IPv6. With a 128 bit address space, every machine has a public routable address.

    Once I have my home network all ready I will begin transitioning all my servers to IPv6. Embrace technology.

  • The Business of Search and Advertising

    Phew. I’m finally back from graveyard work, showered and waiting for my hair to dry. I’ll blog while my memory’s fresh. If I go to sleep now, I’ll wake up with only half of what I was thinking the night before.

    Chewy gave a very interesting talk at NUS today. It gave me new perspectives of the CPC/CPA advertising scene but I have my thoughts decided to blog them so everybody can discuss. I’ll be sending Chewy an e-mail so he can comment as well.

    I totally agree that search is a place where money can be made. When Google went offline for two hours in the middle of last year, the Internet literally died together with them. Imagine the world without search today. (Food for thought.)

    The local consumer industry’s probably not as competitive as in the US, but they certainly have found ways to suck your money without the need to spend more money on advertising. I mean, as a business, isn’t that fantastic? 😛

    I think Singapore’s a weird economy. Here’s why I think so:

    We don’t really have much choices. When Chewy said that Singapore’s the richest country in Southeast Asia, well, maybe we are in terms of raw GDP per capita, but I’m not entirely sure if we’re equally rich when taking real costs of living into account. The way PPP is calculated just isn’t fair. I mean WTF is a Big Mac Index? It’s almost like a currency conversion against US$! PPP needs to take into account other living standards and not just a “basket of goods” plus a Big Mac — stuff like a house or a car for example. It’s not like in the US where I could choose to live far out and buy a house cheap, I don’t really have a choice! Punggol is as far as you can get! Half a million for a HDB flat? Forget it!

    We’re materialistic. So when Chewy brought up the point about Taxi queues, I’m not surprised. It’s a matter of how people perceive the value of money. I’m sure there are times you think to yourself, “OK, I can afford to wait. I don’t need to spend $3. I’ll stand in line.” Singaporeans are a materialistic bunch of people who’d rather spend money on goods for showing off than for services that convenience them.

    We’re suaku. I tune in to News Radio 93.8 when I drive and there’s this programme called Talk Back or something like that where people call in and debate some topic, like “do you think Taxis are expensive in Singapore?”. Sometimes it just drives me nuts listening to what people complain about here. I can only conclude that we’re very suaku.

    That much about what I think is the state of Singapore’s consumers, I’ll move on to the part on advertising.

    The current CPC/CPA advertising does indeed encourage competition, but this type of advertising (price war) is unhealthy for businesses. It turns consumers away from the real value of a product (or brand) and focuses on price instead. If the industry worked this way, there wouldn’t be Bread Talk or Apple and business would fight themselves to death and create more disparities of wealth.

    If you looked at PC hardware in Sim Lim, the stores there basically compete on nothing but price. Same probably goes for shoes at Queenway. If they wanted to win the sales, they simply cut the price. Plain and simple? Not so. At the end of the day they basically do more work for less and customers don’t even remember the stores’ name. So now goes back to the question on my TV purchase. If Chewy asked me why I didn’t go to Sim Lim to buy my TV, my answer would be that I trusted Harvey Norman (or Best Denki/Challenger) more than the dodgy stores at Sim Lim. That’ was why I decided to take a walk at Harvey Norman (instead of Best Denki/Challenger) which was nearer to my home.

    Any business who’s looking for long term growth needs to build its’ brand. And by branding it doesn’t mean a colorful logo or a fancy yodel. A brand is something people have an affiliation to and builds royalty over time. Unfortunately though, brand building has to start when a consumer is unaware, and that’s where the CPM advertising and Search Engine Optimization (SEO) guys come in to screw around with generic algorithmic search results.

    Although I’d believe that that there’s potential for CPC/CPA to aid in building brands, this is still an area that’s untapped. CPC/CPA isn’t necessarily positive for brand building. Some people may perceive advertisers as scammy or desperate, for example.  I’m also sure that most people don’t plan and search online to buy everything. Some purchases are made on impulse, especially small value items like little earrings. Females 14 to 25 years of age should be familiar with such a buying pattern. 😛

  • No Real Use for Google Wave?

    I can’t seem to think of a very practical use for Google Wave. IMHO it’s a technology that’s neither here nor there. It’s not a very effective replacement for e-mail either as it’s not a scalable model. It’s not exactly a great collaborative tool as well though I agree maybe it has good use for taking meeting minutes and random notes. It’s certainly not a good file sharing or document editing tool.

    I’ve been thinking quite a bit on what I can really do with Wave. It’s frustrating actually 😛

    On a side note, it’s surprising how the ancient DNS and SMTP protocols we take for granted scaled so well. IETF and IEEE are a bunch of geniuses.

  • First Meetup for Facebook Assignment Costs $6! WT*!

    OK, so I went to NUS to meet with my FB Assignment group and parking my car outside COM1 costs me a whopping $6! This is serious daylight robbery. So where should I park? I’m not exactly familiar with NUS and am probably more suaku than the year 1s.

    I think my team has a good mix. We have a business guy, an electrical engineer, two partially geeky students (I didn’t make this up – they told me) and one kaypoh (busybody – that’s me). So “good” a mix maybe I’m getting a bit stressed out that we might be technically lacking. But don’t worry. I have faith in you guys. 😛

    As a consolation, let me say something. Ugly (probably) sells. Yes, the crappiest, ugliest of all things usually sells well. Don’t ask me why. Here’s my observations.

    • Google is ugly, but we use it over Yahoo or Bing.
    • Gmail is ugly as hell, but we rather use it over Hotmail. (Sidenote: I’ll give some credit to Yahoo mail here.)
    • Ebay ain’t the prettiest of all sites around, but heck it sells like mad.
    • Facebook is kinda ugly and doesn’t allow me to customize a hideous pink background like Friendster, but it is the most hit site on the Internet today (don’t ask me why I know, I’m not supposed to tell, but I am certain of this fact).
    • Most blogshops are ugly as hell. If you think they look nice, you need to see doctor. But the funny part? They sell too!

    So here’s my takeaway point. Ugly (probably) sells.

  • DRAM Error Rates are Actually Hundred and Thousands of Times Higher Than We Thought

    DRAM, or commonly called RAM, is something we have on all computers and most mini electronic devices such as our mobile phones and portable players. Without them, computers won’t work. They hold vital data while they are in use, such as when you are editing your Excel spreadsheet, or when browsing a web page. Computer’s don’t work on data directly on the disk; once data is read off a disk, they are stored and worked on in memory. Yet Google did an extensive research and found that the error rates are much higher than we thought.

    A two-and-a-half year study of DRAM on 10s of thousands Google servers found DIMM error rates are hundreds to thousands of times higher than thought — a mean of 3,751 correctable errors per DIMM per year.

    This is the world’s first large-scale study of RAM errors in the field. It looked at multiple vendors, DRAM densities and DRAM types including DDR1, DDR2 and FB-DIMM.

    Every system architect and motherboard designer should read it carefully.

    Read the original article here.

    Time to buy ECC RAM as default for all systems. Chipkill should be in servers soon.

    Or maybe RAID5 for RAM, anyone? Buy 3 x 2GB, gives you 4GB with redundancy. Hot swappable… if possible.