12.19.09
Posted in development, projects, svn, webdev
at 03:43 pm
Problem:
I am working on a project (with svn repo), and wanted to add some libraries (Propel) from external svn – so that I wouldn’t have to update them constantly – whenever someone would check out or update working copy of my project, those 3rd party libraries would be loaded from their own repository.
Intro:
I’ve googled around, read the manual, but I couldn’t find any simple solution. I’m using svn 1.6.5 under Windows 7 x64, and all the contradictory advice I’ve found in different blogs and forums was pretty confusing.
Further reading:
If you need details, I guess SVN book (1.5MB HTML!) could help some – but it didn’t help me much. Reading the help from command line seemed more helpful:
svn -h propset
Some error messages I got:
svn: Setting property on non-local target ‘http://svn.phpdb.org/propel/branches/1.5/runtime/lib’ needs a base revision
svn: warning: ‘classes\lib” is not under version control
svn: Error parsing svn:externals property on ‘.’: ”http://svn.phpdb.org/propel/branches/1.5/runtime/libclasses/lib’
svn: Syntax error in revision argument ‘ HEAD http://svn.phpdb.org/propel/branches/1.5/runtime/libclasses/lib classes/lib’
svn: Invalid svn:externals property on ‘.’: target ‘/classes/lib’ is an absolute
path or involves ‘..’
svn: warning: Error handling externals definition for ‘classes\lib’:
svn: warning: URL ‘http://svn.phpdb.org/propel/branches/1.5/runtime/libclasses/lib’ at revision 1370 doesn’t exist
Problem causes:
- I used single quotes instead of double quotes. Typing something like
D:\web\project>svn propset svn:externals ‘http://external.example.org/dir localdir/targetdir’ .
(including the dot at the end) resulted in error.
- Trying to add the target directory manually. Don’t need to do that.
- Trying to add HEAD revision as the parameter. It should work, but it didn’t work for me.
- Parameter order has changed between svn 1.4 and 1.5. That’s why you’ll find different syntax while googling around.
- Used space instead of tab. I’ll explain in the example.
Solution:
Let’s assume D:\web\project is our working copy,
http://external.example.org/dir is the external repository we want to link with our repository,
localdir/targetdir is the path to our result – where we want to have the external stuff – full path would be D:\web\project\localdir\targetdir,
assuming you have localdir already versioned, but you have not yet created targetdir.
So,
- Open command line, get into to the root of your working copy (D:\web\project)
- create a temporary file (let’s say “external.txt”) with this in it:
http://external.example.org/dir localdir/targetdir
You need to have a tab between those two. Newline at the end is optional, not necessary.
- Run
svn propset svn:externals -F external.txt .
(including the dot at the end).
svn propset is the command we’re issuing, svn:externals is the name of property we’re changing, -F external.txt just “includes” the properties saved in that file and the “.” at the end means we’re applying it to the current directory.
- To test it and get the external files right now, run
svn update .
- Commit your changes.
- Done!
There are probably more ways to do this (for example, using TortoisSVN, right-clicking the working copy, selecting TortoiseSVN/Properties, clicking New, selecting svn:externals as the property name and entering the same thing that I saved into external.txt (in format [externalrepo][tab][localdir]) – but that would have been too easy, wouldn’t it?), but I just wanted to help people who are stubborn like me and like to get distracted by occasional error messages.
Permalink
11.01.09
Posted in Uncategorized
at 02:39 pm
None.
Permalink
10.06.09
Posted in Flash, development, game, hardware, web, webdev
at 05:20 pm
Flash 10.1 is no minor update. Even if you can live without the improvements on desktop (you probably can, actually) – GPU-accelerated HD video encoding, streaming improvements, etc; you still most probably won’t ignore what I think is the greatest news for mobile internet lately – Adobe’s decision to release players for every mobile platform they can get it on – Windows Mobile, Android, Symbian S60, BlackBerry OS, Palm’s webOS (and hopefully also iPhone, eventually, but that’s not their decision).
Here’s the reason why you can’t ignore it – assuming you have something to do with web development: other developers will be able to (1) quickly create (2)rich, (3) highly interactive, (4) multiplatform applications. Now let me explain why those aren’t empty buzzwords.
- rapid application development. While Flash or ActionScript quite possibly aren’t the best development tools ever, they’re more than good enough. AS3 is an amazing language, well documented, very fast, sensible, powerful, rather easy to learn. It’s what JavaScript should be – only without the headache of optimising for 20 different browsers.
- Rich Internet Applications. Okay, you all know this one. MP3s, videos, vector animations, data push, that sort of thing.
- Highly interactive. What? Multi-touch. Accelerometer. Orientation detection. Asynchronous server request combined with sensible transitions and tasteful animation and highly responsive, persistent interface (not disappearing with every pageload).
- Multiplatform. Think hundred million handhelds. Maybe not right now, maybe not without delays and hiccups when they launch, but seriously, there is no other way of developing one application for this many hendhelds (and web) at the same time.
Permalink
11.12.08
Posted in New Cyberspace
at 04:10 am
It needs a name, but Cyberspace is too vague (and long), and web 4.0 is for technological wankers.
Cyberspace is not a virtual reality. It’s a real reality with metadata and other things – apps, media, web, networks.
Cyberspace is not the Internet. Internet is just one network, an optional part of the Cyberspace. (Actually, it’s more like Cyberplain; or Cybercanvas, once HTML5 arrives.)
Cyberspace is not a cyberpunk future. Cyberspace shouldn’t turn people into asocial, detached hackers. Cyberspace shouldn’t harm Earth. Cyberspace shouldn’t be controlled by politics, politicians, money, corporations, lunatics, fanatics, technocrats or Luddites.
Cyberspace is not a cell phone network. Cyberspace is not dependent on cell phone networks.
Cyberspace isn’t meant to replace the Internet, not in the first decade of its existence.
Cyberspace isn’t incredibly complex, not in the first few years of its existence.
Cyberspace isn’t for geeks, nerds and dorks any more than it is for everyone else.
Your 6 year old grandchildren will be able to set up and use Cyberspace.
Your 60 year old grandmother will be able to set up and use Cyberspace.
Cyberspace isn’t a place for hackers and viruses any more than current computer systems and networks are.
Cyberspace probably won’t be any less of a place for hackers and viruses than any current computer systems and networks are.
Cyberspace will be more decentralized than you can handle.
There will be no W3C for Cyberspace. There will be a plethora of confusing, ridiculous and poorly designed standards. First come, first served.
Cyberspace will be a spiritual descendant of the Open Web and Semantic Web.
In the best-case scenario, Cyberspace will mostly separate users from underlying hardware and ‘tekmology’.
Cyberspace won’t rely on a single technology for any of its individual elements. It doesn’t matter if it will use XML or YAML, HSDPA or CDMA, WiFi or WiMAX, Flash or Silverlight, widgets or gadgets, RISC or CISC, solar power or body heat, handheld devices or apparel, keyboard or mind-reading, C# or Java or even BASIC; what will matter is if it will all work together, because given the past of any technical domain, any and all usable an unusable technologies will be used.
And guess what. No one will care if you application is optimized for IE 5 on 1024×768.
About author: I am not insane. I am not joking. I am not a sci-fi or cyberpunk or manga nut. I
am manic.
Permalink
10.24.08
Posted in IDE, tools, design, development, web, webdev
at 12:39 pm
I’m attending Google Developer Day. You can read my thoughts at my twitter page. I might even blog about that later. I am working on some articles about my thoughts on it all, especially the Open Web thing.
You can watch the recordings of the sessions on YouTube, so it’s a great way to catch up if you weren’t able to attend the Google Developer Day. [As of November '08, videos are still being added.] I recommend especially Brad Neuberg’s The State of the Open Web [57 minutes], but there is something for everybody (Gears, Python, Open Social, App Engine, Android, Geo, etc).
Permalink
10.05.08
Posted in hardware
at 06:53 pm
So, I’m not selling hardware anymore, but I’ve had money to buy some. A headset, earphones, mouse, 2 CPU coolers, a PSU, 2 silent fans, a PowerBall, a sound card, and a lappy.
The laptop was a Toshiba A210, which was on sale, because it’s an older model. Automatically, I’ve bought 4GB RAM with it and installed it before even turning the lappy on for the first time. After all, it came pre-installed with Windows Freaking Vista, which would swap the hell out of my patience with the original 2×512MB. The only thing that I don’t really like about the lappy is 120GB hard drive, which is not enough for my needs and extensive music taste. I’ve been using it for what, 3 months now? It’s still perfectly functional, despite my not-so-tender manipulation. The battery life is what I expected, 3 hours on power saving mode, under 2 hours on full power. It serves my purposes, which I won’t elaborate on, since making a review on 4 month old notebook is as useful as writing a LinkedIn recommendation for a zombie. But still, I’m satisfied with the Toshiba.
The mouse that I’ve bought recently is Toshiba Mini Retractable Laser USB mouse. I didn’t have any strong reason for choosing Toshiba over any other laser mouse in that category, but I thought that the retractable cable might come in handy, because I plan to use lappy on my travels. It works fine, although not perfectly, and it’s pretty small, but not microscopic, so that suits its purpose. One thing that scares me a little is that the cable itself is ridiculously thin, and I think I’ll break it any moment now. But I haven’t yet.
A PowerBall is a PowerBall. It works as expected, except that I’m annoyed that I still didn’t manage to start it just by thumb. It’s a little loud to be just a toy that you’ll have in open space office and use anytime you need to wait 2 minutes for something to finish, but it’s nice both for relaxing and exercise.
CPU coolers. I’ve tried a Thermaltake TMG A3. It was terrible, huge, hard to install, and didn’t cool any better than stock AMD cooler, and it was only tiny bit quieter. But it was cheap. (I’ve had a problem installing it at first, which may be a specific of my motherboard; however I’ve solved it by inserting some junk in the middle of the cooler, under the V-shaped console that holds the cooler in place.
The second one was Arctic Cooling Freezer 64 Pro. It’s huge, it’s not too expensive… but it was loud as hell. It was much louder than the stock cooler or the Thermaltake TMG A3 cooler. Why? Because it uses 4-pin fan connector and my motherboard has only 3-pin fan connector. And, my BIOS doesn’t have any fan control capabilities. The cooler didn’t work well enough as a passive solution, so I ended up extracting the fan from Thermaltake cooler and putting it on top of the Freezer 7 Pro (while its fan was disconnected). That worked relatively well for a while.
Finally, I’ve decided to end this still-too-loud-for-a-good-sleep solution by purchasing two Noctua NF-P12 fans. I would sing ballads about those, but everything you need to know is in that review. Well done. I use one for cooling CPU and the other one for cooling my Asus EAH3650 card – which was the loudest element of my computer until now. With Noctua fan next to it, I could disconnect the fan on my video card, significantly reducing the noise.
Also, few months back, I’ve bought “Seasonic S12II-380HB Energy 80-Plus” PSU; I didn’t have the opportunity to test the power efficiency, so I leave that to other reviewers; but the noise level is excellent – by which I mean very low. It’s the most quiet part of my computer.
Sound card. Ridiculous name, buggy drivers, excellent sound. Yes, I’m talking about Creative. I’ve been using Sound Blaster Live! Player (an old, budget, EAX2 solution), and now I’ve migrated to PCI Express X-Fi Titanium Fatal1ty Pro – it’s got EAX5, excellent sound and even 64MB of RAM on board for sounds. How fancy can you get? Not much else I can say, really. It just works how it should – except for the stock drivers, which complicated my life for a while when they refused to switch the modes – which is essential for turning on EAX5 for gaming (yes, I realize there are not actually so many games that support EAX) – so I’ve had to perform a clean reinstall. But ever since then, it just works again.
Second Creative product I’ve purchased was headset HS-400; the sound quality is very good for what I use it – Skype calls – and those few times I’ve had them on for gaming or music, I was pleased with the price/quality ratio. The microphone can be plugged from either side (or completely unplugged) and is adjustable very well. The headset itself feels slightly uncomfortable on my left ear, but I guess that’s just me. And it also feels uncomfortable when I’m with by back against the wall.
The last Creative product I’ve purchased so far were Creative Earphones EP-380 – clip-on earphones. Good sound quality, relatively good price, very comfortable, good for sporting; not good for listening to music alone in silence (because the sound isn’t fantastic really; Belkin earbuds I’ve used before offered better sound quality). Also not really good for office, if you want to listen to your music loud to forget about the rest of the world; the coworkers will hear your music and you will hear your coworkers. However, if you want to listen to the music AND hear what’s happening around you, they are a very good solution.
Permalink
10.17.07
Posted in Flash, evil, web
at 06:47 pm
Left. I mean wrong. Yes, I’ve recently bought Canyon webcam, I’ve edited the .inf file (from drivers) to be able to use it under Windows Server 2003 and… since 10 years back, I’ve been able to watch some guys with webcams talk to each other through some Flash application, I’ve expected that it will be easy to find chatroom like that on every other server.
After long hours wasted, I have found that most of the webcam services are concerned about porn or half-porn (i.e. “communities” that weren’t propagated as porn, but boasted with pictures of scantily clad women and asked for your credit card number to verify age before joining. No way, suckers.). The other part was made of Flash or Java-based chat services, and desktop clients with poor feature list – unless you pay. Some 160×120 preview window for only one person at a time? Kthxbai. I will not pay to talk to people who use large violet font with italics and spell like 6-year-olds.
The last piece of the pie included few websites that didn’t even require registration for you to join the chat. Most often, out of 10 people only 2 had web camera, but at least you could watch more people at once. And you didn’t have to install crap into your computer, because you surely (I’m 98% sure) have Flash player installed already. Which is no crap anyway.
So, what I wanted to say is COME ON, PEOPLE! What’s the matter with you? Afraid to show your face? Wearing sunglasses in front of webcam, showing your left arm and a piece of wall? Privacy, security? Come on. You submit unencrypted data that’s more sensitive than your face. You know what? I’m gonna find a software that will always broadcast my unshaven face just to show you I have a webcam and broadband Internet connection. Losers.
Permalink
05.30.07
Posted in Uncategorized, hardware, job
at 03:15 pm
Personal stuff: I now work in PC shop as “responsible person”, which means I buy stuff from big distributors, sell it to customers, assembly a PC now and then, watch prices fall and try to keep up with latest (affordable/salable) stuff. Which is great. That also means I’ll probably talk about hardware more from now on, since I don’t have time for own projects and keeping up with latest webdev news.
Personal stuff II: I’ve bought myself a Trust “Wireless Scroll” tablet TB-4200. Don’t get fooled by the wireless in the name, since the A4 tablet itself is attached to USB. It comes with 3 button mouse with scrollwheel and stylus, which, of course, are wireless. The mouse conflicts with my Genius Superior drivers, so left button doesn’t work and middle button (scrollwheel) works as left button. The tablet+stylus work fine, but the cursor tends to shake when I rest my sweaty hand on tablet, while holding stylus. It just wiggles 2 or three pixels from its place. When I lift my hand, the cursor holds still, as it should. The drawing seems to be accurate, but someone who doesn’t know what it’s like to work with A4 tablet might be a bit surprised to see what pain it is to move stylus from one corner to another to press some button that would require just a centimeter or two on 800dpi mouse with acceleration.
Web trends or whatever: Google Analytics launches new version of Google Analytics (*ahem*), which seems nice and stylish and nice if you have some real traffic on site. Product tour here. If your daily traffic is under 10 pageloads, use StatCounter, which (WHAT A COINCIDENCE!) changed log size of free accounts from 100 to 500 pageloads for each project. That means you can view details about every single pageload (country, IP, browser, resolution, referrer etc). So, if you want statistics, use Google Analytics. If you want details and want to stalk your visitors, use StatCounter. If you have too much time on your hands, use both (and expect some slowdown).
If you don’t watch hardware news, here’s some useless information: DDR2 is dirt cheap, low-end printers are dropping prices, Vista barely works on 1024MB RAM and is completely unusable on 512MB, GeForce 7900 are hard to find, 7300s with passive cooling are hot like hell, Supreme Commander with 1024MB RAM is playable, but needs much better CPU than 2600+ when there are 300+ units on field (4 players online with weak CPU = public stoning). Other than that, everything is boring, including ATi R600 hype and 8-core CPUs for common user. Until we have real software support for virtualisation, that is.
Permalink
04.23.07
Posted in Flash, web, webdev
at 05:44 pm
Let’s start by explaining what is what. Feel free to skip the next paragraph if you’re familiar with product names mentioned in the title.
- Adobe Flash (originally developed by Macromedia, which was later merged into Adobe) is a platform upon which you can build animations, cartoons, games, business aplications, banners, video players and such. Every time you see a banner that’s got sound in it (punch the monkey kind of stuff) or see a menu that’s got cool animated background and smoothly shows fades and blur and sci-fi sounds as you mouseover them, you see a Flash application. Adobe Flash is also a name for authoring environment – software where you create Flash animations (movies, games etc).
- Adobe Flex Builder is another authoring environment that creates Flash applications, this time aimed at business and enterprise – charts, buttons, forms, tables, graphs and such. Creating a Flex application is as easy as drag’n'drop.
- Adobe Flex SDK is free (as in ‘free beer’) piece of software that is the core of Flex technology. Anyone who downloads it can write a few lines of code and create Flex application, just without the fancy drag’n'drop and other tools.
- Now, Adobe Apollo adds more functionality to Adobe Flash – so it can do more things, like download films to your computer. Apollo applications don’t run inside your browser (like Flex and Flash applications do), you install them like other desktop applications. You can create Apollo applications by downloading Apollo SDK and using it with you Flex Builder. Then again, drag and drop, choose color, how round your buttons will be and click, you’ve created an application that people can install on their Windows, Linux and Mac OS machines.
Let’s look what Microsoft Silverlight is about and how it stands in the battle of the titans so far.
Microsoft is “afraid that Adobe is going to start convincing corporate developers to use Flash to start developing Web applications,” says Greg DeMichillie, an analyst at the research firm Directions on Microsoft. “It’s the Java threat but with better technology.”
So true. Microsoft is afraid of the 600 million userbase of Adobe Flash. So they launched Silverlight. The Register put it bluntly: Microsoft Silverlight to copy Flash video tricks, Adobe responds.
Microsoft isn’t losing ground, it never had any. ActiveX is a security failure. Windows Media Player may be the default for many users, but ever since video playback was introduced to Flash, no one viewed Windows Media as format for online video, except maybe for streaming where it buffered as often as Real Player. Now Adobe will strike back with Apollo-based Media Player, which means they will provide one desktop application for 3 systems – Windows, Linux and Mac OS.
Macromedia had stable platform, upon which they’ve built the ability to play video and then they’ve added the functionality to produce rich desktop applications, by creating the Apollo. Microsoft did the things in wrong order – they provided video playback on web – on some systems and some browsers – and now they’re trying to build a platform to add richness to the web applications, which is the domain of Adobe Flash. However, these two giants use slightly different approach, and Microsoft is too stubborn to accept second place, so they will probably coexist and probably each settle with its own fanbase.
Flash files are compiled. They may be decompiled and their source code viewed, more or less, so we aren’t talking about impenetrable applications here (there’s no such thing, anyway). You don’t have to (and can’t) compile Silverlight; it’s stored in pure XAML, so writing it is as easy as writing XML and knowing XAML rules. The same applies for Flex – you can write MXML with any text editor within minutes. However, with Flex, you have two choices – either you can compile it with free Flex SDK or just upload it to server and leave in bare MXML – they may be compiled on-the-fly if you have appropriate server module installed (which is, again, free). So here, both provide similar options. Adobe wins with run-time compiler and slightly better protection of the source code, Microsoft wins with simplifying things with removing the need of compiler.
Both platforms can be integrated into HTML+JS sites. Flash doesn’t need JavaScript at all, but can cooperate with it. Silverlight requires JS support. Flash movies can be compiled into independent projectors, which are platform-specific (now we aren’t talking about Apollo), so you can download them and run them without installation. Silverlight doesn’t provide such feature as far as I know – it would have to be downloaded as archive, unzipped and loaded into browser. So, again, Adobe probably wins.
How about learning? Adobe is a respected company and their tools are industry standards. Every kid knows what PhotoShop is. Adobe Flash authoring environment provides familiar interface, and basic features are as easy to use as painting in any editor. When it comes to scripting, ActionScript 3.0 adheres to ECMAscript 4.0 draft specifications, so it’s almost the same as JavaScript. If you want to develop business applications, you can either drag’n'drop buttons and fields and tables within seconds or code in MXML (and ActionScript if needed).
Microsoft has made significantly more major mistakes and wrong decisions during its long history than Adobe. True, that have bigger burden on their shoulders with huge range of products. But they’ve proved to be full of lies, more full then Adobe for sure. They force their beliefs on customers (e.g. “Linux is communistic” brainwashing) and often dictate what is good for customers, and not listen to them as they claim. They (to be honest, like any other software company) copy ideas and what is worse, often proclaim them their own. Thankfully, they don’t claim that Silverlight is a revolutionary solution, and I don’t blame for trying to copy sucessful idea. They have quite enough experience with XML and it has been used in tons of different applications. But they still the same three problems as always – get developers to use XAML, get content creators/publishers to use XAML/Silverlight platform and get users to install Silverlight runtime.
So far, their presentation is weak. XAML doesn’t look bad, but current features are unimpressive. Everything that Silverlight can do, Flash can do better. We’ve yet to see the final release and maybe some biased benchmarks from both sides, but as for browser-based presentations, I don’t know of single reason to switch from ready Flash site to Silverlight. It makes even less sense to migrate to Silverlight, since its userbase is still quite small. However, we can expect this to rapidly rise if/when Microsoft will push it via Windows Update and implement it into Windows service packs, helping it become as ubiquitous as it did with Flash back in 1998.
Microsoft has the skill to deliver rich client experience for web sites, as long as your browser is Internet Explorer (open it in Firefox and functionality is gone). Web interface for Outlook was impressive, as far as Outlook goes (meaning that is was more then regular web page, even back when marketing divisions didn’t fling around Web2.0 buzzwords. How easy and how expensive it will be in the end to develop Silverlight applications aimed at business users remains to be seen. However, with Flex around, they’re coming late to join the battle. And Flex Data Services is force to be feared. Adobe has put really enterprise-grade price on it, but was smart enough to allow everyone to use one copy for one application without any significant limitations for casual users and developers.
As for the Apollo, it shows great promise. I’m not worried about the feature set or stability. If something will slow down Apollo, it will be the need to instal Apollo platform and then install the applications. With current flood of malware from every corner of the web, many users will probably be afraid to install something. So it’s up to great applications to convince them.
Flash is here to stay. Flex is here to stay. Apollo steps into unknown territory, as Silverlight does. And I will watch it all.
flex, flash, adobe, microsoft, silverlight, apollo, ajax
Permalink