Showing posts with label Technology. Show all posts
Showing posts with label Technology. Show all posts

Saturday, 31 January 2015

A Mix of Thoughts and News

Time for a mix of thoughts and news.

  • I have to/need to learn French. There are many reasons for it, but no doubt that this paragraph in this Wikitravel article joins that list of reasons in one of the first positions :-D

    It has long been the language of international diplomacy and communication, and although largely supplanted by English since World War II, it remains de rigueur (of obligatory requirement) for educated people in many societies around the world to have some level of basic French ability. It is also an official language of the UN and the EU.

  • This article about the Lava Layer Anti-Pattern is one of the best things published in InfoQ in a long while. It immediately came to my mind a different scenario for this Anti-Pattern. A Web Application started around 15 years ago with classic ASP. Around 2003/2004 it was extended with some ASP.NET WebForms. In 2007 some Ajax panels where added to these WebForms. In 2009 some clever guy tried to do some real Ajax development by hacking these WebForms to return clean html pages and pieces of html and JSON requested via jQuery Ajax. Then in 2011 some ASP.NET MVC came to the rescue, and then in 2013 some Web API magic was added. All of it living together in a huge IIS Site. Seems unrealistic? Well, think that still 3 or 4 years ago the EasyJet site contained some classic ASP pages...
  • Talking about Asp.Net, much has been said in the last months about .NET going partially OpenSouce, about .NET Core and so on... the most interesting of all this (bearing in mind that the multiplatform thing is nothing new, as Mono has been around since the early beginnings) is ASP.NET 5 (aka ASP vnext). First and foremost we get a unified programming model for MVC and Web API (for example no more similar but different classes in charge of routing for each subsystem), as a consequence, you'll be able to self-host MVC! As you'll be able to run it the Core CLR, you can deploy your complete self-hosted application in just a few MBs, without depending on any installed component, and you'll be able to do it on Windows or Linux (and yes, Mac, but I don't give a shit about rotten apples). On the other side, as OWIN continues to gain momentum, hosting on a separate web Server will be much easier.
  • Well, this is quite old news, but I hadn't found it until recently. Gimp has since v2.8 a Single-Window Mode! This is for me the more needed feature in this nice software, those fucking multiple windows floating around have been a pain for many users (me included of course) and kept many of them away, so this is definitely a great step forward.

Wednesday, 9 April 2014

The Physics of Absurd

This has been one of the most absurd experiences in a long while, it seems like a 1 week delayed April Fool's joke. I've received to my great excitement an email invitation to download Atom, the Source Editor developed by GitHub. So, I hurried to click on the invitation link and I was welcomed with the first unpleasant surprise, a button requesting me to give the Site read-access to my Email Contacts. There was no "Skip" button, just Accept, so, though reluctant, I felt forced to accept. Continue on to the next page, and shit, here it is:

No, I have not altered the image, it's real as pain. It can only be downloaded for Mac!!! I thought somehow the browser was wrongly identifying me as a Mac user (over my dead body!), but not being able to find a Windows or Linux download, I ran to check the wikipedia page and found that this was not an error, it's for real, so far they only have a Mac version!

Really, I can't fucking understand it. How can it be that GitHub, the "social coding" site, one of the most most appealing sites for developers seeking to learn and share, decide to release a product (supposedly temporarily, Windows/Linus versions seem to be planned) only for Mac, the most trendy, stupid and anti open source company that I can think of. Yes, I have a deep distaste for anything Apple... A company that just sells image and coolness.

All this touches one topic that has annoyed me quite a lot since a while, why have many Linux/open source advocates got enticed to the Apple world. And come on, don't tell me that Mac OS has an "open source heart"... it's just that, "the heart" same as Android, everything else surrounding it is closed and dirty. Taking advantage of the community rather than contributing to it... It really shocks me, people that to these days continue to rant against Microsoft (that in the last years seems to me much more interested in Open Source) have fallen in Appel's trap. Maybe it's that when you've always been a freak finding hard to fit in the pack, resorting to Apple's hipster shit is the easiest way to gain a thin layer of "coolness", a way to get looks of approval when you step into Starbucks... who knows, maybe someone has improved his sexual life thanks to carrying "the fresh apple" with him (yes, who knows, maybe I should try...)

Tuesday, 31 December 2013

Cyberwar

Last month I watched an entertaining BBC documentary about Computer Security, Defeating the Hackers. It deals with several common topics like the threat to security posed by Quantum Computers, and the solution provided by Quantum Cryptography. It also mentions a new concept to me, Ultra Paranoid Computing (well, it seems quite new to everyone, as there's no wikipedia entry), bringing up the idea of using passwords that we are not aware of and as such we can not reveal. This other post explains it a bit more, but above all, the most interesting part to me of the documentary is the section dealing with the Stuxnet worm. Well, indeed, being a computing and history/social issues freak as I am, it felt like quite embarrassing to me being absolutely unaware of such a "bomb". So far I think it's the most important CyberAttack ever done, and it gives me the creeps to think how these things can evolve in the future (ok, admittedly this time the output of the attack seems pretty good, Iran's nuclear program being damaged and delayed, but bearing in mind that the perpetrators were 2 ultra-nationalist governments: USA and Israel, I'm quite sure they could launch the attack against any other less "evil" target at any moment, just to ensure their "supremacy" and their role of "policemen of the planet". This paragraph in wikipedia is quite unsettling

Sandro Gaycken from the Free University Berlin argued that the attack on Iran was a ruse to distract from Stuxnet's real purpose. According to him, its broad dissemination in more than 100,000 industrial plants worldwide suggests a field test of a cyber weapon in different security cultures, testing their preparedness, resilience, and reactions, all highly valuable information for a cyberwar unit.

Last week I stumbled upon another related documentary (indeed, even more interesting), produced by Spanish public TV (unfortunately it's only in Spanish). En Portada has been producing some excellent documentaries for many years (for example the one from a few months ago about the fascist Greek party (paramilitary unit) "Golden Dawn" was outstanding), which is something really praiseworthy in a place where 99% of the TV production is stinky crap that is direct responsible for the illiteracy, passivity and amorality (or just plain degeneration) of a whole society. This program deals again with the Stuxnet case, and also mentions some other examples of cyberwar, like the attacks on Estonia (this was well known to me), and 2 cases where cyberwar was combined with "traditional" war: an Israeli attack on Syria in 2007 and a Russian attack on Georgia in 2008.
There's also some interesting info about the Bahnhof service provider. This program is previous to all the NSA surveillance scandal, so they do not mention how in the last months many organizations are starting to look at European companies to store their data to the detriment of USA ones, now seen with huge suspicion. I hope this trend continues on and it means some boom for European Data Centers and IT professionals.

Related to Security, some weeks ago Martin Fowler came up with a brilliant concept, Data Austerity , pretty interesting food for brain in these times of "Big Data coolness" everywhere.

Saturday, 20 April 2013

As Technology Evolves

Sometimes it's hard to realize how fast technology moves, yes, even for programming freaks like me. Truth is that probably I have fewer technological needs than others. First, I don't give a shit about facebook or about locating my (real) friends on a map in real time (and much less about being located by them). I don't need to publicize that I've just taken a pee or eaten an orange (like other people seem to desperately need), I've never liked IM programs, I consider them deeply intrusive and only use them at work, for normal life email seems much more gentle and appropriate to me. So, I don't pay for a data connection in my smartphone, I've got internet at home, at work and at almost any cafe in Xixón where I occasionally hang out. For me, a data connection in my phone would only be useful when abroad, but abroad you can't use it because of its exorbitant price (hopefully almost any cheap hostel today has free WiFi :-)

I'm a rather organized, methodical person when it comes to travelling (shame this does not apply to other aspects of my life), so apart from doing tons of previous "research" about the history and social issues of any place I plan to go, I ever take with me tons of maps, wikipedia articles and so on saved in my (cheap) smartphone and tablet. I've had one kind or another of smartphone since September 2007 (at that time we called it PDA + Phone + GPS), and believe it or not, it was not until this month that I've really needed to use my current device's GPS (I got a bit lost in Dresden when trying to reach my hostel from the Neustadt Bahnhof, allegedly a 5 minutes walk, but when you start your path right on the contrary direction because your "biological compass" tends to confuse north and south... the route can turn more complex...) My GPS helped me cause I had an offline google map of Dresden (offline google maps has been for me one of the breakthroughs in the last year, though for most people it has gone mainly unnoticed).

Well, what's prompted me to write this post is another technological advance that has been around for some time but I'd never used so far, Google Search by Image. Months ago I tried to find a harsh, moving image that I profoundly conveys the desolation brought by war. I'd seen it many times before, but I didn't know the author, I didn't have any copy of it (save for a "brain copy"), and for some reason I mistakenly thought it was related to the Crimean War (which was not possible cause at that time photography was at its early stage). So, all my attempts to locate the picture were to no avail. The other day, just by chance, I came across a blog that was using the image as header, but it had no extra information about it. Today, after providing the url for that picture to the Search by Image functionality, Google came out with this.

So this extraordinary picture is called (quite appropriately) "Grief" and was taken by Dmitri Baltermants. I was not that confused, cause the pic was taken in Crimea, but not during the Crimean War, but during the WWII (shit, there are places that have been devastated by war again and again). This page makes for a very interesting reading.

The photo depicts a 1942 Nazi massacre in the Crimean village of Kerch. Village women searched for the bodies of their loved ones. The contrast between the oversaturated sky above and the bodies haphazardly strewn in the foreground underlines the poignancy of the moment, but for the same reason, the photo was censored in the Soviet Union where authorities only published the photos that could help boost morale; ‘Grief’ reflected nothing but harsh tragedies of war, and it wasn’t seen by the general public until the 1960s.

Wednesday, 14 December 2011

Some interesting stuff

Just a compilation of links of interesting programming stuff that I've come across with in the last days and that I would like to note down for future reference

  • I think it's commonly accepted that C# is a much more expressive language than Java, I've already written indirectly about it in some other posts, but given that I try to be as language agnostic as possible, and try to learn lessons from all languages I know, I think it's good to acknowledge some of the strong points of Java. I don't miss Anonymous classes in C#, but Java class-like enums are something that I've been pretty jealous of since I first heard about them, and the Method return type covariance really caught me by surprise.
  • Continuing with Java, I was rather interested to see how the long awaited invokedynamic thing has improved the overall Java experience. Long in short, it's a great addition to the JVM platform, but for the Java language itself it adds quite little. If you were expecting something similar to C#'s dynamic keyword, forget about it. However, contrary to C# dynamic that just comes down to a lot of compiler magic, the JVM has been enhanced to deal with invokedynamic. This old post is a great source of information.

    The biggest changes in Java 7 are not related to the Java language at all. Sure, there's the "project coin" enhancements to the Java language, which add some exception-handling shortcuts, new literals for numbers, arrays, hashes, the oft-requested "strings in switch" support, and a few other things. But they're modest incremental changes; the real revolution is at the JVM and JDK level.
  • After reading this excellent interview in InfoQ discussing the new Groovy candies, one of the things that really caught my eye is passing closures to annotations. That would be the equivalent of passing delegates to attributes in the .Net world. This feature does not exist, but it's interesting to see how some people were requesting it some time ago. The AST transforms seem quite in line with some of the things that Roslyn has to offer or with Boo's Syntactic Macros
  • As I said in a recent post, time seems to fly, and much more when we talk about technology. Last time I had tried to create a bootable flash drive it was still rather troublesome, so when last week I stumbled upon this site and found out how easy it's to create a multiboot flash drive, I felt delighted.

Tuesday, 6 December 2011

And time goes by

I think I tend to be rather aware of how fast time passes, how our precious minutes get consumed, but even with this in mind, sometimes something comes up that makes me even more conscious of this fact.

Yesterday, one piece of news that probably will have gone unnoticed for many people (that increases that feeling of time running away), clearly reminded me of it. Napster is over. Napster, the first P2P application, the one that opened a new world of unlimited access to music to many of us, is no more. I remember getting late to a Saturday night meeting with friends cause I was eagerly waiting to see if I managed to finish the download of a much desired disc (through my old good 56 kbits modem with flat rate connection only from 18:00...). It's been 11 years since that, and many, many things have changed. Drawing up from Napster's success many other P2P sharing applications flourished (and rapidly faded away): Kazaa, WinMX, AudioGalaxy, eMule... BitTorrent seems to be one of the few that is still in pretty good shape.

I would say we've almost reached the point where we're not aware of how things (in the technological world, unfortunately other areas have not nearly seen this level of evolution) have improved, how now we take for granted things that just 5 years ago were unthinkable. We're in the middle of an Accelerating Change, just think for a moment:

  • Online video (YouTube, DailyMotion and so on...) in 2003 the common perception would be that there would be no bandwidth enough (not at home, but in the internet itself) for transmitting all those bytes.
  • Free WiFi in almost every coffee shop in town (well, I'm talking about my town, oddly enough, it's harder to find a Free WiFi in London or Berlin that in Xixón)
  • Dual core 1GHz processing monsters weighting just 200 grams and living in your pocket. It's funny when I look to the heavy and bulky old desktop PC lying in a corner of my room, with 392 MBs of RAM and a 800MHz processor and think of how well it served me as my main Programming and "multimedia" platform until 8 years ago.
  • With those 1 and 2 TBs external disks sitting on your desktop, do you remember the last time you burnt a data DVD? Did you ever use your old PCs as "storage server" in your local network? It seems like an odd occurrence now
  • Do you remember those times when owning a laptop was only for wealthy guys or for the "important people" of the company?
  • Internet everywhere thanks to affordable 3G data connections. This is something that left me astonished 2 months ago when I switched to my new Mobile phone operator. They have a monthly flat rate data plan (even for pre pay users like me) for just 9 euros. I don't need that service, it would be useful to me only when I'm abroad (I guess that's one of the pending things that we'll see changing in a short time, flat rate data access everywhere, at least in Europe) but if you need it, it's rather affordable.
  • GIS for the massess!!! Google Maps, Bing... and one million applications based on them
  • Home bandwidth. I've got now a 15 Mbits (download) connection at home. This is how my bandwidth (download) has evolved ever since I have internet at home:
    • 2000: 56 Kbits Modem (I think there's a generational gap between those who are familiar with the noise of a Modem when dialing and those who aren't)
    • 2001: 128 Kbits with my Cable operator (the only one I've had so far)
    • 2004 (August), 160 Kbits
    • 2005 (May), 640 Kbits
    • 2007 (February), 1Mbit
    • 2009 (June), 10 Mbits
    • 2011 (May), 15 Mbits (not an advertisement trick, you can see below that you really get that speed )

The other day I was chatting with a friend (a C++ guru, not a "humanities" guy) and he told me with his brand new smartphone on his had "I'm fed up with 3G, it's so slow that I have to use WiFi when I'm at home". I was astonished, we've grown so accustomed to the marvels of technology that we expect more and more from it, and dare to think that 3G should be as fast as our home WiFi!!!

I can't close this post without saying a clear and loud THANKS NAPSTER!!!

Saturday, 12 February 2011

A new Love Story

Today we've seen the announcement of what probably will be the biggest tech news of the year, the deep partnership between Nokia and Microsoft.
There have been rumors all over the last months, rumors that have been growing so loud in the last days that made today's announcement rather predictable.

I think both parts have done a really wise decision, Nokia needs Microsoft to avoid becoming just a middle class manufacturer (it's pretty clear that the Symbian + Smartphone equation does not work), and Microsoft needs Nokia to become a player again in the Mobile market. Nokia has great hardware, Microsoft has great software, users and reviewers unanimously praise Windows Phone, but it's lacking support from manufacturers that have gone mad about Android (and I don't blame them).

The net is buzzing with articles and mixed opinions on this matter. What is pretty funny to me is reading the brainwashed opinions of open source fundamentalists (I love sharing knowledge with others, but if selling hardware or selling "administration services" is OK, what's the problem with selling Software?). Many of these zealots seem terribly upset and angry, and swear not to buy a new Nokia device again. They wonder why Nokia has chosen Windows Phone over Android, and well, I think it's such a stupid question that it can only be prompted by the mind dullness induced by fanaticism. Nokia business is based on differentiation, and Android means just the contrary, because becoming one more among the army of Android sellers would be an obvious dead end for Nokia.
Sure they are not going to be the only manufacturer using Windows Phone, but they'll be the main one, so for good part of the public Windows Phone and Nokia will be almost synonymous, same as it's been with Symbian (though until recently other manufacturers like Ericsson, Samsung, Motorola, Siemens... also used Symbian).

I've also read something that increases my contempt for Google. Yes, I know, this blog is hosted by Blogger... but my perception of Google has dramatically changed in the last year, from the "gmail heroes, cool employers" to the "Chrome OS, I own your life, I'm cool cause I'm opensource but in fact I'm fucking CLOSE, fight Microsoft by all means..." arrogant zealots category, and this sentence from Vic Gundrota, VP of Engineering at Google, is disgusting and clearly shows how arrogant these Google idiots are:
Two turkeys do not make an Eagle

Such a stupid comment deservers one reply like:
Arrogance, narcisism and "coolness" well could make vultures fly over Mountain View

As a developer with a special love for C# and .Net, these are incredibly good news. Windows Phone + Nokia mean millions of devices running Silverlight, and this will be an incredible boost to the .Net platform, a boost that will spread to other enviroments (desktop, server...)
Now that I intended to walk my first developer steps on the Android path, seems like a different path begins to shine :-)

There's a good interview on CNN with Ballmer and Elop.

On my side, all I can add is well done guys!!!

Friday, 13 August 2010

Developers will have their say

I guess I'm not the most appropriate person to do predictions about the PDA-smartphone market (I'm using this now almost forgotten word, PDA, as my personal homage and because it's the Multimedia-PDA functionality what is really interesting to me, the Mobile Phone functionality has little interest for someone that some months spends less than 1 euro in calls), I just have my own very limited experience with a few of these gadgets and some theoretical knowledge.

Being a rather pro-Microsoft guy (that also loves open source, I don't see any contradiction on this, but it would be long to explain...), it would be natural that I felt rather attracted to Windows Phone 7, but that's not the case because my rather lame experiences with Windows Mobile 5 and 6 have made me quite reluctant to any Microsoft offerings in this sector.

Currently I have a jailbroken (thanks black rain!) iPod Touch 2G, that for 180 euros seems absolutely unbeatable value for money to me. My main problem with it is that my specific model only admits tethered jailbreaks, and well, that the idea of being forced to resort to jailbreaking for having a really useful gadget is shitty, if I'm paying for the hardware, why don't you fucking Apple give me full control over my legitimate purchase???

Because of this I've been following with growing interest the evolution of Android, waiting for the release of affordable (prepay card is an absolute must for me given my minimum consumption) gadgets, and it seems we're almost there, with some models around 300 euros that seem rather acceptable. I was dreaming of Android as some kind of open source iOS, that as such would be fully accessible to tech-aware users.
These dreams have almost vanished as I've realized that with regards to Freedom, Android is little better than my Iphone OS. I mean, you get an open source OS, but tainted by each manufacturer so that in the end you need to root it (sort of jailbreaking) to get full access to it...

So, when I found this excellent article today, I could only add new variables to the equation that sooner or later I'll have to solve before buying a new toy...
I absolutely agree with almost everything said in that article, Microsoft has been treating us (developers) really (and increasingly) well. Things like Linq, C# 4 and the DLR, COM (using it, not creating it) should be in the Tate Modern of Software Development... and programming for the Windows Phone could end up being so fun that would make us (developers, wow, it's good to feel as if we had power over those masses of programming-unaware poor sheeps) change trends...

The article reminded me of this crazy video of Steve Ballmer gone nuts (I think I had first watched it on this interesting Swedish documentary against consumerism).

This Ballmer's video is also great :-D

Wednesday, 23 December 2009

CIL Debugging

Some weeks ago while chatting with a friend something came up in the conversation that brought to my mind some old memories of those times (it was in 2003) when I used to do some coding in CIL (also known as MSIL). The thing is "how do you debug CIL code?".
With the VS Debugger, MDBG or SharpDevelop Debugger you can't debug at the CIL level, just high level language (with Native Assembly view). The answer is simple, and now you can find some more entries explaining the wholeprocess, but given that it's something that I found out by myself back in those times, I'm feeling like posting about it.

First, an obvious question, what do we need for our source level debugging?
We need the .exe, the source code file and a .pdb file that somehow links the .exe with the source file. When we compile with the csc using the /DEBUG option, we're linking to the C# source, so if we want to link with the CIL source, we need that CIL source and the corresponding compiler.

So, all this comes down to giving an odd detour from your initial C# (or VB.Net...) code to the final .exe using some of the tools available with the Framework.


  • First we compile from C# to .exe
    csc debug2009.cs


  • then, we disassemble that .exe, and get a .il file
    ildasm /OUT=Debug2009.il debug2009.exe


  • and then we assemble that .il file into a new .exe, using the /DEBUG switch.
    ilasm /EXE /DEBUG Debug2009.il
    this last step is the fundamental one, this way we obtain a .pdb file containing debug information for the CIL code, not for the C# code.



So, now we can launch the new .exe file, attach a debugger to it (for example the SharpDevelop one) and all the magic happens when the information in the .exe, .pdb and .il files is used together:



In those times when I had some CIL knowledge (it's gone terribly rustied after not using it for years) I wrote some basic articles about CIL programming for @rroba, a Spanish magazine (hey, I even got paid for it!). It's in Spanish, and sure contains some conceptual errors that I think I would not reproduce now, but anyway I'll leave it here just in case it could be of any use to someone.



(Sorry, I still have not been able to upload the files)

Friday, 18 December 2009

Web War I, cyberattacks on Estonia

Some days ago I came across this fantastic site with short video reports on science and technology, WiredScience.
There I found an interesting report about one of the most important and less known war episodes in the last years, the Russian cyberattack on Estonia in April 2007.
OK, nobody was killed in those events, not even physically injured, so sure that with thousands of people dying in armed conflicts in Irak, Congo, Afghanistan, Pakistan... my previous sentence could sound like pronounced by someone who does not know the limits between Second Life and real life, but that attack is one advance of how wars will be waged in the near future, and raises questions and concerns that our societies will have to address.
So, what happened and why it is so important?

Estonia, a European Union member and former Soviet Republic (well, I would better say a former Russian Colony, for me the USSR was never a union, but one of the last colonial powers in the classical sense) was attacked by Russian hackers. It was mainly a massive DDOS attack that made unavailable great part of Estonian network based infrastructure (ATMs, Government web sites, newspapers...). This attack was launched by naZionalist "hackers", probably linked to the Nashi, a proPutin Russian youth movement with some resemblence to the Hitler Youth. I wouldn't dare to say that the rusian government were directly involved in the attack itself, but it has been protecting the attackers by hampering the investigations (and of course, it's responsible for the wave of fanatic nationalism that sweeps Russia and fills the streets with ultraviolent nazi skinheads responsible for hundreds of attacks and murders each year) The main source of the attack could be based on Transnistria, a Russian puppet pseudostate broken away from Moldavia (and which "strange" legal status makes very difficoult any sort of international investigation).
The anger and hate of these zealots was motivated by the relocation of a Soviet Soldier statue to a non centrical place (for ethnic Estonians Soviet occupation was even worse than German occupation, so probably if I were them I would have relocated it to a landfill) . Well, that's simplistic, the real reason here is that there's a proportion of Russians that do not understand that they're no longer an empire. They don't understand that Estonia, Latvia, Lithuania, Ukraine, Georgia... want nothing to do with them. That these sovereign nations want to cut their ties with a past of horror and famine. That the end of WWII brought no liberation to them, but slavery...
These people still consider these countries as misbehaved children that sometimes deserve some punishment from Mother Russia (be it a cyber attack, be it cutting gas supply in the middle of winter, be it direct war...)
Worst of all is when you have the enemy within, and unfortunately this also happens in these countries. The footage in the video report showing some individuals vandalizing shops while shouting "Russia, Russia" is rather disgusting. These ethnic Russians have not understood that now they live in a sovereign nation called Estonia, and so they have 2 options, either they behave like Estonian citizens (and leverage the good things of being a European Union citizen) or go back to their beloved, destructured, maphia governed Russia... Seems like these people have forgotten that their parents or grandparents were injected into Estonia by Stalin to replace a part of the ethnic Estonian population (forcibly "relocated" out of their land) and russify the remaining ones, replacing their culture, language, myths...

This seems so important to me cause it's one of the first examples of the kind of combats to be waged in the near future. Attacks that can paralyze an entire country in a way that it's not easy to know who's the enemy (goverment, mercenaries, a self organized group of volunteers...) In 2007 EU and NATO governments did not know how to respond to an attack like this, but seems like it has given place to the creation in Tallinn of the CCD COE. Sure the near future will be riddled with similar events and we'll look back to see when all this started.

By the way, I was lucky to be in Estonia for a few days in April 2008, beatiful place really worth a visit.