• Posts

  • Joined

  • Last visited

Everything posted by eazq

  1. BTS 2.2 free edition. About 1TB data in 5 folders. 2+1 nodes in the replica set. 1.30-1.49GiB RAM used. GUI almost unusable on a 4core 2GHz CPU with 8GiB memory. GUI unusable on a 2core 1.5GHz CPU with 8GiB memory. Windows 10. Is it normal?
  2. Unless your Win32/Win64 application explicitly issues system calls WITHOUT the case insensitive flag set. Microsoft's own stock applications and default applications written for Windows actually don't support name case sensitivity, simply because at Microsoft they decided they shouldn't be aware of name case (for usability or compatibility?), not because Windows kernel can't handle them correctly. Similarly in Mac OS, where your choice is more granular, because you can set at formatting time if a volume is to be case-preserving or case-sensitive.
  3. Just in case, one day, your team will improve the btsync's name management code, here is a note about file systems under NT operating system family (modern Windows variants are descendants of NT). Whole namespace is managed by a kernel mode subsystem called "Ob" (Object Manager). Since XP/2003, Ob can run in two distinct modes: case preserving mode (default)case sensitive mode (former default mode, useful mostly when you install the POSIX environment subsystem, called by marketing people Interix, SFU, SUA and historically inherited from its ancestor kernel at DEC).Before XP, NT's object manager used to always run in case sensitive mode and only Win32 environment subsystem used to issue system calls with case insensitive flag set. Please, open regedit and select this key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\obcaseinsensitive That is a REG_DWORD value which can be 1 for running the kernel in case-preserving mode and 0 for running the kernel in case-sensitive mode. Since you must set a positive value to enable a negative behaviour ("in-sensitive") you may guess that it is a later addition to the registry: in fact it was added after NT 5.0 (Windows 2000). Just make btsync query that key, or give advanced users an advanced option to retain actual names sent from case sensitive btsync peers.
  4. Porting apps from Android http://developer.blackberry.com/native/documentation/core/porting_from_android_ndk.html
  5. Perhaps BT developers should just add a configuration option for Win64 builds, for the "adventurous ones" or those who need exact replication and have peers which are case preserving AND case sensitive. @RomanZ It is not a matter of liking or not liking: since the protocol is intended to mirror, it is an incomplete protocol if each peer namespace capability is not propagated to the others, either to disable replication (because a node can't implement the exact namespace semantics of other peers in the replica set), or to ask user what to do/notify there are issues (to avoid overwriting files in case a peer is case sensitive and it is only case preserving: I know you create *.conflict, but that's inelegant and turns a replica into a mess for noobs).
  6. Imagine I want to use btsync to share a folder, but that folder does not actually exist. Well, it does not exist on a file system that btsync can scan and checksum. I'd like a way to tell btsync: create a new shared folder (that is, create a new key);don't care about the actual location on the local file system to bind that key to;ask me (the API client) about the folder structure, file enumeration, file content stream etc;I (the API client) will tell you when changes happen (file content changes, file creation, file deletion, file moving, ACL, ownership, ...);when the API client is not connected to btsync, handle the (virtual) folder as unavailable (just like now btsync does for disconnected USB drives). Same goal could be achieved by writing a virtual file system driver, but that's a major task for Linux/Windows, instead a way in btsync API to tell btsync that a (shared) folder is virtual and will depend on a user-mode application for all I/O could offer a portable way (for application-level developers) to share data without saving it in advance to a file system.
  7. Windows: actually NTFS is a case preserving file system and could have two or more files with the same name in the same folder just like most Unix file systems do (there's a specific flag to set, OBJ_CASE_INSENSITIVE, when calling NtCreateFile API, to enable POSIX semantics), but Explorer could then not handle them correctly.
  8. Unlikely that BT is purposely going to burn a (successful) product like btsync that could mark computer historywhen content distribution is a booming businesswhen NSA wiretapping is still hotly debatedwith enterprise market in mindjust for a naive and superficial approach to security.
  9. @GreatMarko Perhaps you could just post that same procedure in the New Features forum asking the developers to add a new per-folder action to "relocate a folder", that is exactly performing the step you kindly listed here. Just ask the user to select the target folder. @RomanZ Perhaps you could distinguish the case of a file in unknown state and a case of a file which requires performing some I/O toward a given peer. A file waits in the unknown state until the engine decides it should perform I/O. In other words, deciding if synchronization is required (chatting btsync instances, but not transferring actual data) is not synchronizing. Not yet at least. This could make things much more clear and apparent to most users.
  10. "Based on BTSync" means the application actively uses the BTSync APIs, doesn't it?
  11. Perhaps this is a feature for the paying users: install a Windows file system filter driver to track file changes in real time from kernel mode, instead of getting notifications in a user mode application. You could even move almost all btsync code to kernel mode, if you have developers that can do networking in kernel mode, and keep in user mode only the configuration/presentation components.
  12. For the backup... if you mean revision of files (history of files, whole life of a file etc.), you should probably put a btsync node over a storage which can do near-CDP, like snapshots in ZFS. FreeNAS, for instance, has official support for btsync. A single FreeNAS node with btsync and a properly set snapshot task will remember for you the history of a file/folder. If THAT node will fail, you won't loose the current contents of the folders, because the quorum is still 2 (the other nodes), but you will loose the whole history of files. Unless you set another FreeNAS box to receive the snaphosts created on the first one: this second ZFS box won't need to run btsync (that is it will be just a slave node to keep the history and won't be part of the replication-set defined by btsync).
  13. Well, the core idea and algorithms behind and inside btsync are those of RAID-1. In storage technology, you have a logical volume above two or three physical disks: write is performed wrinting to any disk the same information and waiting until all disks say "Written!"reading is performed bye reading from the disk that replies the fastername quorum or goal the number of disks (that is the number of distinct copies of your data that exist in the array)As soon as you share a (new) folder with btsync, you have what is called a degraded RAID-1 array. Think the folder is the single disk above. As soon as another instance of btsync connects to that folder (that is, you run btsync on another computer and add a folder for the key you shared on the first one) that turns the pair of folders into a logical RAID-1 array. You can add new btsync that connect to the same share, that is you can increase the quorum of that share as much as you like (actually there a hardwired limit of 50 directly connected btsync instances). So, what are (some of) the differences between a RAID controller and btsync? a RAID controller manages data to locally connected disks; btsync manages a (portion) of a local diska RAID contoller writes data usually in a synchronous way; btsync is completely asynchronousan array created by a RAID controller has a fixed goal/quorum for the data you write in that you set at creation time; btsync has a dynamic quorum, that can go up (when more computers join a share) and can go down (when computers disconnect from a share)a RAID controller performs a full rebuild of the array to get back to the fixed quorum/goal as soon as possible; btsync simply tries to update what changed asking for changes to any other newer copy of the missing/outdated data. In short, as soon as you have enough computers/nodes running btsync and joining the same share to match the quorum that fits your needs and synchronization is effective, you have a geographically distributed RAID array.
  14. Sorry, GreatMarko. My comment was neither in response to yours, nor to itsjustmatt's one. Intentionally not using automatic quotation, out of context, philosophic, and ironic. By means of juxtaposition of a question about HCI and an apparent double indirection, mathematical lingo, a smiley...). Damn serious was instead my suggestion about asking the user, at first run, about her/his skills: primer or advanced? Please, pass it to your usability/HCI team. Regards.
  15. itsjustmatt: "Sharing is the whole freaking point of the software, why would one hide the button to do that?" GreatMarko: "Menu -> Settings -> Advanced -> Use key" Me: QED GreatMarko, to be fair, what if I am given - say 10k - to consult about a radically new GUI technique similar to the following screenshot? ;-) http://s4.postimg.org/yh99su8rx/bts_startup_question.png IMHO, that should make quite happy both parties, Metro lovers, and KISS adepts.
  16. Not that cheap, but what about an Intel NUC with a low power celeron inside and room for a 2.5" SATA disk inside? Some models have a 36Wh PSU.
  17. Adding CMIS (1.1) server capability to BTSync Business Edition would open it up to an interesting enterprise use. If you have an ECM service in your organization, it is very likely that it can talk CMIS. Such systems could talk to a local BTSync node with CMIS listener for replicating their repositories locally, but then the BTSync node coud be part of a cluster of nodes, located on premises and/or in cloud, that could cheaply allow achieving the planned repository replication quorum/goal.
  18. @N4TE_B Product is Bittorrent's, therefore you can ruin it the way you like more. You state: "To address those that are communicating serious frustration with the product, understand that we knew there'd be some individuals, certainly those we consider advanced users, that would see the UI overhaul as a step in the wrong direction. On the other hand, we also knew that the previous incarnations of Sync were difficult to use for a large community of individual users. This was one of the central guiding principles we have used to evolve Sync." "serious frustration": A+ for the euphemism - instead, people say the opposite: I found myself and can confirm that the less I use btsync 1.4 the less I am frustrated. As I said during the 1.4 alpha phase, a product's UI is not like a ring to rule us all. The consultant that suggested that should be fired. I am afraid she or he never read even the ten basic usability euristics by J. Nielsen. Nice minimalistic design for a sign on a motorway, but an almost unusable desktop GUI. If you try to find at least a good line in this post to save it and write it down on your notepad, here it is: completely drop the desktop GUI. At least for those two operating systems that have an established, decade-long desktop experience sold to their users. That said, share-by-link and share replication authorization are excellent enhancements.
  19. Sorry for not having been clear enough, but that's exactly what I found strange in the beginning, because most *.db files had two siblings when btsync.exe was running, but some had them even when btsync.exe was not running. That's why I removed them to see if behaviour changed. It did. Now terminating it (1.3.94) from its own menu removes *.db-shm and *.db-wal files.
  20. First character is a type, not a random character, like the next 32. See http://forum.bittorrent.com/topic/29304-rules-for-valid-secret/http://forum.bittorrent.com/topic/25823-generate-encrypted-read-only-secret-without-api-key/
  21. Possibly a way to create shared virtual folders which contain virtual streams (virtual files) you can bind to a port or protocol. A design similar to SSH2 port forwarding, but more general, to make btsync a stream multiplex.
  22. @RomanZ Three out of four replicaX use Windows 7 x64. I compared how SQLite files with replication metadata ara manged and it appears there's a bug, or there've been one in the past and current 1.3.94 does not cleanup its environment when it starts. In replica4, there were some secret.db-wal and secret.db-shm which persisted after btsync.exe was shut down. I tried starting it up again, then shutting it down again. Those files where still there. I moved them out of the original folder, then run again btsync.exe and synchronization was back at original speed when replica4 was connected to site1. I shut it then down again to verify that only secret.db files persisted.
  23. @RomanZ Assuming replica1, replica2, and replica4 are in site1. replica1 and replica2 actually list three peers each, but nothing is transferred from replica4. Both show delta is not empty and even the large file is listed in the detail view of delta, but file is actually never transferred from replica4. Yes, if I add a file to replica4 it is transferred immediately to replica1, replica2 and, slowly, to replica3.
  24. Perhaps using old FtpDrive. But you'd need another host.
  25. @RomanZ site1: WAN1replica1: LANreplica2: LAN(replica4: LAN)site2: WAN1, WAN2replica3: LAN(replica4: LAN) replica4 is a laptop. What I see is: connect replica4 to site2's LAN (wired 1Gbps);add large file to replica3;replica4 synchronizes in minutes from replica3;slow synchronization begins to replica1 and replica2;move replica4 to site1 and connect to site1's LAN (wired FastEthernet);replica1 and replica2 can see replica4 (LAN discovery enabled)replica1 and replica2 go on synchronizing the large file from replica3 (slow speed) instead of getting it at full wire speed from replica4